Me enfrento con el problema de encontrar el elipsoide ( es una matriz definida positiva simétrica) de volumen máximo dentro de un conjunto convexo dado como un conjunto de desigualdades lineales . Comprendí cómo se formaliza como un problema de optimización convexa
como se da en "Convex Optimization, Stephen Boyd and Lieven Vandenberghe, Cambridge University Press, 2004" [versión pdf] . Mi enfoque sería utilizar métodos de punto interior, introducir un parámetro de precisión t> 0BBCC={x|aTix≤bi,i=1,…,m}
minB,d[logdetB−1]s.t.:||Bai||2+aTid≤bi,i=1,…,m
t>0e incorpore las restricciones en el objetivo a través de una función de barrera logarítmica como se explica en el capítulo 11 del libro anterior e intente minimizar el problema no
controlado resultante
\ min_ {B, d} \ quad \ underbrace {\ left [\ log \ det B ^ {-1} - \ frac {1} {t} \ sum_ {i = 1} ^ m \ log (b_i- || Ba_i || _2-a_i ^ Td) \ right]} _ {= f (B, d )}.
minB,d[logdetB−1−1t∑i=1mlog(bi−||Bai||2−aTid)]=f(B,d).
Por lo tanto, tomaría derivadas parciales de
f :
∂f∂B=B−1+1t∑i=1m⎛⎝⎜BaiaTi||Bai||bi−||Bai||2−aTid⎞⎠⎟
que es una matriz y
∂f∂d=1t∑i=1m(aibi−||Bai||2−aTid)
que es un vector. Y luego a partir de un punto inicial (factible)
(B0,d0)Actualizaría iterativamente la solución real
(Bk,dk) acuerdo con las derivadas parciales negativas:
Bk+1=Bk−sB∂f(Bk,dk)∂Bdk+1=dk−sd∂f(Bk,dk)∂d
donde
sB>0 y
sd>0son parámetros de tamaño de paso hasta que se cumple un criterio de detención predefinido. \ ¿No estoy seguro de si esta es una forma correcta de resolver el problema? Me parece muy incómodo y no muy elegante. No soy un experto en técnicas de optimización y no estoy seguro de poner todos los ingredientes (derivados parciales, método de punto interior, minización sin restricciones, etc.) juntos de la manera correcta. Me pregunto cómo un experto resolvería este problema. En el libro mencionado anteriormente, esta tarea se mostró como un ejemplo para un problema convexo, pero por lo que puedo ver, se proporcionó un algoritmo tan explícito para resolver la tarea. Aunque creo que el Sr. Boyd tiene en algún lugar un script de Matlab en sus páginas para resolver la tarea, pero quiero comprender las técnicas básicas primero antes de usar un algoritmo de "caja negra". Parece que hay otros enfoques en " Algoritmos polinómicos de punto interior en la programación convexa; Yurii Nesterov y Arkadii Nemirovskii, estudios SIAM en matemáticas aplicadas; vol.13, 1994 "y" Sobre la complejidad de aproximar el elipsoide máximo inscrito para un politopo, Leonid G. Khachiyan y Michael J. Todd, Mathematical Programming 61 (1993), 137-159 "pero no los entiendo porque Están escritos a técnicos para mí.
Por cierto: ¿Cómo se ve el problema dual del primer problema? ¿Y cómo se deriva?
Gracias por adelantado