• No se han encontrado resultados

Un problema de programación cónica se puede expresar genéricamente de la siguiente forma:

N/A
N/A
Protected

Academic year: 2021

Share "Un problema de programación cónica se puede expresar genéricamente de la siguiente forma:"

Copied!
6
0
0

Texto completo

(1)

⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ ≥ ℜ ∈ = ≡

= n i i n n x x x 2 2 1 / l κ

{

,

}

, min cTxAx= xb ∈κ

C

C

AAPPÍÍTTUULLOO

3

3

P

P

RROOGGRRAAMMAACCIIÓÓNNCCÓÓNNIICCAA

La optimización matemática ha sido uno de los campos de investigación más trabajados en los últimos tiempos. Esto ha dado lugar a grandes avances en poco tiempo. En concreto se ha avanzado muchísimo en el área de programación convexa desarrollándose algoritmos muy eficientes basados en el método del punto interior para conos convexos. Unido todo esto a la tremenda progresión de la capacidad de cálculo de los ordenadores, hace que hoy en día se puedan resolver problemas que hace unos años 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 programación cónica que son justamente aquellos que han supuesto la más reciente revolución dentro de la optimización moderna. De esta forma, reconociendo la estructura convexa de un problema y pudiéndolo expresar como un programa cónico podemos garantizar un eficiente proceso de solución para el mismo.

3.1 DUALIDAD Y CONCEPTOS BÁSICOS DE LA TEORÍA DE PROGRAMACIÓN CÓNICA.

Un problema de programación cónica se puede expresar genéricamente de la siguiente forma:

(3.1)

también llamado problema primal de la programación cónica, donde xn es el

vector de variables de decisión, cn,bm,Anxm son datos conocidos

referentes al problema y κ nes un cono convexo, cerrado con un interior no vacío.

Los conos más 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 condición de rotura de Drucker-Prager (2.8) y por lo tanto será el que emplearemos para la resolución del problema de optimización. El cono de Lorentz se expresa de forma genérica como sigue:

(3.2)

De una forma más genérica, se puede tomar el cono como κ =

{

xn xfκ0

}

, donde

{ }

fκ define una operación de ordenación parcial de vectores en ℜ para el cono n

(2)

{

,

}

, max bT yATy+s=c s∈κ*

A partir de las propiedades básicas de los reales sobre la definición de nuestro cono, como por ejemplo, reflexividad, antisimetría, transitividad y compatibilidad con operaciones lineales, podemos llegar a afirmar que todo programa cónico puede ser escrito exactamente como un programa lineal reemplazando la desigualdad ≥ por el operador de ordenación parcial

{ }

fκ correspondiente a nuestro cono. Así podremos ahora manipular nuestro cono tomando duales y operar con cualquier programa cónico como si fuera uno lineal:

(3.3) donde A, b y c son los mismos parámetros que definen la estructura del problema primal (3.1). El problema (3.3) es también el comúnmente llamado problema dual de (3.1), donde κ* es el cono dual de κ, también convexo, cerrado y con un interior no vacío.

Basándonos en el teorema de dualidad cónica podemos afirmar las siguientes propiedades del problema que tratamos:

1. Dualidad simétrica: el dual del dual es el primal.

2. Dualidad débil: bTycTx para cada par primal-dual factible (x,y).

x1

x3

x2

(3)

3.1. Si el primal es acotado inferiormente y estrictamente factible, entonces el dual tiene solución y los valores óptimos son idénticos.

3.2. Si el dual es acotado superiormente y estrictamente factible, entonces el primal tiene solución y los valores óptimos son idénticos.

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 sólo si tenemos:

5. Un intervalo de dualidad cero: bTy=cTx, ó

6. Debilidad complementaria: xT(ATyc)= xTs=0.

3.2 ALGORITMOS DE PUNTO INTERIOR PARA UN PRIMAL-DUAL FACTIBLE, PARTICULARIZADOS PARA PROGRAMACIÓN CÓNICA DE SEGUNDO ORDEN (SOCP).

Con los métodos de punto interior [23] se encuentra una solución óptima mientras nos movemos en el interior del sistema factible, en contrapunto con la restricción de la búsqueda en los límites o contornos. Para evitar que el algoritmo alcance el límite o contorno se introduce una función barrera a la función coste, de esta forma, la función aumenta al infinito cuando alguna de las variables se aproxima al propio contorno. Con todo esto, en la actualidad, el método de punto interior para un primal-dual es el método elegido en la mayoría 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 método del punto interior explota la dualidad del problema, de tal forma que la búsqueda de direcciones de optimización se computan en los espacios factibles primal y dual. El punto de salida son los problemas primal y dual siguientes a la optimización de la función barrera, derivados del primal y el dual:

(Primal) min

{

cTx+ B (x)Ax=b

}

, κ µ (3.4) (Dual) max

{

bT y B *(s)ATy+s=c

}

, κ µ (3.5)

donde µ es un parámetro positivo y Bκ,

*

κ

B son las funciones barrera que evitan que x y s salgan de sus respectivos conos de restricción. Para cualquier µ>0, a partir de (3.4) y (3.5) obtenemos una única solución óptima (x*(µ),y*(µ),s*(µ)), la cual difiere de la solución 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 pequeña resulte insignificante en prácticamente 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 analítico

(4)

= − = ∇ r i k i n k i n T k i k J s s J s s B i i 1 , , , ) ( 2 ) (

= ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ − = ∇ r i n ik n T k i n T k i k i n k i n T k i k i i i i i J s J s J s s J s J s s B 1 , , , , 2 , , 2 ) ( 2 ) ( ) ) (( 4 ) ( ⎪ ⎩ ⎪ ⎨ ⎧ = ∇ + = + = 0 )) ( ( ) ( ) ( ) ( ) ( µ µ µ µ µ µ κ s B x c s y A b Ax T ⎪ ⎩ ⎪ ⎨ ⎧ ∇ − − = ∇ + = + = ) ( ) ( 0 0 2 k k k k s k k k x k s k y T k x s B x d s B d d d A Ad µ µ

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 resolución 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 logarítmica. Es una gran ventaja el hecho de que para un programa cónico, siendo κ el producto cartesiano de distintos conos, la función 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 función estrictamente convexa sujeta a unas restricciones lineales que definen un conjunto factible y convexo, podemos afirmar que estamos tratando problemas de optimización convexa. De esta forma, la primera de las condiciones de optimización 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:

(3.6) Para resolver dicho sistema no lineal de ecuaciones será necesario un tratamiento mediante el método de Newton. Para ello podemos tomar el sistema como Η z( )=0 y un vector incógnita z=(x,y,s) que itere bajo el índice k, llegando a una expresión

0 ) ( )

(zk +∇H zk dk =

H , o, lo que es lo mismo en notación matricial:

(3.7) Donde el vector ( , , k) z k y k x d d

d es una dirección de búsqueda del primal-dual y

dónde tanto B(sk) como 2B(sk) adoptan las siguientes formas para el caso

genérico que nos interesa, que no es otro que el del cono de Lorentz:

(3.8)

(3.9) Para finalizar, se considerarán dentro del proceso iterativo que nos ocupa, dos actualizaciones. Estas serán concretamente las siguientes:

(5)

1. Actualización del vector solución a partir del de dirección de búsqueda de la siguiente forma: ( 1, 1, 1) ( , , k) s k k k y k k k x k k k k k y s x d y d s d x + + + = +α +β +β , donde αk y k

β son la medida de paso adecuada para que xk+1 y sk+1 continúen perteneciendo a sus respectivos conos κ y κ . *

2. Actualización del parámetro de barrera µk de forma proporcional a la

diferencia de resultados obtenida en la resolución del primal y del dual (discrepancia de dualidad), como sigue:

n s xk T k

k = ( )

µ .

De una forma resumida y esquemática se exponen a continuación 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 solución factible inicial z0=(x0,y0,s0) y una tolerancia de optimización ε >0.

2. Inicio del proceso con la solución 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 TsK, de lo contrario se prosigue.

4. Búsqueda de las direcciones óptimas mediante el Método de Newton para sistema no lineal a partir de (3.6), tomando

n s xk T k k = ( ) µ y obteniendo ( , , k) z k y k x d d d .

5. Actualización del vector solución mediante la expresión ) , , ( ) , , ( 1 1 1 k s k k k y k k k x k k k k k y s x d y d s d

x + + + = +α +β +β a partir de la previa obtención de

las adecuadas medidas de pasoαk y βk.

6. Fin de la iteración k e inicio de la iteración k+1 desde el segundo paso del algoritmo.

Dentro de este esquema expuesto, el paso más costoso es sin lugar a dudas aquel en que desarrollamos el método de Newton en búsqueda de direcciones de avance. Para resolver este punto generalmente se hace uso previamente de la ecuación complementaria de Schur para la obtención de la dirección k

y d : k k y kd Ar M =− (3.10)

donde Mk = AΠkAT y se calcula procediendo en tres fases separadas (construcción de

la matriz M , factorización de ésta mediante Cholesky y finalmente resolución k

(6)

3.3 “SOLVERS” DE PROGRAMACIÓN CÓNICA EMPLEADOS:SEDUMI Y SDPT3.

Como más adelante se demostrará, el problema de estado límite puede tratarse como un problema de programación cónica de segundo orden. Para llevar a cabo la resolución de estos problemas cónicos 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 código básico de ambos paquetes está escrito en Matlab (aunque también se ha empleado C+ y Fortran). Se trata de darles los datos de entrada del problema y una estructura K que defina las características 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.

Referencias

Documento similar

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

En cada antecedente debe considerarse como mínimo: Autor, Nombre de la Investigación, año de la investigación, objetivo, metodología de la investigación,

*Correctivo contingente *Correctivo programable.. El mantenimiento correctivo contingente se refiere a las actividades que se realizan en forma inmediata, debido a que algún

Proporcione esta nota de seguridad y las copias de la versión para pacientes junto con el documento Preguntas frecuentes sobre contraindicaciones y

[r]

Contraindicaciones: El uso de la mascarilla está contraindicado para los pacientes y los miembros de sus familias, profesionales sanitarios y compañeros de

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

El quincenario de los frailes de Filipinas, condena para el Archipiélago los propósitos de nivelación jurídica que para todo territorio español, peninsular o ultramarino, se