Você está na página 1de 71

Seminrio

Introduo Otimizao Convexa


Resoluo de problemas utilizando CVX
Guilherme Varela Barbosa
Rodrigo Carneiro Brando
Rodrigo de Oliveira Matos
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
Breve Histrico de Otimizao
1939-1945: A otimizao teve incio durante a 2
a
Guerra
Mundial.
1947: Incio do interesse das indstrias na utilizao das
tcnicas desenvolvidas na rea militar, para auxiliar no
planejamento e controle da produo.
1949: George B. Dantzig apresenta o Mtodo Simplex para
resolver problemas de otimizao linear (equaes e (ou)
inequaes lineares).
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
Otimizao
Harrel et al. (2000) define otimizao como o processo de
tentar diferentes combinaes de valores para variveis que
podem ser controladas (variveis independentes), buscando a
combinao de valores que leva sada mais desejada.
De acordo com Torga (2007), a procura pela soluo tima
pode ser conduzida manualmente ou automatizada com
algoritmos especialmente designados para procurar a soluo
tima sem executar a avaliao de todas as solues
possveis.
Alguns mtodos de otimizao:
Programao Linear
Programao No-Linear
Programao Linear
Distribuio eficiente de recursos limitados para atender um
determinado objetivo.
Funo linear: suas variveis possuem relaes proporcionais
entre si.
Programao Linear
20
15
10
5
5 10
x
y
Figura 1: Grfico da funo y = 2x
Exemplo: Funo 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
Programao No-Linear
Finalidade: resolver problemas que envolvem funes
constitudas de variveis que compartilham relaes
desproporcionais entre si (no-linearidade).
Uma funo considerada no linear quando uma ou mais de
suas variveis possuem relaes desproporcionais entre si.
Figura 2: Grfico da funo y = X
2
Exemplo: Funo y = x
2
, y = f(x) , x = Valores de 0 a 10
Programao No-Linear
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
De acordo com Winston (2001), para determinar se o problema
de PNL possui soluo tima ou no, necessrio definir a
funo de concavidade e convexidade.
Programao No-Linear
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
Funes
Funo Convexa
Inclinao na regio sempre crescente;
A linha que conecta dois pontos na funo nunca se estende
abaixo dela.
Figura 3: Funo estritamente convexa Figura 4: Funo convexa
Fonte: H. Hindi A Tutorial on Convex Optimization
So exemplos de funes convexas:
Figura 5: Funo convexa
Figura 6: Funo convexa
Funo Cncava
Inclinao na regio sempre decrescente;
A linha que conecta dois pontos na funo nunca se estende
acima dela.
Figura 7: Funo estritamente cncava Figura 8: Funo cncava
Fonte: H. Hindi A Tutorial on Convex Optimization
Funes
So exemplos de funes cncavas:
Figura 9: Funo cncava Figura 10: Funo cncava
Funes
Anlise matemtica de Funo Convexa e Cncava
Funo Convexa
F((x
1
)+(1- )x
2
) F(x
1
)+(1- ) F(x
2
)
Funo Cncava
F((x
1
)+(1- )x
2
) F(x
1
)+(1- ) F(x
2
)
Conjunto Convexo
Um conjunto convexo se, dados dois pontos X
1
e X
2
do
conjunto, o segmento que os une tambm pertence ao conjunto.
S = { x | x = x
1
+ ( 1 ) x
2
, 0 1 }
Figura 11: Conjunto Convexo Figura 12: Conjunto No Convexo
Fonte: H. Hindi A Tutorial on Convex Optimization
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
Otimizao Convexa - Formulao geral
Minimize:
Sujeito a:
0 ) (
0 ) (
=

x hi
x fi
) ( 0 x f
, i =1,..., m
, j =1,..., p
Otimizao convexa
Parmetros para um problema ser considerado convexo:
Funo Objetivo ( funes convexas);
Inequaes de Restries ( funes convexas);
Equaes de Restries ( funes afins).
E deve-se minimizar uma funo objetivo convexa sobre um
conjunto convexo.
Problemas:
Muitos pontos locais timos;
Difcil encontrar um ponto timo (X*) que satisfaa todas as
restries;
Critrios de parada, muitas vezes aleatrias;
Algoritmos de baixa taxa de convergncia;
Problemas numricos faziam com que os algoritmos de
minimizao parassem em vrios pontos ou ficassem
flutuando.
Otimizao Convexa
Evoluo nas tcnicas de Otimizao Convexa visando obter os
parmetros para a formulao adequada:
Segundo D.P. Bertrekas (1999)
Se:
Sujeito a fi (x) (convexas)
hi (x) (afins)
Os trs primeiros problemas so eliminados
Mesmo assim:
A baixa taxa de convergncia permanece como problema.
De acordo comA. Nemirovskii (1994), at o final dos anos 80 e 90,
foi descoberto na antiga Unio Sovitica e Estados Unidos que:
Se:
fi (x) (alm de convexas) fosse baseada no mtodo
de pontos interiores, o problema de baixa taxa de
convergncia seria evitado.
Otimizao convexa
Base matemtica:
para todo x, y
n
e todo , com + = 1, , 0
) ( (x) f y) x ( f i i y fi + +

)) f(x , x ( f(x)
* *

Otimizao Quase Convexa


Otimizao Quase Convexa
Figura 13: Funo quase convexa
Fonte: H. Hindi A Tutorial on Convex Optimization
Figura 14: Funo quase-convexa entre x e y
Fonte: H. Hindi A Tutorial on Convex Optimization
.
Otimizao Quase Convexa
Quase Convexa - Diferena Importante
Um problema de otimizao quase convexa pode ter solues
timas locais que no so (globalmente) timas.
O que no ocorre na otimizao convexa, uma vez que, uma
soluo tima local tambm uma soluo tima global.
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
O problema de otimizao convexo?

Minimize:
Sujeito a:

Problemas de Otimizao Convexa
(Forma Padro)
O problema encontra-se na forma padro
A inequao de restrio no convexa
No.
A equao de restrio no afim
Reformulando o problema anterior de forma que
atenda todos os pr-requisitos vistos
anteriormente:

Minimize:
Sujeito a:


Problemas de Otimizao Convexa
(Forma Padro)
A interpretao geomtrica para esse fato apresentado na
figura abaixo:
Figura 15: Interpretao geomtrica para problema convexo
Fonte: S.P. Boyd Convex Optimization
A regio realizvel mostrada na parte escura. Algumas curvas
de nvel da funo objetivo so mostradas nas linhas pontilhadas.
O ponto mostrado timo.
Figura 16: Poliedro Regio Realizvel
Fonte: S.P. Boyd Convex Optimization
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
Algoritmos de resoluo geral
A ideia de que os problemas de otimizao convexa eram factveis
e que, a teoria da otimizao convexa mais simples e mais
completa do que a teoria geral da otimizao no-linear no
recente.
Diversos mtodos como, por exemplo, mtodo do sub-gradiente,
mtodo de planos cortados e mtodo do elipsoide foram
desenvolvidos na Unio Sovitica entre 1960 e 1970.
Apesar desses mtodos serem algoritmos de resolues universais
para otimizao convexa, funcionando at mesmo para funes no
diferencivel, eles no so eficientes.
Mtodo de Pontos interiores
til para problemas de:
Programao linear
Programao geomtrica
Programao quadrtica
Alm de lidar com problemas de forma cnica.
Mtodo mais eficiente de resoluo de problemas - Quase
independente do tipo e do tamanho do problema.
Cada iterao envolve a resoluo de um conjunto de equaes
lineares (problemas de mnimos quadrados) com o mesmo tamanho
e estrutura do problema.
Mtodo de Pontos interiores
Busca chegar a uma soluo tima caminhando atravs de pontos
interiores da regio realizvel.
Baseado no mtodo de Newton e na Funo Logartmica de
Barreira Aplica funes que atuam como barreiras armazenando
as variveis em pontos interiores a regio realizvel.
Tcnica para resolver um problema cuja restrio uma equao
linear, e a funo objetivo duas vezes diferencivel.
O usurio deve fornecer uma tolerncia desejvel para o vetor de
deciso.
Mtodo de Newton para Problemas de Minimizao
com Restries de Igualdade.
Dado o ponto x dumcom Ax = b e tolerncia e > u
1 Calcule o passo de Newton x
nt
e o decremento z(x):
Onde: x
nt
= (
2
(x))
1
(x) e z(x) = (x
nt
I

2
(x)x
nt
)
1 2

2 Observe o critrio de parada: z
2
2 e.
3 Escolha o valor de t relacionado com a linha de busca
3 Atualizao: x +tx
nt

x
nt
sempre uma direo de descida vivel, exceto no ponto timo onde x
nt
= u
Funes de Barreira Logartmica e Trajetria Central
O objetivo reformular as inequaes de restrio do problema, de
tal forma que seja possvel aplicar o mtodo de Newton.
Torne as restries de inequao implcitas na funo objetivo. Para
isso, uma funo de barreira adicionada na funo objetivo, tal
como a funo de barreira logartmica :
O problema fica da seguinte forma:
(x) = log (
i
(x))
m
i=1

Minimize:
u
(x) (1t) log (
i
(x))
m
i=1

Sujeito a: Ax = b
Funes de Barreira Logartmica e Trajetria Central
A medida que o parmetro t incrementado, mais o problema
reformulado se aproxima do problema original. Por outro lado,
quanto maior o valor de t, mais difcil se torna minimizar a funo
pelo mtodo de Newton, uma vez que, o Hessiano varia mais
rapidamente prximo da fronteira da regio realizvel.
O gradiente e o hessiano da funo de barreira logartmica dado,
respectivamente por:

2
(x) =
1

i
(x)
2
m
i=1

i
(x)
i
(x)
I
+
1

i
(x)
m
i=1

2

i
(x)
(x) =
1

i
(x)
m
i=1

i
(x)
Funes de Barreira Logartmica e Trajetria Central
Agora, multiplicando-se a funo objetivo por t, teremos o seguinte
problema equivalente:
Minimizar:
Sujeito a:
De modo que o novo problema possa ser resolvido pelo mtodo de
Newton e que possua apenas uma nica soluo para cada . A
trajetria central, associada com o problema original, definida
como o conjunto de pontos que garantem as condies
necessrias e suficientes exigidas nas restries do problema
original. Assuma que
t
u
(x) + (x)
Ax = b
t > u
x

(t)
t = me
Funes de Barreira Logartmica e Trajetria Central
Nesse exemplo, as curvas pontilhadas mostram trs linhas de
contorno da funo de barreira logartmica. A trajetria central
converge para o ponto timo a medida que t tende ao infinito.
Figura 17 - Interpretao geomtrica para funo de barreira logartmica e trajetria central
Fonte: S.P. Boyd Convex Optimization
Mtodo da barreira
O mtodo da Barreira
Fornea: x, t = t
(u)
> u, p > 1, e > o
1 calcule x

(t) que minimiza t


u
(x) +(x)
sujeito a Ax = b iniciando em x
2 atualize x: = x

(t)
3 critrio de parada: Pare se mt < e
4 incremente t: = pt
Funes auto concordantes
Importante pois:
Incluem a funo de barreira logartmica que apresenta grande
importncia no Mtodo de Pontos Interiores.
A analise do Mtodo de Newton para funes auto-
concordantes no depende de constantes desconhecidas.
Se realizarmos uma transformao linear de varivel em uma
funo auto-concordante, teremos uma funo auto-
concordante.
Uma funo convexa auto-concordante se
concordante se |

(x)| 2

(x)
S
2
,
.
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
O que o CVX?
CVX fornece mtodos para simplificar a construo de
problemas e obedece um conjunto de regras denominada
DCP.
Modos de construo de problema
SDP Programao Semidefinida Positiva
Utiliza uma matriz de inequaes lineares (LMIs)
GP Programao Geomtrica
Aceita todas as funes e regras da programao convexa.
Plataforma - MatLab
O que o CVX no ?
O CVX no uma ferramenta para:
Verificar se determinado problema convexo ou no.
Resoluo de problemas de larga escala.
Programao Convexa Disciplinada
A programao convexa disciplinada uma metodologia
destinada a construo de problemas de otimizao convexa
proposta por Michael Grant, Stephen Boyd e Yinyu Ye.
Problemas que aderem a esse conjunto de regras DCP podem
ser resolvidos rapidamente. Porm, os problemas que violam
essas regras so rejeitados, mesmos que esses problemas
sejam convexos.
Inicializao
As especificaes do CVX no prompt de comando do MatLab
so precedidas por cvx_begin e finalizadas por cvx_end.
As variveis de otimizao no possuem valor numrico. Elas
so caracterizadas como objetos.
Caso alguma regra seja violada, uma mensagem de erro
gerada. Caso contrrio, as especificaes so convertidas para
a forma cannica e solucionadas.
Panorama do conjunto de regras DCP
Como vimos anteriormente o conjunto de regras DCP retorna
uma mensagem de erro quando uma de suas regras violada.
Esse conjunto de regras suficiente, porm incompleto, para
garantir que determinada funo seja convexa, ou seja,
possvel elaborar expresses que violem essas regras e que
sejam de fato convexas.
Conjunto de Regras DCP
Regras de alto nvel
O CVX suporta dois diferentes tipos de programao convexa
disciplinada.
Problemas de minimizao
necessrio que a funo objetivo seja convexa e nenhuma
ou mais restries.
Problemas de maximizao
necessrio que a funo objetivo seja cncava e nenhuma
ou mais restries.
Restries
Trs tipos de restries podem ser especificadas no DCP:
Restrio de igualdade ==
Ambos os lados so afim (um ou ambos os lados podem ser complexos).
Restrio de desigualdade menor que <=
O lado esquerdo convexo e o lado direito cncavo (ambos os lados
deve ser real).
Restrio de desigualdade maior que >=
O lado esquerdo cncavo e o lado direito convexo (ambos os lados
deve ser real).
Funes
As funes so caracterizadas por dois atributos.
Curvatura
Pode ser constante, afim, convexa ou cncava.
Determina as condies pela qual as expresses entram em
concordncia com as regras de expresses.
Monotonicidade
Pode ser no-crescente, no-decrescente ou no-montona.
Determina como as expresses podem ser usadas para a criao de
funes.
Compondo Funes
Regras de composio para funes convexas:
Se a funo possui argumento no-decrescente, este argumento deve
ser convexo.
Se a funo possui argumento no-crescente, esse argumento deve
ser cncavo.
Regras de composio para funes cncavas:
Se a funo possui argumento no-decrescente, este argumento deve
ser cncavo.
Se a funo possui argumento no-crescente, esse argumento deve
ser convexo.
Dados de entrada
m = 16; n = 8;
A = randn(m,n);
b = randn(m,1);
Soluo atravs do Matlab
x_ls = A \ b;
Soluo atravs do cvx
cvx_begin;
variable x(n);
minimize(norm(A*x-b) );
cvx_end;
Mnimos-quadrados
Resultados:
norm(A*x_ls-b): 2.0354 (Soluo usando Mnimos Quadrados)
norm(A*x-b): 2.0354 (Soluo 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 ]
Mnimos-quadrados
Dados de entrada
bnds = randn(n,2);
l = min( bnds, [ ] ,2 );
u = max( bnds, [ ], 2 );
Soluo atravs do Quadprog
x_qp = quadprog( 2*A'*A, -2*A'*b, [], [], [], [], l, u );
Soluo atravs do CVX
cvx_begin
variable x(n);
minimize( norm(A*x-b) );
subject to
x >= l;
x <= u;
cvx_end
Mnimos-quadrados com restries
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
Arranjo de Antenas
A ttulo aplicao ser demonstrado um problema de arranjos de
antenas formulado por H. Lebret, S. Boynd e A. Mutapcic.
Arranjos de antenas proporcionam um meio eficiente de detectar e
processar sinais provenientes de diferentes direes. Comparando
uma nica antena, que limitada em diretividade e largura de
banda, um conjunto de sensores pode ter seu diagrama de
irradiao modificado atravs de um distribuio de amplitude e
fase denominada de pesos do arranjo.
Aps o processamento das sadas das antenas, os sinais so
pesados e somados afim de fornecerem o diagrama de irradiao
do arranjo. O problema em questo consiste em encontrar pesos
que satisfaam ao conjunto de especificaes.
Arranjo de Antenas
Considere um arranjo linear de N antenas isotrpicas localizadas em x
i
, x
N
e
y
i
, y
N
. Uma onda harmnica plana com freqncia e comprimento de onda
z vinda de uma direo 0 que se propaga ao longo do arranjo. Os N sinais de
sada so convertidos para banda-base, ponderadas pelos pesos w
i
, e
somadas para fornecer o diagrama de irradiao do arranjo dado por:
y(0) = w
i
N
i=1
c
] (x
i
cos0+y
i
scn0)

Onde desejamos encontrar um vetor w tal que, y(0
tor
) = 1 e que |y(0)| seja
pequeno para |0 0
tor
| ( onde 2 a largura do feixe).
Arranjo de Antenas
O problema se torna, ento:
Minimizar: mox
i=1,,N
|y(0
i
)|
Sujeito a: y(0
tor
) = 1
Onde minimizamos os valores dos lbulos laterais. No CVX, o problema
descrito da seguinte forma:
cvx_begin
variable w(n) complex
minimize (max(obs( tcto_out_bcom w)))
subject to
tcto_tor w == 1;
Cvx_end
Observe que foi criada uma matriz A, que possui as especificaes e
configuraes acerca do arranjo de antenas e que relaciona w e y(0) tal como
y = A w.
Ilustrao do problema
Figura 18 A figura apresenta um arranjo linear de N antenas isotrpicas e uma onda harmnica
plana incidindo de uma direo
Fonte: S.P. Boyd Convex Optimization
0.
Ilustrao do problema
Figura 19 A figura A apresenta o diagrama de irradiao para um arranjo de antenas cuja diretividade no
particularizada.
Fonte: S. Boyd, H. Lebret , Antenna Array Pattern Synthesis via Convex Optimization
Ilustrao do problema
Figura 20 - A figura mostra o ganho unitrio na direo alvo com os lbulos laterais, externos ao feixe, minimizados.
Fonte: S. Boyd, H. Lebret , Antenna Array Pattern Synthesis via Convex Optimization
Ilustrao do problema
Figura 21: Diagrama de Irradiao para arranjo otimizado
Fonte: S. Boyd, H. Lebret , Antenna Array Pattern Synthesis via Convex Optimization
A figura 21 apresenta o diagrama de irradiao do arranjo aps o
processo de otimizao 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
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
Agradecimentos
Agradecemos ao Prof. Dr. Dayan Adionel Guimares (Inatel) pelo
apoio e material disponibilizado;
Ao Prof. Dr. Takaaki Ohishi (Unicamp) pela valiosa orientao e
ateno;
Ao Prof. Dr. Paulo Augusto Valente Ferreira (Unicamp) pela valiosa
orientao e ateno.
Histrico
Introduo
Funes / Conjuntos Convexos
Otimizao Convexa
Problemas de Otimizao
Mtodos de Resoluo
CVX
Aplicaes
Concluso
Agradecimentos
Referncias Bibliogrficas
Referncias Bibliogrficas
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. DElia, 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
TORGA, Bruno Lopes Mendes. Modelagem, Simulao e
Otimizao em Sistemas Puxados de Manufatura. Dissertao
(Mestrado em Engenharia de Produo). 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.