Estou enfrentando o problema de encontrar o elipsóide ( B é uma matriz definida positiva simétrica) de volume máximo dentro de um conjunto convexo C dado como um conjunto de desigualdades lineares C = { x | a T i x ≤ b i , i = 1 , … , m } . Eu entendi como é formalizado como um problema de otimização convexa
min B , dBBCC= { x | umaTEux ≤ bEu, i = 1 , … , m }
como é apresentado em "Otimização convexa, Stephen Boyd e Lieven Vandenberghe, Cambridge University Press, 2004"[versão em pdf]. Minha abordagem seria usar métodos de pontos interiores, introduzir um parâmetro de precisão t > 0 e incorporar as restrições ao objetivo por meio de uma função de barreira logarítmica, conforme explicado no capítulo 11 do livro acima, e tentar minimizar o problema não controlado resultante
min B , d
minB , d[ logdet B- 1]st:| | B aEu| |2+ aTEud≤ bEu,i = 1 , … , m
t>0
Portanto, eu usaria derivadas parciais de
f:
∂fminB,d[logdetB−1−1t∑i=1mlog(bi−||Bai||2−aTid)]=f(B,d).
f
que é uma matriz e
∂f∂f∂B=B−1+1t∑i=1m⎛⎝⎜BaiaTi||Bai||bi−||Bai||2−aTid⎞⎠⎟
que é um vetor. E, a partir de um ponto inicial (viável)
(B0,d0),eu atualizaria iterativamente a solução real
(Bk,dk) deacordo com os derivados parciais negativos:
Bk+1=Bk-sB∂f(Bk,∂f∂d=1t∑i=1m(aibi−||Bai||2−aTid)
(B0,d0)(Bk,dk)
onde
sB>0e
sd>0Bk+1=Bk−sB∂f(Bk,dk)∂Bdk+1=dk−sd∂f(Bk,dk)∂d
sB>0sd>0são parâmetros de tamanho da etapa até que um critério de parada predefinido seja preenchido. \ Não tenho certeza se essa é uma maneira correta de resolver o problema? Parece-me muito estranho e não muito elegante. Não sou especialista em técnicas de otimização e não sei se reuni todos os ingredientes (derivadas parciais, método de ponto interior, minização sem restrições etc.) da maneira correta. Gostaria de saber como um especialista resolveria esse problema. No livro acima mencionado, esta tarefa foi mostrada como um exemplo de um problema convexo, mas, tanto quanto posso ver, havia um algoritmo explícito para resolver a tarefa. Embora eu ache que o Sr. Boyd tenha em algum lugar um script do Matlab em suas páginas para resolver a tarefa, mas quero entender as técnicas básicas antes de usar um algoritmo de "caixa preta". Parece haver outras abordagens em " Algoritmos polinomiais de pontos interiores em programação convexa; Yurii Nesterov e Arkadii Nemirovskii, SIAM estudam matemática aplicada; vol.13, 1994 "e" Sobre a complexidade de aproximar o elipsóide máximo inscrito para um politopo, Leonid G. Khachiyan e Michael J. Todd, Programação Matemática 61 (1993), 137-159 ", mas não os compreendo porque eles são escritos para técnico para mim.
A propósito: Como é o problema duplo do primeiro problema? E como é derivado?
desde já, obrigado