Anda di halaman 1dari 6

Evaluacin de Cotas Estrictas en Estado Lmite Captulo 3.

Programacin Cnica

CAPTULO 3
PROGRAMACIN CNICA
La optimizacin matemtica ha sido uno de los campos de investigacin ms
trabajados en los ltimos tiempos. Esto ha dado lugar a grandes avances en poco
tiempo. En concreto se ha avanzado muchsimo en el rea de programacin convexa
desarrollndose algoritmos muy eficientes basados en el mtodo del punto interior para
conos convexos. Unido todo esto a la tremenda progresin de la capacidad de clculo de
los ordenadores, hace que hoy en da se puedan resolver problemas que hace unos aos
resultaban imposibles de abordar.

El problema que se aborda en esta tesina se encuentra justamente en este conjunto


de problemas resolubles en la actualidad. Nos encontramos justamente con la necesidad
de resolver en este trabajo problemas de programacin cnica que son justamente
aquellos que han supuesto la ms reciente revolucin dentro de la optimizacin
moderna. De esta forma, reconociendo la estructura convexa de un problema y
pudindolo expresar como un programa cnico podemos garantizar un eficiente proceso
de solucin para el mismo.

3.1 DUALIDAD Y CONCEPTOS BSICOS DE LA TEORA DE PROGRAMACIN


CNICA.

Un problema de programacin cnica se puede expresar genricamente de la


siguiente forma:

{
min cT x Ax = b, x , } (3.1)

tambin llamado problema primal de la programacin cnica, donde x n es el


vector de variables de decisin, c n , b m , A nxm son datos conocidos
referentes al problema y n es un cono convexo, cerrado con un interior no vaco.
Los conos ms relevantes que satisfacen estas propiedades son:

- Octante positivo
- Cono de Lorentz o de segundo orden
- Cono positivo semidefinido

En este trabajo veremos que el cono de Lorentz, es el que mejor se adapta a la


condicin de rotura de Drucker-Prager (2.8) y por lo tanto ser el que emplearemos para
la resolucin del problema de optimizacin. El cono de Lorentz se expresa de forma
genrica como sigue:

n
l n = x n / x1

x
i=2
2
i

(3.2)

De una forma ms genrica, se puede tomar el cono como = x n xf 0 , { }


donde {f } define una operacin de ordenacin parcial de vectores en para el cono n

Pgina 16 de 89
Evaluacin de Cotas Estrictas en Estado Lmite Captulo 3. Programacin Cnica

x1

x2 x3

Figura 3-1: Representacin del cono de Lorentz en un espacio 3 .

A partir de las propiedades bsicas de los reales sobre la definicin de nuestro


cono, como por ejemplo, reflexividad, antisimetra, transitividad y compatibilidad con
operaciones lineales, podemos llegar a afirmar que todo programa cnico puede ser
escrito exactamente como un programa lineal reemplazando la desigualdad por el
operador de ordenacin parcial {f } correspondiente a nuestro cono. As podremos
ahora manipular nuestro cono tomando duales y operar con cualquier programa cnico
como si fuera uno lineal:

{
max bT y AT y + s = c, s * ,} (3.3)

donde A, b y c son los mismos parmetros que definen la estructura del problema primal
(3.1). El problema (3.3) es tambin el comnmente llamado problema dual de (3.1),
donde * es el cono dual de , tambin convexo, cerrado y con un interior no vaco.

Basndonos en el teorema de dualidad cnica podemos afirmar las siguientes


propiedades del problema que tratamos:

1. Dualidad simtrica: el dual del dual es el primal.

2. Dualidad dbil: b T y c T x para cada par primal-dual factible (x,y).

Pgina 17 de 89
Evaluacin de Cotas Estrictas en Estado Lmite Captulo 3. Programacin Cnica

3.1. Si el primal es acotado inferiormente y estrictamente factible, entonces el


dual tiene solucin y los valores ptimos son idnticos.

3.2. Si el dual es acotado superiormente y estrictamente factible, entonces el


primal tiene solucin y los valores ptimos son idnticos.

4. Se asume que al menos uno de los dos problemas, primal o dual, es acotado y
estrictamente factible.

Por lo tanto, un par factible primal-dual (x,y) es un par de soluciones ptimas si y


slo si tenemos:

5. Un intervalo de dualidad cero: b T y = c T x ,

6. Debilidad complementaria: x T ( AT y c) = x T s = 0 .

3.2 ALGORITMOS DE PUNTO INTERIOR PARA UN PRIMAL-DUAL FACTIBLE,


PARTICULARIZADOS PARA PROGRAMACIN CNICA DE SEGUNDO ORDEN (SOCP).

Con los mtodos de punto interior [23] se encuentra una solucin ptima mientras
nos movemos en el interior del sistema factible, en contrapunto con la restriccin de la
bsqueda en los lmites o contornos. Para evitar que el algoritmo alcance el lmite o
contorno se introduce una funcin barrera a la funcin coste, de esta forma, la funcin
aumenta al infinito cuando alguna de las variables se aproxima al propio contorno. Con
todo esto, en la actualidad, el mtodo de punto interior para un primal-dual es el mtodo
elegido en la mayora de aplicaciones comerciales, gracias a su funcionamiento
excelente en usos a gran escala y, especialmente, con presencia de matrices grandes con
pocos elementos no nulos como es el caso que nos ocupa.

El mtodo del punto interior explota la dualidad del problema, de tal forma que la
bsqueda de direcciones de optimizacin se computan en los espacios factibles primal
y dual. El punto de salida son los problemas primal y dual siguientes a la optimizacin
de la funcin barrera, derivados del primal y el dual:

(Primal) min{c T x + B ( x) Ax = b}, (3.4)


{
(Dual) max b T y B * ( s ) AT y + s = c ,} (3.5)

donde es un parmetro positivo y B , B * son las funciones barrera que evitan que x
y s salgan de sus respectivos conos de restriccin. Para cualquier >0, a partir de (3.4)
y (3.5) obtenemos una nica solucin ptima ( x * ( ) , y * ( ), s * ( ) ), la cual difiere de la
solucin de (3.1) y (3.3), ( x * , y * , s * ). A partir de estos resultados se trata de hacer
tender progresivamente a 0, de forma que cuando sta sea sensiblemente pequea
resulte insignificante en prcticamente todos los puntos, exceptuando aquellos que se
encuentran en el contorno. Cabe destacar, que a medida que decrece, los
minimizadores x( ) y s( ) describen dentro de sus correspondientes espacios
factibles, una trayectoria llamada camino central, el cual se inicia en el centro analtico
(que se corresponde con = ) y finaliza en los valores ptimos x * y s * .

Pgina 18 de 89
Evaluacin de Cotas Estrictas en Estado Lmite Captulo 3. Programacin Cnica

Es importante comentar que existen funciones barrera muy apropiadas para los
conos que estamos considerando. Concretamente cabe destacar un tipo de funciones
barrera que son continuas, tres veces diferenciables y estrictamente convexas,
consiguiendo con ellas resultados eficientes en la resolucin del problema, llamadas
funciones barrera self-concordant. Para cada uno de los conos que se han presentado
anteriormente tenemos una de las anteriores funciones barrera en forma logartmica. Es
una gran ventaja el hecho de que para un programa cnico, siendo el producto
cartesiano de distintos conos, la funcin barrera resultante ser justamente el sumatorio
de cada una de las funciones barrera para cada uno de los mencionados conos.

Desde el momento en que optimizamos una funcin estrictamente convexa sujeta


a unas restricciones lineales que definen un conjunto factible y convexo, podemos
afirmar que estamos tratando problemas de optimizacin convexa. De esta forma, la
primera de las condiciones de optimizacin de Karush-Kuhn-Tucker ser necesaria y
suficiente para nuestro problema. Aplicando, por tanto, dichas condiciones y
construyendo las funciones Lagrangianas para ambos problemas podemos llegar a
obtener el siguiente sistema de ecuaciones para una dada:

Ax ( ) = b

A y( ) + s( ) = c
T
(3.6)
x( ) + B ( s ( )) = 0

Para resolver dicho sistema no lineal de ecuaciones ser necesario un tratamiento


mediante el mtodo de Newton. Para ello podemos tomar el sistema como ( z ) = 0 y
un vector incgnita z=(x,y,s) que itere bajo el ndice k, llegando a una expresin
H ( z k ) + H ( z k )d k = 0 , o, lo que es lo mismo en notacin matricial:

Ad xk = 0

AT d yk + d sk = 0
(3.7)
d k + k 2 B ( s k ) d k = x k k B ( s k )
x s

Donde el vector (d xk , d yk ,d kz ) es una direccin de bsqueda del primal-dual y


dnde tanto B( s k ) como 2 B( s k ) adoptan las siguientes formas para el caso
genrico que nos interesa, que no es otro que el del cono de Lorentz:

r
2
B ( s k ) = i ,k T i ,k
J ni s i , k (3.8)
i =1 ( s ) J ni s

r
4 2
2 B ( s k ) = i ,k T i ,k 2
J ni s i , k ( s i , k ) T J ni i , k T i ,k
J ni (3.9)
(( s ) J ni s )
i =1 ( s ) J ni s

Para finalizar, se considerarn dentro del proceso iterativo que nos ocupa, dos
actualizaciones. Estas sern concretamente las siguientes:

Pgina 19 de 89
Evaluacin de Cotas Estrictas en Estado Lmite Captulo 3. Programacin Cnica

1. Actualizacin del vector solucin a partir del de direccin de bsqueda de la


siguiente forma: ( x k +1 , y k +1 , s k +1 ) = ( x k + k d xk , y k + k d yk , s k + k d sk ) , donde k y
k son la medida de paso adecuada para que x k +1 y s k +1 continen perteneciendo a sus
respectivos conos y * .

2. Actualizacin del parmetro de barrera k de forma proporcional a la


diferencia de resultados obtenida en la resolucin del primal y del dual (discrepancia de
( x k )T s k
dualidad), como sigue: k = .
n

De una forma resumida y esquemtica se exponen a continuacin los principales


pasos que se deben seguir en el desarrollo de este algoritmo de punto interior para un
problema de primal-dual factible:

1. Datos de entrada: datos del problema (A,b,c), una solucin factible inicial
z =(x ,y0,s0) y una tolerancia de optimizacin > 0 .
0 0

2. Inicio del proceso con la solucin inicial (x0,y0,s0) m * con Ax = b y


ATy +s = c

3. Test de optimalidad mediante un if/else. Paramos el proceso para ( x k ) T s K < ,


de lo contrario se prosigue.

4. Bsqueda de las direcciones ptimas mediante el Mtodo de Newton para


( x k )T s k
sistema no lineal a partir de (3.6), tomando k = y obteniendo (d xk , d yk ,d kz ) .
n

5. Actualizacin del vector solucin mediante la expresin


(x k +1
, y , s ) = ( x + d x , y + d y , s + d s ) a partir de la previa obtencin de
k +1 k +1 k k k k k k k k k

las adecuadas medidas de paso k y k .

6. Fin de la iteracin k e inicio de la iteracin k+1 desde el segundo paso del


algoritmo.

Dentro de este esquema expuesto, el paso ms costoso es sin lugar a dudas aquel
en que desarrollamos el mtodo de Newton en bsqueda de direcciones de avance. Para
resolver este punto generalmente se hace uso previamente de la ecuacin
complementaria de Schur para la obtencin de la direccin d yk :

M k d yk = Ar k (3.10)

donde M k = A k AT y se calcula procediendo en tres fases separadas (construccin de


la matriz M k , factorizacin de sta mediante Cholesky y finalmente resolucin
mediante el algoritmo Mehrotra [24]).

Pgina 20 de 89
Evaluacin de Cotas Estrictas en Estado Lmite Captulo 3. Programacin Cnica

3.3 SOLVERS DE PROGRAMACIN CNICA EMPLEADOS: SEDUMI Y SDPT3.

Como ms adelante se demostrar, el problema de estado lmite puede tratarse


como un problema de programacin cnica de segundo orden. Para llevar a cabo la
resolucin de estos problemas cnicos se han utilizado dos paquetes de rutinas en
Matlab de uso libre: SeDuMi [20,21] y SDPT3 [22] que emplean los algoritmos vistos
en este apartado. El cdigo bsico de ambos paquetes est escrito en Matlab (aunque
tambin se ha empleado C+ y Fortran). Se trata de darles los datos de entrada del
problema y una estructura K que defina las caractersticas del cono a tratar.

En el siguiente apartado de la tesina veremos como discretizar y tratar nuestro


problema continuo y como llegar a obtener un sistema matricial no lineal de ecuaciones
que permita ser tratado mediante los algoritmos vistos con los programas SeDuMi y
SDPT3.

Pgina 21 de 89

Anda mungkin juga menyukai