Seminário Introdução à Otimização Convexa  Resolução de problemas utilizando CVX Guilherme Varela Barbosa Rodrigo Carneiro...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
Breve Histórico de Otimização 1939-1945:   A otimização teve início durante a 2 a   Guerra Mundial. 1947:   Início do inte...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
Otimização Harrel  et al.  (2000)  define otimização como o processo de tentar diferentes combinações de valores para vari...
Alguns métodos de otimização: <ul><li>Programação Linear </li></ul><ul><li>Programação Não-Linear </li></ul>
Programação Linear <ul><li>Distribuição eficiente de recursos limitados para atender um determinado objetivo. </li></ul><u...
Programação Linear 20 15 10 5 5  10 x y Figura 1:  Gráfico da função y = 2x Exemplo:   Função  y = 2x  ,  y = f(x)  ,  x =...
Programação Não-Linear <ul><li>Finalidade: resolver problemas que envolvem funções constituídas de variáveis que compartil...
Programação Não-Linear Figura 2:  Gráfico da função y = X 2 Exemplo:   Função  y =  x 2   ,  y = f(x)  ,  x =   Valores de...
De acordo com  Winston (2001),  para determinar se o problema de PNL possui solução ótima ou não, é necessário definir a f...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
Funções <ul><li>Função Convexa </li></ul><ul><ul><li>Inclinação na região é sempre crescente; </li></ul></ul><ul><ul><li>A...
São exemplos de funções convexas: Figura 5:  Função  convexa Figura 6:  Função  convexa
<ul><li>Função Côncava </li></ul><ul><ul><li>Inclinação na região é sempre decrescente; </li></ul></ul><ul><ul><li>A linha...
São exemplos de funções côncavas: Figura 9:  Função  côncava Figura 10:  Função  côncava
Funções <ul><li>Análise matemática de Função Convexa e Côncava </li></ul><ul><ul><li>Função Convexa  </li></ul></ul><ul><u...
Conjunto Convexo Um conjunto é convexo se, dados dois pontos X 1  e X 2  do conjunto, o segmento que os une também pertenc...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
Otimização Convexa  - Formulação geral
Otimização convexa <ul><li>Parâmetros para um problema ser considerado convexo: </li></ul><ul><li>Função Objetivo ( funçõe...
<ul><li>Problemas: </li></ul><ul><ul><li>Muitos pontos locais “ótimos”; </li></ul></ul><ul><ul><li>Difícil encontrar um po...
Segundo  D.P. Bertrekas (1999) Se : Sujeito a   fi (x)  (convexas)    hi  (x) (afins) Os três primeiros problemas são elim...
De acordo com  A. Nemirovskii (1994) , até o final dos anos 80 e 90, foi descoberto na antiga União Soviética e Estados Un...
Otimização convexa Base matemática:
Otimização Quase Convexa
Otimização Quase Convexa  Figura 13:  Função quase convexa Fonte:  H. Hindi – A Tutorial on  Convex Optimization
Figura 14:  Função quase-convexa entre x e y Fonte:  H. Hindi – A Tutorial on  Convex Optimization . Otimização Quase Conv...
Quase Convexa - Diferen ç a Importante <ul><li>Um problema de otimização quase convexa pode ter soluções ótimas locais que...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
Problemas de Otimização Convexa  (Forma Padrão)  O problema encontra-se na forma padrão A inequação de restrição não é con...
Problemas de Otimização Convexa  (Forma Padrão)
A interpretação geométrica para esse fato é apresentado na figura abaixo: Figura 15:  Interpretação geométrica para proble...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
Algoritmos de resolução geral <ul><li>A idéia de que os problemas de otimização convexa eram factíveis e que, a teoria da ...
Método de Pontos interiores <ul><li>Útil para problemas de:  </li></ul><ul><ul><li>Programação linear </li></ul></ul><ul><...
Método de Pontos interiores <ul><li>Busca chegar a uma solução ótima caminhando através de pontos interiores da região rea...
Método de Newton para Problemas de Minimização com Restrições de Igualdade.
Funções de Barreira Logarítmica e Trajetória Central <ul><li>O objetivo é reformular as inequações de restrição do problem...
Funções de Barreira Logarítmica e Trajetória Central <ul><li>A medida que o parâmetro t é incrementado, mais o problema re...
Funções de Barreira Logarítmica e Trajetória Central <ul><li>Agora, multiplicando-se a função objetivo por t, teremos o se...
Funções de Barreira Logarítmica e Trajetória Central <ul><li>Nesse exemplo, as curvas pontilhadas mostram três linhas de c...
Método da barreira
Funções auto-concordantes <ul><li>Importante pois: </li></ul><ul><ul><li>Incluem a função de barreira logarítmica que apre...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
O que é o CVX? <ul><li>CVX fornece métodos para simplificar a construção de problemas e obedece um conjunto de regras deno...
O que o CVX não é? <ul><li>O CVX não é uma ferramenta para: </li></ul><ul><ul><li>Verificar se determinado problema é conv...
Programação Convexa Disciplinada <ul><li>A programação convexa disciplinada é uma metodologia destinada a construção de pr...
Inicialização <ul><li>As especificações do CVX no prompt de comando do MatLab são precedidas por cvx_begin e finalizadas p...
Panorama do conjunto de regras DCP <ul><li>Como vimos anteriormente o conjunto de regras DCP retorna uma mensagem de erro ...
Conjunto de Regras DCP <ul><li>Regras de alto nível </li></ul><ul><li>O CVX suporta dois diferentes tipos de programação c...
Restrições <ul><li>Três tipos de restrições podem ser especificadas no DCP: </li></ul><ul><ul><li>Restrição de igualdade  ...
Funções <ul><li>As funções são caracterizadas por dois atributos. </li></ul><ul><ul><li>Curvatura </li></ul></ul><ul><ul><...
Compondo Funções <ul><li>Regras de composição para funções convexas: </li></ul><ul><ul><li>Se a função possui argumento nã...
<ul><li>Dados de entrada </li></ul><ul><li>m = 16; n = 8; </li></ul><ul><li>A = randn(m,n); </li></ul><ul><li>b = randn(m,...
<ul><li>Resultados: </li></ul><ul><li>norm(A*x_ls-b): 2.0354  (Solução usando Mínimos Quadrados) </li></ul><ul><li>norm(A*...
<ul><li>Dados de entrada </li></ul><ul><li>bnds = randn(n,2); </li></ul><ul><li>l = min( bnds, [ ] ,2 ); </li></ul><ul><li...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
Arranjo de Antenas <ul><li>A título aplicação será demonstrado um problema de arranjos de antenas formulado por H. Lebret,...
Arranjo de Antenas
Arranjo de Antenas
Ilustração do problema Figura 18  – A figura apresenta um arranjo linear de N antenas isotrópicas e uma onda harmônica pla...
Ilustração do problema Figura 19  – A figura A apresenta o diagrama de irradiação para um arranjo de antenas cuja diretivi...
Ilustração do problema <ul><li>Figura 20  - A figura mostra o ganho unitário na direção alvo com os lóbulos laterais, exte...
Ilustração do problema Figura 21:  Diagrama de Irradiação para arranjo otimizado Fonte:  S. Boyd, H. Lebret , Antenna Arra...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
Agradecimentos Agradecemos ao Prof. Dr. Dayan Adionel Guimarães (Inatel) pelo apoio e material disponibilizado; Ao Prof. D...
<ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização...
Referências Bibliográficas D.P. Bertrekas.  Nolinear Programming . Athena Scientific,1999 HARREL, Charles R.; GHOSH, Biman...
TORGA, Bruno Lopes Mendes.  Modelagem, Simulação e Otimização em Sistemas Puxados de Manufatura . Dissertação (Mestrado em...
Upcoming SlideShare
Loading in …5
×

Otimização convexa e cvx

4,068 views

Published on

Seminário sobre Otimização Convexa e implementações utilizando CVX.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,068
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Otimização convexa e cvx

  1. 1. Seminário Introdução à Otimização Convexa Resolução de problemas utilizando CVX Guilherme Varela Barbosa Rodrigo Carneiro Brandão Rodrigo de Oliveira Matos
  2. 2. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  3. 3. Breve Histórico de Otimização 1939-1945: A otimização teve início durante a 2 a Guerra Mundial. 1947: Início do interesse das indústrias na utilização das técnicas desenvolvidas na área militar, para auxiliar no planejamento e controle da produção. 1949: George B. Dantzig apresenta o Método Simplex para resolver problemas de otimização linear (equações e (ou) inequações lineares).
  4. 4. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  5. 5. Otimização Harrel et al. (2000) define otimização como o processo de tentar diferentes combinações de valores para variáveis que podem ser controladas (variáveis independentes), buscando a combinação de valores que leva à saída mais desejada.   De acordo com Torga (2007), a procura pela solução ótima pode ser conduzida manualmente ou automatizada com algoritmos especialmente designados para procurar a solução ótima sem executar a avaliação de todas as soluções possíveis.
  6. 6. Alguns métodos de otimização: <ul><li>Programação Linear </li></ul><ul><li>Programação Não-Linear </li></ul>
  7. 7. Programação Linear <ul><li>Distribuição eficiente de recursos limitados para atender um determinado objetivo. </li></ul><ul><li>Função linear: suas variáveis possuem relações proporcionais entre si. </li></ul>
  8. 8. Programação Linear 20 15 10 5 5 10 x y Figura 1: Gráfico da função y = 2x Exemplo: Função y = 2x , y = f(x) , x = Valores de 0 a 10 2 * X = Y 2 * 0 = 0 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 2 * 10 = 20
  9. 9. Programação Não-Linear <ul><li>Finalidade: resolver problemas que envolvem funções constituídas de variáveis que compartilham relações desproporcionais entre si (não-linearidade). </li></ul><ul><li>Uma função é considerada não linear quando uma ou mais de suas variáveis possuem relações desproporcionais entre si. </li></ul>
  10. 10. Programação Não-Linear Figura 2: Gráfico da função y = X 2 Exemplo: Função y = x 2 , y = f(x) , x = Valores de 0 a 10 X 2 = Y 0 2 = 0 1 2 = 1 2 2 = 4 3 2 = 9 4 2 = 16 5 2 = 25 6 2 = 36 7 2 = 49 8 2 = 64 9 2 = 81 10 2 = 100
  11. 11. De acordo com Winston (2001), para determinar se o problema de PNL possui solução ótima ou não, é necessário definir a função de concavidade e convexidade . Programação Não-Linear
  12. 12. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  13. 13. Funções <ul><li>Função Convexa </li></ul><ul><ul><li>Inclinação na região é sempre crescente; </li></ul></ul><ul><ul><li>A linha que conecta dois pontos na função nunca se estende abaixo dela. </li></ul></ul>Figura 3: Função estritamente convexa Figura 4: Função convexa Fonte: H. Hindi – A Tutorial on Convex Optimization
  14. 14. São exemplos de funções convexas: Figura 5: Função convexa Figura 6: Função convexa
  15. 15. <ul><li>Função Côncava </li></ul><ul><ul><li>Inclinação na região é sempre decrescente; </li></ul></ul><ul><ul><li>A linha que conecta dois pontos na função nunca se estende acima dela. </li></ul></ul>Funções Figura 7: Função estritamente côncava Figura 8: Função côncava Fonte: H. Hindi – A Tutorial on Convex Optimization
  16. 16. São exemplos de funções côncavas: Figura 9: Função côncava Figura 10: Função côncava
  17. 17. Funções <ul><li>Análise matemática de Função Convexa e Côncava </li></ul><ul><ul><li>Função Convexa </li></ul></ul><ul><ul><li>F( λ(x 1 )+(1- λ)x 2 ) ≤ λ F (x 1 )+(1- λ) F(x 2 ) </li></ul></ul><ul><ul><li>Função Côncava </li></ul></ul><ul><ul><li>F( λ(x 1 )+(1- λ)x 2 ) ≥ λ F (x 1 )+(1- λ) F(x 2 ) </li></ul></ul>
  18. 18. Conjunto Convexo Um conjunto é convexo se, dados dois pontos X 1 e X 2 do conjunto, o segmento que os une também pertence ao conjunto. S = { x | x =  x 1 + ( 1 –  ) x 2 , 0  1 } Figura 11: Conjunto Convexo Figura 12: Conjunto Não Convexo Fonte: H. Hindi – A Tutorial on Convex Optimization
  19. 19. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  20. 20. Otimização Convexa - Formulação geral
  21. 21. Otimização convexa <ul><li>Parâmetros para um problema ser considerado convexo: </li></ul><ul><li>Função Objetivo ( funções convexas); </li></ul><ul><li>Inequações de Restrições ( funções convexas); </li></ul><ul><li>Equações de Restrições ( funções afins). </li></ul><ul><ul><li>E deve-se minimizar uma função objetivo convexa sobre um conjunto convexo. </li></ul></ul>
  22. 22. <ul><li>Problemas: </li></ul><ul><ul><li>Muitos pontos locais “ótimos”; </li></ul></ul><ul><ul><li>Difícil encontrar um ponto ótimo (X*) que satisfaça todas as restrições; </li></ul></ul><ul><ul><li>Critérios de parada, muitas vezes aleatórias; </li></ul></ul><ul><ul><li>Algoritmos de baixa taxa de convergência; </li></ul></ul><ul><ul><li>Problemas numéricos faziam com que os algoritmos de minimização parassem em vários pontos ou ficassem flutuando. </li></ul></ul>Otimização Convexa Evolução nas técnicas de Otimização Convexa visando obter os parâmetros para a formulação adequada:
  23. 23. Segundo D.P. Bertrekas (1999) Se : Sujeito a fi (x) (convexas) hi (x) (afins) Os três primeiros problemas são eliminados Mesmo assim : A baixa taxa de convergência permanece como problema.
  24. 24. De acordo com A. Nemirovskii (1994) , até o final dos anos 80 e 90, foi descoberto na antiga União Soviética e Estados Unidos que: Se: fi (x) (além de convexas) fosse baseada no método de pontos interiores , o problema de baixa taxa de convergência seria evitado .
  25. 25. Otimização convexa Base matemática:
  26. 26. Otimização Quase Convexa
  27. 27. Otimização Quase Convexa Figura 13: Função quase convexa Fonte: H. Hindi – A Tutorial on Convex Optimization
  28. 28. Figura 14: Função quase-convexa entre x e y Fonte: H. Hindi – A Tutorial on Convex Optimization . Otimização Quase Convexa
  29. 29. Quase Convexa - Diferen ç a Importante <ul><li>Um problema de otimização quase convexa pode ter soluções ótimas locais que não são (globalmente) ótimas. </li></ul><ul><li>O que não ocorre na otimização convexa, uma vez que, uma solução ótima local é também uma solução ótima global. </li></ul>
  30. 30. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  31. 31. Problemas de Otimização Convexa (Forma Padrão) O problema encontra-se na forma padrão A inequação de restrição não é convexa Não. A equação de restrição não é afim
  32. 32. Problemas de Otimização Convexa (Forma Padrão)
  33. 33. A interpretação geométrica para esse fato é apresentado na figura abaixo: Figura 15: Interpretação geométrica para problema convexo Fonte: S.P. Boyd Convex Optimization A região realizável é mostrada na parte escura. Algumas curvas de nível da função objetivo são mostradas nas linhas pontilhadas. O ponto mostrado é ótimo. Figura 16: Poliedro – Região Realizável Fonte: S.P. Boyd Convex Optimization
  34. 34. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  35. 35. Algoritmos de resolução geral <ul><li>A idéia de que os problemas de otimização convexa eram factíveis e que, a teoria da otimização convexa é mais simples e mais completa do que a teoria geral da otimização não-linear não é recente. </li></ul><ul><li>Diversos métodos como, por exemplo, método do sub-gradiente, método de planos cortados e método do elipsóide foram desenvolvidos na União Soviética entre 1960 e 1970. </li></ul><ul><li>Apesar desses métodos serem algoritmos de resoluções universais para otimização convexa, funcionando até mesmo para funções não diferenciável, eles não são eficientes. </li></ul>
  36. 36. Método de Pontos interiores <ul><li>Útil para problemas de: </li></ul><ul><ul><li>Programação linear </li></ul></ul><ul><ul><li>Programação geométrica </li></ul></ul><ul><ul><li>Programação quadrática </li></ul></ul><ul><ul><li>Além de lidar com problemas de forma cônica. </li></ul></ul><ul><li>Método mais eficiente de resolução de problemas - Quase independente do tipo e do tamanho do problema. </li></ul><ul><li>Cada iteração envolve a resolução de um conjunto de equações lineares (problemas de mínimos quadrados) com o mesmo tamanho e estrutura do problema. </li></ul>
  37. 37. Método de Pontos interiores <ul><li>Busca chegar a uma solução ótima caminhando através de pontos interiores da região realizável. </li></ul><ul><li>Baseado no método de Newton e na Função Logarítmica de Barreira – Aplica funções que atuam como barreiras armazenando as variáveis em pontos interiores a região realizável. </li></ul><ul><li>Técnica para resolver um problema cuja restrição é uma equação linear, e a função objetivo é duas vezes diferenciável. </li></ul><ul><li>O usuário deve fornecer uma tolerância desejável para o vetor de decisão. </li></ul>
  38. 38. Método de Newton para Problemas de Minimização com Restrições de Igualdade.
  39. 39. Funções de Barreira Logarítmica e Trajetória Central <ul><li>O objetivo é reformular as inequações de restrição do problema, de tal forma que seja possível aplicar o método de Newton. </li></ul><ul><li>Torne as restrições de inequação implícitas na função objetivo. Para isso, uma função de barreira é adicionada na função objetivo, tal como a função de barreira logarítmica : </li></ul><ul><li>O problema fica da seguinte forma: </li></ul>
  40. 40. Funções de Barreira Logarítmica e Trajetória Central <ul><li>A medida que o parâmetro t é incrementado, mais o problema reformulado se aproxima do problema original. Por outro lado, quanto maior o valor de t, mais difícil se torna minimizar a função pelo método de Newton, uma vez que, o Hessiano varia mais rapidamente próximo da fronteira da região realizável. </li></ul><ul><li>O gradiente e o hessiano da função de barreira logarítmica é dado, respectivamente por: </li></ul>
  41. 41. Funções de Barreira Logarítmica e Trajetória Central <ul><li>Agora, multiplicando-se a função objetivo por t, teremos o seguinte problema equivalente: </li></ul><ul><li>Minimizar: </li></ul><ul><li>Sujeito a: </li></ul><ul><li>De modo que o novo problema possa ser resolvido pelo método de Newton e que possua apenas uma única solução para cada . A trajetória central, associada com o problema original, é definida como o conjunto de pontos que garantem as condições necessárias e suficientes exigidas nas restrições do problema original. Assuma que </li></ul>
  42. 42. Funções de Barreira Logarítmica e Trajetória Central <ul><li>Nesse exemplo, as curvas pontilhadas mostram três linhas de contorno da função de barreira logarítmica. A trajetória central converge para o ponto ótimo a medida que t tende ao infinito. </li></ul>Figura 17 - Interpretação geométrica para função de barreira logarítmica e trajetória central Fonte: S.P. Boyd Convex Optimization
  43. 43. Método da barreira
  44. 44. Funções auto-concordantes <ul><li>Importante pois: </li></ul><ul><ul><li>Incluem a função de barreira logarítmica que apresenta grande importância no Método de Pontos Interiores. </li></ul></ul><ul><ul><li>A analise do Método de Newton para funções auto-concordantes não depende de constantes desconhecidas. </li></ul></ul><ul><ul><li>Se realizarmos uma transformação linear de variável em uma função auto-concordante, teremos uma função auto-concordante. </li></ul></ul><ul><li>Uma função convexa é auto-concordante se </li></ul>
  45. 45. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  46. 46. O que é o CVX? <ul><li>CVX fornece métodos para simplificar a construção de problemas e obedece um conjunto de regras denominada DCP. </li></ul><ul><li>Modos de construção de problema </li></ul><ul><ul><li>SDP – Programação Semidefinida Positiva </li></ul></ul><ul><ul><li>Utiliza uma matriz de inequações lineares (LMIs) </li></ul></ul><ul><ul><li>GP – Programação Geométrica </li></ul></ul><ul><ul><li>Aceita todas as funções e regras da programação convexa . </li></ul></ul><ul><li>Plataforma - MatLab </li></ul>
  47. 47. O que o CVX não é? <ul><li>O CVX não é uma ferramenta para: </li></ul><ul><ul><li>Verificar se determinado problema é convexo ou não. </li></ul></ul><ul><ul><li>Resolução de problemas de larga escala. </li></ul></ul>
  48. 48. Programação Convexa Disciplinada <ul><li>A programação convexa disciplinada é uma metodologia destinada a construção de problemas de otimização convexa proposta por Michael Grant, Stephen Boyd e Yinyu Ye. </li></ul><ul><li>Problemas que aderem a esse conjunto de regras DCP podem ser resolvidos rapidamente. Porém, os problemas que violam essas regras são rejeitados, mesmos que esses problemas sejam convexos. </li></ul>
  49. 49. Inicialização <ul><li>As especificações do CVX no prompt de comando do MatLab são precedidas por cvx_begin e finalizadas por cvx_end. </li></ul><ul><li>As variáveis de otimização não possuem valor numérico. Elas são caracterizadas como objetos. </li></ul><ul><li>Caso alguma regra seja violada, uma mensagem de erro é gerada. Caso contrário, as especificações são convertidas para a forma canônica e solucionadas. </li></ul>
  50. 50. Panorama do conjunto de regras DCP <ul><li>Como vimos anteriormente o conjunto de regras DCP retorna uma mensagem de erro quando uma de suas regras é violada. </li></ul><ul><li>Esse conjunto de regras é suficiente, porém incompleto, para garantir que determinada função seja convexa, ou seja, é possível elaborar expressões que violem essas regras e que sejam de fato convexas. </li></ul>
  51. 51. Conjunto de Regras DCP <ul><li>Regras de alto nível </li></ul><ul><li>O CVX suporta dois diferentes tipos de programação convexa disciplinada. </li></ul><ul><ul><li>Problemas de minimização </li></ul></ul><ul><ul><li>É necessário que a função objetivo seja convexa e nenhuma ou mais restrições. </li></ul></ul><ul><ul><li>Problemas de maximização </li></ul></ul><ul><ul><li>É necessário que a função objetivo seja côncava e nenhuma ou mais restrições. </li></ul></ul>
  52. 52. Restrições <ul><li>Três tipos de restrições podem ser especificadas no DCP: </li></ul><ul><ul><li>Restrição de igualdade == </li></ul></ul><ul><ul><li>Ambos os lados são afim (um ou ambos os lados podem ser complexos). </li></ul></ul><ul><ul><li>Restrição de desigualdade menor que <= </li></ul></ul><ul><ul><li>O lado esquerdo é convexo e o lado direito é côncavo (ambos os lados </li></ul></ul><ul><ul><li>deve ser real) . </li></ul></ul><ul><ul><li>Restrição de desigualdade maior que >= </li></ul></ul><ul><ul><li>O lado esquerdo é côncavo e o lado direito é convexo (ambos os lados </li></ul></ul><ul><ul><li>deve ser real). </li></ul></ul>
  53. 53. Funções <ul><li>As funções são caracterizadas por dois atributos. </li></ul><ul><ul><li>Curvatura </li></ul></ul><ul><ul><li>Pode ser constante, afim, convexa ou côncava. </li></ul></ul><ul><ul><li>Determina as condições pela qual as expressões entram em </li></ul></ul><ul><ul><li>concordância com as regras de expressões. </li></ul></ul><ul><ul><li>Monotonicidade </li></ul></ul><ul><ul><li>Pode ser não-crescente, não-decrescente ou não-monótona. </li></ul></ul><ul><ul><li>Determina como as expressões podem ser usadas para a criação de </li></ul></ul><ul><ul><li>funções. </li></ul></ul>
  54. 54. Compondo Funções <ul><li>Regras de composição para funções convexas: </li></ul><ul><ul><li>Se a função possui argumento não-decrescente, este argumento deve ser convexo. </li></ul></ul><ul><ul><li>Se a função possui argumento não-crescente, esse argumento deve ser côncavo. </li></ul></ul><ul><li>Regras de composição para funções côncavas: </li></ul><ul><ul><li>Se a função possui argumento não-decrescente, este argumento deve ser côncavo. </li></ul></ul><ul><ul><li>Se a função possui argumento não-crescente, esse argumento deve ser convexo. </li></ul></ul>
  55. 55. <ul><li>Dados de entrada </li></ul><ul><li>m = 16; n = 8; </li></ul><ul><li>A = randn(m,n); </li></ul><ul><li>b = randn(m,1); </li></ul><ul><li>Solução através do Matlab </li></ul><ul><li>x_ls = A b; </li></ul><ul><li>Solução através do cvx </li></ul><ul><ul><ul><li>cvx_begin; </li></ul></ul></ul><ul><li>variable x(n); </li></ul><ul><li>minimize(norm(A*x-b) ); </li></ul><ul><li>cvx_end; </li></ul>Mínimos-quadrados
  56. 56. <ul><li>Resultados: </li></ul><ul><li>norm(A*x_ls-b): 2.0354 (Solução usando Mínimos Quadrados) </li></ul><ul><li>norm(A*x-b): 2.0354 (Solução usando CVX) </li></ul><ul><li>cvx_optval: 2.0354 </li></ul><ul><li>cvx_status: Solved </li></ul><ul><li>Verificando x_ls == x: </li></ul><ul><li> x_ ls = [ -0.2628 0.8828 -0.0734 -1.0844 0.3249 -0.3330 0.0603 0.3802 ] </li></ul><ul><li> x = [ -0.2628 0.8828 -0.0734 -1.0844 0.3249 -0.3330 0.0603 0.3802 ] </li></ul><ul><li>Vetor resultado ( Utilizando CVX ): </li></ul><ul><li> A*x-b = [ -0.3262 -0.0070 -0.9543 0.2447 -0.6418 -0.3426 -0.1870 0.2960 0.6024 -0.0440 0.6238 -0.7399 0.0849 0.9323 0.4799 -0.0762 ] </li></ul>Mínimos-quadrados
  57. 57. <ul><li>Dados de entrada </li></ul><ul><li>bnds = randn(n,2); </li></ul><ul><li>l = min( bnds, [ ] ,2 ); </li></ul><ul><li>u = max( bnds, [ ], 2 ); </li></ul><ul><li>Solução através do Quadprog </li></ul><ul><li>x_qp = quadprog( 2*A'*A, -2*A'*b, [], [], [], [], l, u ); </li></ul><ul><li>Solução através do CVX </li></ul><ul><li>cvx_begin </li></ul><ul><li> variable x(n); </li></ul><ul><li> minimize( norm(A*x-b) ); </li></ul><ul><li> subject to </li></ul><ul><li> x >= l; </li></ul><ul><li> x <= u; </li></ul><ul><li>cvx_end </li></ul>Mínimos-quadrados com restrições
  58. 58. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  59. 59. Arranjo de Antenas <ul><li>A título aplicação será demonstrado um problema de arranjos de antenas formulado por H. Lebret, S. Boynd e A. Mutapcic. </li></ul><ul><li>Arranjos de antenas proporcionam um meio eficiente de detectar e processar sinais provenientes de diferentes direções. Comparando uma única antena, que é limitada em diretividade e largura de banda, um conjunto de sensores pode ter seu diagrama de irradiação modificado através de um distribuição de amplitude e fase denominada de pesos do arranjo. </li></ul><ul><li>Após o processamento das saídas das antenas, os sinais são pesados e somados afim de fornecerem o diagrama de irradiação do arranjo. O problema em questão consiste em encontrar pesos que satisfaçam ao conjunto de especificações. </li></ul>
  60. 60. Arranjo de Antenas
  61. 61. Arranjo de Antenas
  62. 62. Ilustração do problema Figura 18 – A figura apresenta um arranjo linear de N antenas isotrópicas e uma onda harmônica plana incidindo de uma direção Fonte: S.P. Boyd Convex Optimization
  63. 63. Ilustração do problema Figura 19 – A figura A apresenta o diagrama de irradiação para um arranjo de antenas cuja diretividade não é particularizada. Fonte: S. Boyd, H. Lebret , Antenna Array Pattern Synthesis via Convex Optimization
  64. 64. Ilustração do problema <ul><li>Figura 20 - A figura mostra o ganho unitário na direção alvo com os lóbulos laterais, externos ao feixe, minimizados. </li></ul><ul><li>Fonte: S. Boyd, H. Lebret , Antenna Array Pattern Synthesis via Convex Optimization </li></ul>
  65. 65. Ilustração do problema Figura 21: Diagrama de Irradiação para arranjo otimizado Fonte: S. Boyd, H. Lebret , Antenna Array Pattern Synthesis via Convex Optimization A figura 21 apresenta o diagrama de irradiação do arranjo após o processo de otimização e o vetor peso w.
  66. 66. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  67. 67. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  68. 68. Agradecimentos Agradecemos ao Prof. Dr. Dayan Adionel Guimarães (Inatel) pelo apoio e material disponibilizado; Ao Prof. Dr. Takaaki Ohishi (Unicamp) pela valiosa orientação e atenção; Ao Prof. Dr. Paulo Augusto Valente Ferreira (Unicamp) pela valiosa orientação e atenção.
  69. 69. <ul><li>Histórico </li></ul><ul><li>Introdução </li></ul><ul><li>Funções / Conjuntos Convexos </li></ul><ul><li>Otimização Convexa </li></ul><ul><li>Problemas de Otimização </li></ul><ul><li>Métodos de Resolução </li></ul><ul><li>CVX </li></ul><ul><li>Aplicações </li></ul><ul><li>Conclusão </li></ul><ul><li>Agradecimentos </li></ul><ul><li>Referências Bibliográficas </li></ul>
  70. 70. Referências Bibliográficas D.P. Bertrekas. Nolinear Programming . Athena Scientific,1999 HARREL, Charles R.; GHOSH, Biman K.; BOWDEN, Royce. Simulation Using ProModel . New York, McGraw-Hill, 2000. O.M Bucci, D. D’Elia, G. Mazzarella, and G. Panatiello, “Antenna pattern synthesis: A new approach,”Proc.IEEE, vol.82,pp.358-357, Mar. 1996. S.P. Boyd and L. Vandenberghe. Convex Optimization, Cambridge University Press, 2003. In press. Material avaible at www.stanford.edu/~boyd
  71. 71. TORGA, Bruno Lopes Mendes. Modelagem, Simulação e Otimização em Sistemas Puxados de Manufatura . Dissertação (Mestrado em Engenharia de Produção). UNIFEI. Itajubá-MG. 2007. WINSTON, Wayne; ALBRIGHT, S. Christian. Practical Management Science . 2nd, Duxbury Thomson Learning, 2001. Y. Nesterov and A. Nemirovskii. Interior-Point Polynomial Methods in Convex Programming . Society for Industrial and Applied Mathematics, 1994.

×