A otimização convexa em P?

8

Considere um problema de otimização convexa no formato

f0(x1,,xn)minfi(x1,,xn)0,i=1,,m

onde são funções convexas. Sem perda de generalidade, podemos assumir que é linear.f0,f1,,fmf0

Nesterov e Nemirovskii mencionam em seu livro "Algoritmos polinomiais de pontos interiores em programação convexa" que existe um algoritmo capaz de resolver qualquer programa convexo em tempo polinomial no sentido a seguir. Queremos ter uma solução com uma precisão relativa ao custo de cálculos dos valores dos valores e cálculos dos subgradientes. Então, para o método elipsóide, alega-se queεO(p(n,m)ln(n/ε))O(q(n,m)ln(n/ε))

p(n,m)=n3(m+n),q(n,m)=n2

À primeira vista, isso parece implicar que um problema de otimização convexa pode ser resolvido em tempo polinomial usando o método elipsóide (vamos assumir por simplicidade que os oráculos para calcular os valores e os subgradientes requerem tempo para a classe considerada problemas de otimização convexos).O(1)

No entanto, eu não entendo totalmente se as expressões dependem de alguma forma das funções , por exemplo, de seus hessianos ou não. Nesse caso, a complexidade pode ter uma explosão exponencial devido às propriedades de curvatura das funções. Além disso, afirma-se misteriosamente que "o método elipsóide não funciona bem na prática". Parece não haver consenso na internet se a resposta à minha pergunta é afirmativa ou negativa; veja, por exemplo, esta discussão no MathOverflow.O()fi

Pesquisei todos os livros sobre otimização convexa que encontrei e tive a impressão de que esse realmente depende do problema, mas não consegui encontrar nenhuma confirmação clara dessa suposição. Portanto, minha única esperança é perguntar diretamente às pessoas que estão pesquisando neste campo.O()

Métodos de pontos interiores que foram desenvolvidos mais tarde parecem explicar explicitamente a curvatura usando a noção de barreiras auto-concordantes. Mas quando as pessoas dizem que esses métodos são eficientes na prática, geralmente não o especificam no nível de complexidade.

Sergey Dovgal
fonte
8
Essas questões (que podem ser sutis) são explicadas em detalhes no livro Algoritmos Geométricos e Otimização Combinatória de Groetschel, Lovasz e Schrijver. A resposta aproximada é que, com o método elipsóide 1) você obtém apenas uma solução aproximadamente viável e aproximadamente ótima; e 2) você precisa conhecer uma bola de raio que contém a região viável e o tempo de execução também depende de . Ignorando a complexidade de obter um gradiente, não deve haver outras dependências ocultas. RlogR
Sasho Nikolov
1
No meu caso, , então minha intuição é que os métodos de barreira podem funcionar em alguns casos, mesmo quando . Mas isso significa que não há teorema geral de que, independentemente de , exista um algoritmo polinomial? R=R=R
Sergey Dovgal 26/07/19
Por "métodos de barreira", quero dizer métodos do tipo de ponto interior que foram desenvolvidos após o método elipsóide por Nesterov, Nemirovskii et. al.
Sergey Dovgal 26/07/19
Eu acho que é verdade, sem alguns vinculados ao não há garantia de tempo polinomial genérica. Em muitos casos, quando a região viável é ilimitada, ainda é possível mostrar a priori que, se existe uma solução viável, existe uma das normas euclidianas no máximo , onde pode depender da complexidade de bits da entrada. Nesse caso, você pode apenas cruzar a região viável com a bola de raio centralizada na origem. RRRR
Sasho Nikolov

Respostas:

5

Em 1998, Michel X. Goemans fez uma palestra no ICM, na qual abordou esta questão: "Programas semidefinidos podem ser resolvidos (ou mais precisamente, aproximados) em tempo polinomial, dentro de qualquer precisão específica, pelo algoritmo elipsóide ou de forma mais eficiente algoritmos de ponto interior ... Os algoritmos acima produzem uma solução estritamente viável (ou ligeiramente inviável para algumas versões do algoritmo elipsóide) e, de fato, o problema de decidir se um programa semidefinido é viável (exatamente) ainda está aberto. Um caso especial de viabilidade de programação semidefinida é o problema da soma da raiz quadrada. A complexidade desse problema ainda está aberta. " http://garden.irmacs.sfu.ca/op/complexity_of_square_root_sum

Em 1976, Ron Graham, Michael Garey e David Johnson não conseguiram mostrar alguns problemas de otimização geométrica, como se o Problema do Vendedor Viajante Euclidiano é NP-completo (eles só podem mostrar que o problema é NP-difícil), a razão é que eles não poderiam mostre se o problema da soma da raiz quadrada é solucionável no tempo polinomial ou não. https://rjlipton.wordpress.com/2009/03/04/ron-graham-gives-a-talk/

O problema da soma da raiz quadrada é um problema aberto há muito tempo, que confunde estudiosos da geometria computacional, otimização, complexidade computacional, teoria dos jogos e algumas outras áreas, pois em algum momento elas descobrem que o principal obstáculo para seus problemas é lidar com elas. o problema da soma da raiz quadrada.

O progresso mais notável em relação a esse problema é de Eric Allender e seus coautores, em 2003, eles mostraram que esse problema está no 4º nível da Hierarquia de Contagem. http://ftp.cs.rutgers.edu/pub/allender/slp.pdf

Portanto, com base nos fatos acima, não é possível resolver o problema de otimização convexa no tempo polinomial (verdadeiro) com o método Ellipsoid e o método Point Interior.

A grande notação O é medir o tempo de execução do algoritmo na pior das hipóteses. No entanto, na prática, o pior caso pode ser um evento muito raro, por isso você não pode usá-lo para medir o desempenho prático.

Rupei Xu
fonte
Eu acho que minha pergunta precisa ser reformulada. O SDP é claramente um problema de otimização convexa (otimizando uma função convexa sobre um conjunto convexo), mas minha pergunta aponta especificamente para a forma padrão de otimização convexa, onde o conjunto convexo é definido pelo conjunto de desigualdades "a função convexa é negativa". Você acredita que a resposta para esse formulário específico (otimização convexa no formato padrão está em P) é desconhecida?
Sergey Dovgal 29/07/19
@SergeyDovgal Até onde eu sei, só podemos afirmar que a programação linear é solucionável em tempo polinomial. Para outros problemas de otimização convexos, se eles dependem da soma da raiz quadrada, não se pode afirmar que eles são realmente solucionáveis ​​em tempo polinomial.
Rupei Xu 30/07/19