Otimização convexa - Convex optimization
Otimização convexa é um subcampo da otimização matemática que estuda o problema de minimizar funções convexas sobre conjuntos convexos . Muitas classes de problemas de otimização convexa admitem algoritmos de tempo polinomial, enquanto a otimização matemática é geralmente NP-difícil .
A otimização convexa tem aplicações em uma ampla gama de disciplinas, como sistemas de controle automático , estimativa e processamento de sinais , comunicações e redes, projeto de circuitos eletrônicos , análise e modelagem de dados, finanças , estatísticas ( projeto experimental ideal ) e otimização estrutural , onde o conceito de aproximação tem se mostrado eficiente. Com os avanços recentes em algoritmos de computação e otimização , a programação convexa é quase tão direta quanto a programação linear .
Definição
Um problema de otimização convexa é um problema de otimização em que a função objetivo é uma função convexa e o conjunto viável é um conjunto convexo . Uma função de mapeamento de alguns subconjuntos de dentro é convexa se o seu domínio é convexa e para todos e todos no seu domínio, a seguinte condição: . Um conjunto S é convexo se, para todos os membros e todos , tivermos isso .
Concretamente, um problema de otimização convexa é o problema de encontrar algum consecução
- ,
onde a função objetivo é convexa, como é o conjunto viável . Se tal ponto existe, ele é referido como um ponto ideal ou solução ; o conjunto de todos os pontos ótimos é chamado de conjunto ótimo . Se for ilimitado abaixo ou se o mínimo não for atingido, o problema de otimização é considerado ilimitado . Caso contrário, se for o conjunto vazio, o problema é considerado inviável .
Forma padrão
Um problema de otimização convexa está na forma padrão se for escrito como
onde é a variável de optimização, a função é convexa, , , são convexos, e , , são afim . Esta notação descreve o problema de encontrar que minimiza entre todos satisfazendo , e , . A função é a função objetivo do problema, e as funções e são as funções de restrição.
O conjunto viável do problema de otimização consiste em todos os pontos que satisfazem as restrições. Este conjunto é convexo porque é convexo, os conjuntos de subnível de funções convexas são convexos, os conjuntos afins são convexos e a interseção de conjuntos convexos é convexa.
Uma solução para um problema de otimização convexa é atingir qualquer ponto . Em geral, um problema de otimização convexa pode ter zero, uma ou várias soluções.
Muitos problemas de otimização podem ser formulados de forma equivalente neste formulário padrão. Por exemplo, o problema de maximizar uma função côncava pode ser reformulado de forma equivalente ao problema de minimizar a função convexa . O problema de maximizar uma função côncava sobre um conjunto convexo é comumente chamado de problema de otimização convexa.
Propriedades
A seguir estão propriedades úteis de problemas de otimização convexa:
- todo mínimo local é um mínimo global ;
- o conjunto ótimo é convexo;
- se a função objetivo for estritamente convexa, o problema terá no máximo um ponto ótimo.
Esses resultados são usados pela teoria da minimização convexa junto com noções geométricas da análise funcional (em espaços de Hilbert), como o teorema da projeção de Hilbert , o teorema do hiperplano de separação e o lema de Farkas .
Formulários
Ben-Hain e Elishakoff (1990), Elishakoff et al. (1994) aplicou a análise convexa para modelar a incerteza .
As seguintes classes de problemas são todos problemas de otimização convexa ou podem ser reduzidas a problemas de otimização convexa por meio de transformações simples:
- Mínimos quadrados
- Programação linear
- Minimização quadrática convexa com restrições lineares
- Minimização quadrática com restrições quadráticas convexas
- Otimização cônica
- Programação geométrica
- Programação de cone de segunda ordem
- Programação semidefinida
- Maximização de entropia com restrições apropriadas
A otimização convexa tem aplicações práticas para o seguinte.
- otimização de portfólio
- análise de risco do pior caso
- publicidade ótima
- variações de regressão estatística (incluindo regularização e regressão de quantis )
- ajuste de modelo (particularmente classificação multiclasse )
- otimização de geração de eletricidade
- otimização combinatória
Multiplicadores de Lagrange
Considere um problema de minimização convexa dado na forma padrão por uma função de custo e restrições de desigualdade para . Então o domínio é:
A função Lagrangiana para o problema é
Para cada ponto em que minimiza mais , existem números reais chamados multiplicadores de Lagrange , que satisfazem estas condições simultaneamente:
- minimiza sobre tudo
- com pelo menos um
- (folga complementar).
Se existe um "ponto estritamente viável", ou seja, um ponto que satisfaça
então a declaração acima pode ser reforçada para exigir isso .
Por outro lado, se algum em satisfaz (1) - (3) para escalares com, então certamente minimizará over .
Algoritmos
A otimização convexa irrestrita pode ser facilmente resolvida com a descida gradiente (um caso especial de descida mais íngreme ) ou o método de Newton , combinado com a busca em linha para um tamanho de passo apropriado; pode-se provar matematicamente que estes convergem rapidamente, especialmente o último método. A otimização convexa com restrições de igualdade linear também pode ser resolvida usando técnicas de matriz KKT se a função objetivo for uma função quadrática (que generaliza para uma variação do método de Newton, que funciona mesmo se o ponto de inicialização não satisfaz as restrições), mas também pode geralmente resolvido eliminando as restrições de igualdade com álgebra linear ou resolvendo o problema dual. Finalmente, a otimização convexa com restrições de igualdade linear e restrições de desigualdade convexa pode ser resolvida aplicando uma técnica de otimização convexa irrestrita à função objetivo mais os termos de barreira logarítmica . (Quando o ponto de partida não é viável - isto é, satisfazendo as restrições - isso é precedido pelos chamados métodos da fase I , que localizam um ponto viável ou mostram que não existe. Os métodos da Fase I geralmente consistem em reduzir a pesquisa em questão a outro problema de otimização convexa.)
Problemas de otimização convexa também podem ser resolvidos pelos seguintes métodos contemporâneos:
- Métodos de pacote (Wolfe, Lemaréchal, Kiwiel) e
- Métodos de projeção de subgradiente (Polyak),
- Métodos de ponto interior , que fazem uso de funções de barreira auto-concordantes e funções de barreira auto-regulares.
- Métodos de plano de corte
- Método elipsóide
- Método de subgradiente
- Subgradientes duplos e o método drift-plus-penalty
Os métodos de subgradiente podem ser implementados de forma simples e, portanto, são amplamente usados. Os métodos de subgradiente duplo são métodos de subgradiente aplicados a um problema duplo . O método de deriva mais penalidade é semelhante ao método de subgradiente duplo, mas leva uma média de tempo das variáveis primárias.
Implementações
Otimização convexa e algoritmos relacionados foram implementados nos seguintes programas de software:
Programa | Língua | Descrição | FOSS ? | Ref |
---|---|---|---|---|
CVX | MATLAB | Interfaces com solucionadores SeDuMi e SDPT3; projetado para expressar apenas problemas de otimização convexa. | sim | |
CVXMOD | Pitão | Interface com o solver CVXOPT. | sim | |
CVXPY | Pitão | |||
CVXR | R | sim | ||
YALMIP | MATLAB | Interfaces com os solucionadores CPLEX, GUROBI, MOSEK, SDPT3, SEDUMI, CSDP, SDPA, PENNON; também suporta otimização inteira e não linear, e alguma otimização não convexa. Pode realizar otimização robusta com incerteza nas restrições LP / SOCP / SDP. | sim | |
Laboratório LMI | MATLAB | Expressa e resolve problemas de programação semidefinida (chamados de "desigualdades matriciais lineares") | Não | |
Tradutor LMIlab | Transforma problemas de laboratório de LMI em problemas de SDP. | sim | ||
xLMI | MATLAB | Semelhante ao laboratório LMI, mas usa o solucionador SeDuMi. | sim | |
AIMMS | Pode fazer otimização robusta em programação linear (com MOSEK para resolver a programação de cone de segunda ordem) e programação linear inteira mista . Pacote de modelagem para LP + SDP e versões robustas. | Não | ||
ROMA | Sistema de modelagem para otimização robusta. Suporta otimização distribuída robusta e conjuntos de incertezas . | sim | ||
GLOPTIPOLY | MATLAB | sim | ||
SOSTOOLS | Sistema de modelagem para otimização polinomial . Usa SDPT3 e SeDuMi. Requer caixa de ferramentas de computação simbólica. | sim | ||
SparsePOP | Sistema de modelagem para otimização polinomial. Usa os solucionadores SDPA ou SeDuMi. | sim | ||
CPLEX | Suporta métodos primal-duais para LP + SOCP. Pode resolver LP, QP, SOCP e problemas de programação linear inteira mista. | Não | ||
CSDP | C | Suporta métodos primal-duais para LP + SDP. Interfaces disponíveis para MATLAB, R e Python. Versão paralela disponível. Solucionador SDP. | sim | |
CVXOPT | Pitão | Suporta métodos primal-duais para LP + SOCP + SDP. Usa escala de Nesterov-Todd. Interfaces para MOSEK e DSDP. | sim | |
MOSEK | Suporta métodos primal-duais para LP + SOCP. | Não | ||
SeDuMi | MATLAB, MEX | Resolve LP + SOCP + SDP. Suporta métodos primal-duais para LP + SOCP + SDP. | sim | |
SDPA | C ++ | Resolve LP + SDP. Suporta métodos primal-duais para LP + SDP. Versões paralelizadas e de precisão estendida estão disponíveis. | sim | |
SDPT3 | MATLAB, MEX | Resolve LP + SOCP + SDP. Suporta métodos primal-duais para LP + SOCP + SDP. | sim | |
ConicBundle | Suporta códigos de uso geral para LP + SOCP + SDP. Usa um método de pacote. Suporte especial para restrições SDP e SOCP. | sim | ||
DSDP | Suporta códigos de uso geral para LP + SDP. Usa um método de ponto interno duplo. | sim | ||
LOQO | Oferece suporte a códigos de uso geral para SOCP, que trata como um problema de programação não linear. | Não | ||
PENNON | Suporta códigos de uso geral. Usa um método Lagrangiano aumentado, especialmente para problemas com restrições SDP. | Não | ||
SDPLR | Suporta códigos de uso geral. Usa fatoração de baixa classificação com um método Lagrangiano aumentado. | sim | ||
GAMS | Sistema de modelagem para problemas de programação linear, não linear, linear / não linear inteiro misto e cone de segunda ordem. | Não | ||
Gloptipoly3 | Sistema de modelagem para otimização polinomial. | sim | ||
Serviços de Otimização | Padrão XML para problemas e soluções de otimização de codificação. |
Extensões
Extensões de otimização convexa incluem a otimização de funções biconvexas , pseudo-convexas e quase -convexas . Extensões da teoria da análise convexa e métodos iterativos para resolver aproximadamente problemas de minimização não convexa ocorrem no campo da convexidade generalizada , também conhecida como análise convexa abstrata.
Veja também
Notas
- ^ a b Nesterov & Nemirovskii 1994
- ^ Murty, Katta; Kabadi, Santosh (1987). "Alguns problemas NP-completos em programação quadrática e não linear". Programação matemática . 39 (2): 117–129. doi : 10.1007 / BF02592948 . hdl : 2027,42 / 6740 . S2CID 30500771 .
- ^ Sahni, S. "Computationally related problems," in SIAM Journal on Computing, 3, 262--279, 1974.
- ^ A programação quadrática com um autovalor negativo é NP-difícil , Panos M. Pardalos e Stephen A. Vavasis em Journal of Global Optimization , Volume 1, Número 1, 1991, pág.15-22.
- ^ Boyd & Vandenberghe 2004 , p. 17
- ^ Chritensen / Klarbring, cap. 4
- ^ Boyd & Vandenberghe 2004
- ^ Schmit, LA; Fleury, C. 1980: Síntese estrutural combinando conceitos de aproximação e métodos duais . J. Amer. Inst. Aeronauta. Astronauta 18, 1252-1260
- ^ Boyd & Vandenberghe 2004 , p. 8
- ^ Hiriart-Urruty, Jean-Baptiste; Lemaréchal, Claude (1996). Análise convexa e algoritmos de minimização: fundamentos . p. 291. ISBN 9783540568506.
- ^ Ben-Tal, Aharon; Nemirovskiĭ, Arkadiĭ Semenovich (2001). Aulas sobre otimização convexa moderna: análises, algoritmos e aplicações de engenharia . pp. 335-336. ISBN 9780898714913.
- ^ a b c d Boyd & Vandenberghe 2004 , chpt. 4
- ^ Boyd & Vandenberghe 2004 , cap. 2
- ^ Rockafellar, R. Tyrrell (1993). "Multiplicadores de Lagrange e otimização" (PDF) . Revisão do SIAM . 35 (2): 183–238. CiteSeerX 10.1.1.161.7209 . doi : 10.1137 / 1035044 .
- ^ Ben Haim Y. e Elishakoff I., Modelos convexos de incerteza em mecânica aplicada, Elsevier Science Publishers, Amsterdã, 1990
- ^ I. Elishakoff, I. Lin YK e Zhu LP, Probabilistic and Convex Modeling of Acoustically Excited Structures, Elsevier Science Publishers, Amsterdam, 1994
- ^ Agrawal, Akshay; Verschueren, Robin; Diamond, Steven; Boyd, Stephen (2018). "Um sistema de reescrita para problemas de otimização convexa" (PDF) . Controle e decisão . 5 (1): 42–60. arXiv : 1709.04494 . doi : 10.1080 / 23307706.2017.1397554 . S2CID 67856259 .
- ^ a b c d e Boyd, Stephen; Diamond, Stephen; Zhang, Junzi; Agrawal, Akshay. "Aplicativos de otimização convexa" (PDF) . Recuperado em 12 de abril de 2021 .
- ^ a b c Malick, Jérôme (2011-09-28). "Otimização convexa: aplicações, formulações, relaxamentos" (PDF) . Recuperado em 12 de abril de 2021 .
- ^ a b c d Boyd, Stephen; Vandenberghe, Lieven (2004). Otimização convexa (PDF) . Cambridge University Press . ISBN 978-0-521-83378-3. Recuperado em 12 de abril de 2021 .
- ^ Para métodos de minimização convexa, consulte os volumes de Hiriart-Urruty e Lemaréchal (pacote) e os livros de Ruszczyński , Bertsekas e Boyd e Vandenberghe (ponto interior).
- ^ Nesterov, Yurii; Arkadii, Nemirovskii (1995). Algoritmos Polinomiais de Ponto Interior em Programação Convexa . Society for Industrial and Applied Mathematics. ISBN 978-0898715156.
- ^ Peng, Jiming; Roos, Cornelis; Terlaky, Tamás (2002). "Funções auto-regulares e novas direções de pesquisa para otimização linear e semidefinida". Programação matemática . 93 (1): 129–171. doi : 10.1007 / s101070200296 . ISSN 0025-5610 . S2CID 28882966 .
- ^ Bertsekas
- ^ a b c d e f g h i j k l m n o p q r s t u v w x y z Borchers, Brian. "Uma visão geral do software para otimização convexa" (PDF) . Arquivado do original (PDF) em 18/09/2017 . Recuperado em 12 de abril de 2021 .
- ^ "Bem-vindo à documentação CVXPY 1.1 - CVXPY 1.1.11" . www.cvxpy.org . Recuperado em 2021-04-12 .
- ^ "Otimização Convexa Disciplinada - CVXR" . www.cvxgrp.org . Recuperado em 2021-06-17 .
Referências
- Bertsekas, Dimitri P .; Nedic, Angelia; Ozdaglar, Asuman (2003). Análise e otimização convexa . Belmont, MA: Athena Scientific. ISBN 978-1-886529-45-8.
- Bertsekas, Dimitri P. (2009). Teoria da Otimização Convexa . Belmont, MA: Athena Scientific. ISBN 978-1-886529-31-1.
- Bertsekas, Dimitri P. (2015). Algoritmos de otimização convexa . Belmont, MA: Athena Scientific. ISBN 978-1-886529-28-1.
- Borwein, Jonathan; Lewis, Adrian (2000). Análise convexa e otimização não linear: teoria e exemplos, segunda edição (PDF) . Springer . Recuperado em 12 de abril de 2021 .
- Christensen, Peter W .; Anders Klarbring (2008). Uma introdução à otimização estrutural . 153 . Springer Science & Business Media. ISBN 9781402086663.
- Hiriart-Urruty, Jean-Baptiste e Lemaréchal, Claude . (2004). Fundamentos da análise convexa . Berlim: Springer.
- Hiriart-Urruty, Jean-Baptiste; Lemaréchal, Claude (1993). Análise convexa e algoritmos de minimização, Volume I: Fundamentos . Grundlehren der Mathematischen Wissenschaften [Princípios Fundamentais das Ciências Matemáticas]. 305 . Berlim: Springer-Verlag. pp. xviii + 417. ISBN 978-3-540-56850-6. MR 1261420 .
- Hiriart-Urruty, Jean-Baptiste; Lemaréchal, Claude (1993). Análise convexa e algoritmos de minimização, Volume II: Teoria avançada e métodos de pacote . Grundlehren der Mathematischen Wissenschaften [Princípios Fundamentais das Ciências Matemáticas]. 306 . Berlim: Springer-Verlag. pp. xviii + 346. ISBN 978-3-540-56852-0. MR 1295240 .
- Kiwiel, Krzysztof C. (1985). Métodos de descida para otimização não diferenciável . Notas de aula em matemática. Nova York: Springer-Verlag. ISBN 978-3-540-15642-0.
- Lemaréchal, Claude (2001). "Relaxamento Lagrangiano". Em Michael Jünger e Denis Naddef (ed.). Otimização combinatória computacional: Artigos da Spring School realizada em Schloß Dagstuhl, de 15 a 19 de maio de 2000 . Notas de aula em Ciência da Computação. 2241 . Berlim: Springer-Verlag. pp. 112–156. doi : 10.1007 / 3-540-45586-8_4 . ISBN 978-3-540-42877-0. MR 1900016 . S2CID 9048698 .
- Nesterov, Yurii; Nemirovskii, Arkadii (1994). Métodos Polinomiais de Ponto Interior em Programação Convexa . SIAM.
- Nesterov, Yurii. (2004). Palestras introdutórias sobre otimização convexa , Kluwer Academic Publishers
- Rockafellar, RT (1970). Análise convexa . Princeton: Princeton University Press.
- Ruszczyński, Andrzej (2006). Otimização não linear . Princeton University Press.
- Schmit, LA; Fleury, C. 1980: Síntese estrutural pela combinação de conceitos de aproximação e métodos duais . J. Amer. Inst. Aeronauta. Astronauta 18, 1252-1260
links externos
- EE364a: Otimização convexa I e EE364b: Otimização convexa II , páginas iniciais do curso de Stanford
- 6.253: Convex Analysis and Optimization , uma página inicial do curso MIT OCW
- Brian Borchers, Uma visão geral do software para otimização convexa