Introdução à otimização convexa.
-
Upload
guilhermevb -
Category
Documents
-
view
1.240 -
download
0
Transcript of Introdução à otimização convexa.
Seminário
Introdução à Otimização Convexa Resolução de problemas utilizando CVX
Guilherme Varela BarbosaRodrigo Carneiro BrandãoRodrigo de Oliveira Matos
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
Breve Histórico de Otimização
1939-1945: A otimização teve início durante a 2a GuerraMundial.
1947: Início do interesse das indústrias na utilização dastécnicas desenvolvidas na área militar, para auxiliar noplanejamento e controle da produção.
1949: George B. Dantzig apresenta o Método Simplex pararesolver problemas de otimização linear (equações e (ou)inequações lineares).
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
Otimização
Harrel et al. (2000) define otimização como o processo detentar diferentes combinações de valores para variáveis quepodem ser controladas (variáveis independentes), buscando acombinação de valores que leva à saída mais desejada.
De acordo com Torga (2007), a procura pela solução ótimapode ser conduzida manualmente ou automatizada comalgoritmos especialmente designados para procurar a soluçãoótima sem executar a avaliação de todas as soluçõespossíveis.
Alguns métodos de otimização:
� Programação Linear
� Programação Não-Linear
Programação Linear
� Distribuição eficiente de recursos limitados para atender umdeterminado objetivo.
� Função linear: suas variáveis possuem relações proporcionaisentre si.
Programação Linear
20
15
10
5
5 10x
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
Programação Não-Linear
� Finalidade: resolver problemas que envolvem funçõesconstituídas de variáveis que compartilham relaçõesdesproporcionais entre si (não-linearidade).
� Uma função é considerada não linear quando uma ou mais desuas variáveis possuem relações desproporcionais entre si.
Figura 2: Gráfico da função y = X2
Exemplo: Função y = x2 , y = f(x) , x = Valores de 0 a 10
Programação Não-Linear
X2 = Y
02 = 0
12 = 1
22 = 4
32 = 9
42 = 16
52 = 25
62 = 36
72 = 49
82 = 64
92 = 81
102 = 100
De acordo com Winston (2001), para determinar se o problemade PNL possui solução ótima ou não, é necessário definir afunção de concavidade e convexidade.
Programação Não-Linear
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
Funções
� Função Convexa
� Inclinação na região é sempre crescente;� A linha que conecta dois pontos na função nunca se estende
abaixo dela.
Figura 3: Função estritamente convexa Figura 4: Função convexa
Fonte: H. Hindi – A Tutorial on Convex Optimization
São exemplos de funções convexas:
Figura 5: Função convexa Figura 6: Função convexa
� Função Côncava
� Inclinação na região é sempre decrescente;� A linha que conecta dois pontos na função nunca se estende
acima dela.
Figura 7: Função estritamente côncava Figura 8: Função côncava
Fonte: H. Hindi – A Tutorial on Convex Optimization
Funções
São exemplos de funções côncavas:
Figura 9: Função côncava Figura 10: Função côncava
Funções
� Análise matemática de Função Convexa e Côncava
� Função Convexa
F(λ(x1)+(1- λ)x2) ≤ λ F(x1)+(1- λ) F(x2)
� Função Côncava
F(λ(x1)+(1- λ)x2) ≥ λ F(x1)+(1- λ) F(x2)
Conjunto Convexo
Um conjunto é convexo se, dados dois pontos X1 e X2 doconjunto, o segmento que os une também pertence ao conjunto.
S = { x | x = λx1 + ( 1 –λ) x2 , 0 ≤ λ ≤ 1 }
Figura 11: Conjunto Convexo Figura 12: Conjunto Não Convexo
Fonte: H. Hindi – A Tutorial on Convex Optimization
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
Otimização Convexa - Formulação geral
Minimize:
Sujeito a:
0)(
0)(
=≤
xhi
xfi
)(0 xf
, i =1,..., m
, j =1,..., p
Otimização convexa
Parâmetros para um problema ser considerado convexo:
� Função Objetivo ( funções convexas);
� Inequações de Restrições ( funções convexas);
� Equações de Restrições ( funções afins).
� E deve-se minimizar uma função objetivo convexa sobre um conjunto convexo.
� Problemas:� Muitos pontos locais “ótimos”;� Difícil encontrar um ponto ótimo (X*) que satisfaça todas as
restrições;� Critérios de parada, muitas vezes aleatórias;� Algoritmos de baixa taxa de convergência;� Problemas numéricos faziam com que os algoritmos de
minimização parassem em vários pontos ou ficassemflutuando.
Otimização Convexa
Evolução nas técnicas de Otimização Convexa visando obter os parâmetros para a formulação adequada:
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.
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.
Otimização convexa
Base matemática:
para todo x, y ∈ n e todo α, β ∈ com α + β = 1, α, β ≥ 0
)((x)fy)x(f ii yfiβαβα +≤+
ℜ ℜ
))f(x,x(f(x) **≥
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 yFonte: H. Hindi – A Tutorial on Convex Optimization.
Otimização Quase Convexa
Quase Convexa - Diferença Importante
� Um problema de otimização quase convexa pode ter soluçõesótimas locais que não são (globalmente) ótimas.
� O que não ocorre na otimização convexa, uma vez que, umasolução ótima local é também uma solução ótima global.
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
O problema de otimização é convexo? Minimize:
Sujeito a:
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
Reformulando o problema anterior de forma que atenda todos os pré-requisitos vistos anteriormente: Minimize:
Sujeito a:
Problemas de Otimização Convexa (Forma Padrão)
A interpretação geométrica para esse fato é apresentado nafigura abaixo:
Figura 15: Interpretação geométrica para problema convexoFonte: S.P. Boyd Convex Optimization
A região realizável é mostrada na parte escura. Algumas curvasde nível da função objetivo são mostradas nas linhas pontilhadas.O ponto mostrado é ótimo.
Figura 16: Poliedro – Região RealizávelFonte: S.P. Boyd Convex Optimization
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
Algoritmos de resolução geral
� A ideia de que os problemas de otimização convexa eram factíveise que, a teoria da otimização convexa é mais simples e maiscompleta do que a teoria geral da otimização não-linear não érecente.
� Diversos métodos como, por exemplo, método do sub-gradiente,método de planos cortados e método do elipsoide foramdesenvolvidos na União Soviética entre 1960 e 1970.
� Apesar desses métodos serem algoritmos de resoluções universaispara otimização convexa, funcionando até mesmo para funções nãodiferenciável, eles não são eficientes.
Método de Pontos interiores
� Útil para problemas de:
� Programação linear� Programação geométrica� Programação quadrática� Além de lidar com problemas de forma cônica.
� Método mais eficiente de resolução de problemas - Quaseindependente do tipo e do tamanho do problema.
� Cada iteração envolve a resolução de um conjunto de equaçõeslineares (problemas de mínimos quadrados) com o mesmo tamanhoe estrutura do problema.
Método de Pontos interiores
� Busca chegar a uma solução ótima caminhando através de pontosinteriores da região realizável.
� Baseado no método de Newton e na Função Logarítmica deBarreira – Aplica funções que atuam como barreiras armazenandoas variáveis em pontos interiores a região realizável.
� Técnica para resolver um problema cuja restrição é uma equaçãolinear, e a função objetivo é duas vezes diferenciável.
� O usuário deve fornecer uma tolerância desejável para o vetor dedecisão.
Método de Newton para Problemas de Minimização com Restrições de Igualdade.
Dado o ponto � ∈ ����com �� = e tolerância > 0
1 – Calcule o passo de Newton ∆��� e o decremento �(�):
Onde: ∆��� = −(∇2�(�))−1∇�(�) e �(�) = (Δ���� ∇2�(�)∆��� )1 2⁄
2 – Observe o critério de parada: �2 2⁄ ≤ .
3 – Escolha o valor de � relacionado com a linha de busca
3 – Atualização: � + �∆���
∆��� é sempre uma direção de descida viável, exceto no ponto ótimo onde ∆��� = 0
Funções de Barreira Logarítmica e Trajetória Central
� O objetivo é reformular as inequações de restrição do problema, detal forma que seja possível aplicar o método de Newton.
� Torne as restrições de inequação implícitas na função objetivo. Paraisso, uma função de barreira é adicionada na função objetivo, talcomo a função de barreira logarítmica :
� O problema fica da seguinte forma:
∅(�) = − � log(−�"(�))#
"=1
Minimize: �0(�) − (1/�)∑ log(−�"(�))#"=1
Sujeito a: �� =
Funções de Barreira Logarítmica e Trajetória Central
� A medida que o parâmetro t é incrementado, mais o problemareformulado se aproxima do problema original. Por outro lado,quanto maior o valor de t, mais difícil se torna minimizar a funçãopelo método de Newton, uma vez que, o Hessiano varia maisrapidamente próximo da fronteira da região realizável.
� O gradiente e o hessiano da função de barreira logarítmica é dado,respectivamente por:
∇2∅(�) = � 1�"(�)2
#
"=1∇�"(�)∇�"(�)� +� 1
−�"(�)#
"=1∇2�"(�)
∇∅(�) = � 1−�"(�)
#
"=1∇�"(�)
Funções de Barreira Logarítmica e Trajetória Central
� Agora, multiplicando-se a função objetivo por t, teremos o seguinteproblema equivalente:
Minimizar:Sujeito a:
� De modo que o novo problema possa ser resolvido pelo método deNewton e que possua apenas uma única solução para cada . Atrajetória central, associada com o problema original, é definidacomo o conjunto de pontos que garantem as condiçõesnecessárias e suficientes exigidas nas restrições do problemaoriginal. Assuma que
��0(�) + ∅(�) �� =
� > 0
�⋆(�)
� = #/'
Funções de Barreira Logarítmica e Trajetória Central
� Nesse exemplo, as curvas pontilhadas mostram três linhas decontorno da função de barreira logarítmica. A trajetória centralconverge para o ponto ótimo a medida que t tende ao infinito.
Figura 17 - Interpretação geométrica para função de barreira logarítmica e trajetória centralFonte: S.P. Boyd Convex Optimization
Método da barreiraO método da Barreira
Forneça: �, � = �(0) > 0, ) > 1, ' > *
1 – calcule �∗(�) que minimiza ��0(�) + ,(�)
sujeito a �� = iniciando em �
2 – atualize �: = �∗(�)
3 – critério de parada: Pare se #/� < '
4 – incremente �: = )�
Funções auto concordantes
� Importante pois:
� Incluem a função de barreira logarítmica que apresenta grandeimportância no Método de Pontos Interiores.
� A analise do Método de Newton para funções auto-concordantes não depende de constantes desconhecidas.
� Se realizarmos uma transformação linear de variável em umafunção auto-concordante, teremos uma função auto-concordante.
� Uma função convexa é auto-concordante seconcordante se |� ′′′ (�)| ≤ 2�′′ (�)3 22 .
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
O que é o CVX?
� CVX fornece métodos para simplificar a construção deproblemas e obedece um conjunto de regras denominadaDCP.
� Modos de construção de problema� SDP – Programação Semidefinida Positiva
Utiliza uma matriz de inequações lineares (LMIs)
� GP – Programação GeométricaAceita todas as funções e regras da programação convexa.
� Plataforma - MatLab
O que o CVX não é?
� O CVX não é uma ferramenta para:
� Verificar se determinado problema é convexo ou não.
� Resolução de problemas de larga escala.
Programação Convexa Disciplinada
� A programação convexa disciplinada é uma metodologiadestinada a construção de problemas de otimização convexaproposta por Michael Grant, Stephen Boyd e Yinyu Ye.
� Problemas que aderem a esse conjunto de regras DCP podemser resolvidos rapidamente. Porém, os problemas que violamessas regras são rejeitados, mesmos que esses problemassejam convexos.
Inicialização
� As especificações do CVX no prompt de comando do MatLabsão precedidas por cvx_begin e finalizadas por cvx_end.
� As variáveis de otimização não possuem valor numérico. Elassão caracterizadas como objetos.
� Caso alguma regra seja violada, uma mensagem de erro égerada. Caso contrário, as especificações são convertidas paraa forma canônica e solucionadas.
Panorama do conjunto de regras DCP
� Como vimos anteriormente o conjunto de regras DCP retornauma mensagem de erro quando uma de suas regras é violada.
� Esse conjunto de regras é suficiente, porém incompleto, paragarantir que determinada função seja convexa, ou seja, épossível elaborar expressões que violem essas regras e quesejam de fato convexas.
Conjunto de Regras DCP
Regras de alto nível
� O CVX suporta dois diferentes tipos de programação convexa disciplinada.
� Problemas de minimizaçãoÉ necessário que a função objetivo seja convexa e nenhuma ou mais restrições.
� Problemas de maximização É necessário que a função objetivo seja côncava e nenhuma ou mais restrições.
Restrições
Três tipos de restrições podem ser especificadas no DCP:
� Restrição de igualdade == Ambos os lados são afim (um ou ambos os lados podem ser complexos).
� Restrição de desigualdade menor que <=O lado esquerdo é convexo e o lado direito é côncavo (ambos os lados deve ser real).
� Restrição de desigualdade maior que >=O lado esquerdo é côncavo e o lado direito é convexo (ambos os ladosdeve ser real).
Funções
� As funções são caracterizadas por dois atributos.
� CurvaturaPode ser constante, afim, convexa ou côncava.
Determina as condições pela qual as expressões entram emconcordância com as regras de expressões.
� Monotonicidade Pode ser não-crescente, não-decrescente ou não-monótona.Determina como as expressões podem ser usadas para a criação defunções.
Compondo Funções
� Regras de composição para funções convexas:
� Se a função possui argumento não-decrescente, este argumento deveser convexo.
� Se a função possui argumento não-crescente, esse argumento deveser côncavo.
� Regras de composição para funções côncavas:
� Se a função possui argumento não-decrescente, este argumento deveser côncavo.
� Se a função possui argumento não-crescente, esse argumento deveser convexo.
� Dados de entradam = 16; n = 8;
A = randn(m,n);b = randn(m,1);
� Solução através do Matlabx_ls = A \ b;
� Solução através do cvxcvx_begin;
variable x(n); minimize(norm(A*x-b) );
cvx_end;
Mínimos-quadrados
Resultados:
norm(A*x_ls-b): 2.0354 (Solução usando Mínimos Quadrados)norm(A*x-b): 2.0354 (Solução usando CVX)cvx_optval: 2.0354 cvx_status: Solved
� Verificando x_ls == x:
x_ls = [ -0.2628 0.8828 -0.0734 -1.0844 0.3249 -0.3330 0.0603 0.3802 ]
x = [ -0.2628 0.8828 -0.0734 -1.0844 0.3249 -0.3330 0.0603 0.3802 ]
� Vetor resultado (Utilizando CVX ):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 ]
Mínimos-quadrados
� Dados de entrada
bnds = randn(n,2);l = min( bnds, [ ] ,2 );u = max( bnds, [ ], 2 );
� Solução através do Quadprogx_qp = quadprog( 2*A'*A, -2*A'*b, [], [], [], [], l, u );
� Solução através do CVX
cvx_beginvariable x(n);minimize( norm(A*x-b) );subject to
x >= l;x <= u;
cvx_end
Mínimos-quadrados com restrições
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
Arranjo de Antenas
� A título aplicação será demonstrado um problema de arranjos deantenas formulado por H. Lebret, S. Boynd e A. Mutapcic.
� Arranjos de antenas proporcionam um meio eficiente de detectar eprocessar sinais provenientes de diferentes direções. Comparandouma única antena, que é limitada em diretividade e largura debanda, um conjunto de sensores pode ter seu diagrama deirradiação modificado através de um distribuição de amplitude efase denominada de pesos do arranjo.
� Após o processamento das saídas das antenas, os sinais sãopesados e somados afim de fornecerem o diagrama de irradiaçãodo arranjo. O problema em questão consiste em encontrar pesosque satisfaçam ao conjunto de especificações.
Arranjo de Antenas
Considere um arranjo linear de N antenas isotrópicas localizadas em �" , … �4 e 5" , … 54 . Uma onda harmônica plana com freqüência 6 e comprimento de onda � vinda de uma direção 7 que se propaga ao longo do arranjo. Os N sinais de saída são convertidos para banda-base, ponderadas pelos pesos 8" , e somadas para fornecer o diagrama de irradiação do arranjo dado por:
5(7) = � 8"4
"=19: (�";*< 7+5"<9� 7)
Onde desejamos encontrar um vetor 8 tal que, 5(7�=> ) = 1 e que |5(7)| seja pequeno para |7 − 7�=> | ≥ ∆ ( onde 2∆ é a largura do feixe).
Arranjo de AntenasO problema se torna, então:
Minimizar: #=�"=1,…,4|5(7")| Sujeito a: 5(7�=> ) = 1
Onde minimizamos os valores dos lóbulos laterais. No CVX, o problema é descrito da seguinte forma:
cvx_begin
variable 8(�) complex
minimize (max(=<( �ℎ9�=_*E�_9=# ∗ 8))) subject to
�ℎ9�=_�=>′ ∗ 8 == 1;
Cvx_end
Observe que foi criada uma matriz �, que possui as especificações e configurações acerca do arranjo de antenas e que relaciona 8 e 5(7) tal como 5 = � ∗ 8.
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
7.
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
Ilustração do problema
Figura 20 - A figura mostra o ganho unitário na direção alvo com os lóbulos laterais, externos ao feixe, minimizados.Fonte: S. Boyd, H. Lebret , Antenna Array Pattern Synthesis via Convex Optimization
Ilustração do problema
Figura 21: Diagrama de Irradiação para arranjo otimizadoFonte: S. Boyd, H. Lebret , Antenna Array Pattern Synthesis via Convex Optimization
A figura 21 apresenta o diagrama de irradiação do arranjo após oprocesso de otimização e o vetor peso w.
w = 0.0021 - 0.0423i
0.0588 - 0.0487i
-0.1950 - 0.0278i
-0.0226 - 0.0379i
-0.0268 + 0.0810i
.
.
.
0.1390 - 0.0414i
0.0236 - 0.0124i
0.0252 - 0.1129i
-0.0664 - 0.1135i
0.0748 - 0.1329i
0.0161 - 0.0450i
0.0070 + 0.0579i
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
Agradecimentos
Agradecemos ao Prof. Dr. Dayan Adionel Guimarães (Inatel) peloapoio e material disponibilizado;
Ao Prof. Dr. Takaaki Ohishi (Unicamp) pela valiosa orientação eatenção;
Ao Prof. Dr. Paulo Augusto Valente Ferreira (Unicamp) pela valiosaorientação e atenção.
� Histórico� Introdução� Funções / Conjuntos Convexos� Otimização Convexa� Problemas de Otimização� Métodos de Resolução� CVX� Aplicações� Conclusão� Agradecimentos� Referências Bibliográficas
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, “Antennapattern synthesis: A new approach,”Proc.IEEE, vol.82,pp.358-357,Mar. 1996.
S.P. Boyd and L. Vandenberghe. Convex Optimization, CambridgeUniversity Press, 2003. In press. Material avaible atwww.stanford.edu/~boyd
TORGA, Bruno Lopes Mendes. Modelagem, Simulação eOtimização em Sistemas Puxados de Manufatura . Dissertação(Mestrado em Engenharia de Produção). UNIFEI. Itajubá-MG.2007.
WINSTON, Wayne; ALBRIGHT, S. Christian. PracticalManagement Science . 2nd, Duxbury Thomson Learning, 2001.
Y. Nesterov and A. Nemirovskii. Interior-Point PolynomialMethods in Convex Programming . Society for Industrial andApplied Mathematics, 1994.