Como tentar inteligentemente descartar a convexidade?

9

Quero minimizar uma função objetiva complicada e não tenho certeza se é convexa. Existe um bom algoritmo que tenta provar que não é convexo? É claro que o algoritmo poderia falhar em provar isso; nesse caso, eu não saberia se é convexo ou não, e isso está correto; Eu só quero tentar descartar a convexidade antes de gastar muito tempo tentando determinar analiticamente se a função objetivo é convexa, por exemplo, tentando reescrever o problema em um formulário padrão conhecido por ser convexo. Um teste rápido seria tentar minimizar a partir de vários pontos de partida e se vários mínimos locais forem encontrados dessa maneira, não será convexo. Mas eu queria saber se existe um algoritmo melhor que foi projetado com esse objetivo em mente.

MLE
fonte
A função objetivo é suave? É unidimensional? O segundo derivado (ou Hessiano) é caro para avaliar? Se possível, eu gostaria de ver a fórmula, ou pelo menos ter uma noção melhor de por que ela é "complicada".
precisa saber é o seguinte

Respostas:

10

f(αx+(1 1-α)y)αf(x)+(1 1-α)f(y)α(0 0,1 1)x,yx,yαα={1 1/4,1 1/2,3/4}

Wolfgang Bangerth
fonte
6

Para vários testes de verificação de convexidade / não-convexidade praticamente úteis, consulte (auto-exoneração de responsabilidade, sou o terceiro autor deste artigo):

R. Fourer, C. Maheshwari, A. Neumaier, D. Orban e H. Schichl, detecção de convexidade e concavidade em gráficos computacionais. Tree Walks for Convexity Assessment, INFORMS J. Computing 22 (2010), 26-43.

Observe que existem muitas funções que são convexas no domínio de interesse, mas que não podem ser facilmente 'disciplinadas', ou seja, escritas em uma das formas exigidas pelos solucionadores de convexos estruturados, como o CVX .

Arnold Neumaier
fonte
Isso é uma evolução do DrAmpl, Arnold?
Michael Grant
11
@ MichaelGrant: Sim, é a publicação oficial do material do Dr. AMPL.
Arnold Neumaier
2

Uma função pode ser não convexa sem ter múltiplos mínimos. Existem vários métodos de otimização que aplicam iterações de gradiente conjugado (linear ou não linear), truncadas quando uma norma negativa de operador é calculada. O valor negativo indica uma direção de curvatura negativa (o que não pode acontecer para funcionais convexos). Se a curvatura negativa raramente é encontrada, esses métodos convergem em um pequeno número de iterações de otimização. (Se um pré-condicionador de qualidade estiver disponível, as etapas internas também deverão convergir rapidamente.)

Jed Brown
fonte
2
Apenas para esclarecer, o que Jed se refere quando diz "é negativo" é que a matriz de segundas derivadas da função tem autovalores negativos.
Wolfgang Bangerth