Otimização/Métodos duais

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa


Lagrangiana

O conceito de lagrangiana está sempre relacionado ao seguinte problema:

(P){minf(x)gi(x)0;i=1,,phj(x)=0;j=1,,q

Predefinição:Definição

Predefinição:Wikipédia

Em alguns livros é usada a seguinte notação:

G:np definida por
G(x)=[g1(x)gp(x)]

e

H:nq definida por
H(x)=[h1(x)hq(x)]

Deste modo, a lagrangiana fica expressa por

l(x,u,v)=f(x)+uG(x)+vH(x)

que é uma representação bem mais compacta.

Condições de otimalidade

Para permitir a compreensão da importância da função lagrangiana em otimização, é preciso ter em mente os principais resultados que garantem a otimalidade de uma solução para o problema (P). Nas próximas seções será apresentado um breve resumo das condições de otimalidade, dividindo-as em dois casos:

  • Caso particular: quando C={xn;gi(x)0 e hj(x)=0} é convexo e fechado.
  • Caso geral: quando C é arbitrário.

Caso particular

Predefinição:Proposição Predefinição:Demonstração

Observação

A condição u,v0 significa que os vetores u e v formam um ângulo reto ou agudo (menor ou igual a 90 graus), conforme indicado na figura a seguir:

Em um ponto de mínimo, f sempre forma ângulo menor ou igual a 90 graus com os vetores do tipo xx¯, onde x¯ é um ponto de mínimo da função no conjunto viável C e x é um ponto qualquer deste conjunto.

No caso específico, com u=f e v=xx¯, u,v é a derivada direcional de f na direção xx¯. Quando tal número é não negativo, intuitivamente a função cresce naquela direção.


Quando C é um conjunto convexo e fechado, a existência de uma solução para o problema (P) é garantida pela seguinte proposição:

Predefinição:Proposição Predefinição:Demonstração

Até aqui, não é exigido que qualquer das funções gi ou hj sejam diferenciáveis. Isto será utilizado mais adiante, nos algoritmos.

A próxima proposição fornece uma caracterização dos minimizadores, em termos do conceito de projeção.

Lembre-se que a projeção de um ponto y¯ sobre o conjunto C, denotada por P¯=PC(y¯), satisfaz P¯y¯,xP¯0,xC. Na verdade, vale:

P¯=PC(y¯)P¯y¯,xP¯0,xC
O vetor P¯y¯ forma ângulo menor que 90 graus com o vetor xP¯, pois P¯ é a projeção de y¯ sobre o conjunto C.

Predefinição:Proposição Predefinição:Demonstração

Caso geral

Para tratar este caso, é preciso utilizar o conceito de cone tangente. O conjunto contínua o mesmo, ou seja, C={xn;gi(x)0 e hj(x)=0}, embora não seja mais suposto que ele é convexo. Mesmo assim, C ainda será fechado, pois as funções gi e hj que o definem são contínuas.

Predefinição:Teorema

Este teorema pode ser demonstrado de forma análoga a que foi feita anteriormente. Predefinição:Demonstração

Seja C~ definido como:

C~=C~a={xn;gi(x)0,iI(a);hj(x)=0}.

Pela segunda propriedade do cone tangente, tem-se:

T(a,VC~)=T(a,C)=T(a,VC~). Logo,
T(a,C)=T(a,C~)

Em outras palavras, se é dado um conjunto C~ e depois se restringe tal conjunto para C, através do acréscimo de restrições inativas em um ponto a, os cones tangentes aos dois conjuntos (no ponto a) coincidem.

Predefinição:Definição

Predefinição:Wikipédia Observação: Também se pode dizer condições de regularidade das restrições (do inglês, Regularity conditions).

Exemplos de condições de qualificação das restrições

(1) Se gi e hi são funções afim-lineares, então para qualquer xC, tem-se T(x,C)=L(x,C). Prova-se isso trivialmente Predefinição:Prova

(2) Condições de Slater: Se as funções gi são convexas e as hi são afim lineares e, além disso, existe x^C tal que gi(x^)<0 para todo i, hj(x^)=0, então para qualquer xC, tem-se T(x,C)=L(x,C). Predefinição:Prova

(3) Condições de Mangasarian-Fromowitz: Se {hj(x)} é linearmente independente e existe d~ tal que hj(x),d~=0 para tpdp j e gi(x),d~<0. Predefinição:Prova

Predefinição:Teorema

Predefinição:Wikipédia

Note que aqui aparece a lagrangiana, pois a primeira condição é equivalente a:

xl(x,u,v)=0

O essencial para a existência de l(u,v) é que T(x¯,C)=L(x¯,C).

Predefinição:Teorema

A partir deste teorema são construídos alguns algoritmos.

Predefinição:Tarefa

Considere o seguinte problema:

{minf(x)gi(x)0;i=1,,phj(x)=0;j=1,,q

Sabe-se que l:n×p×q dada por

l(x,u,v)=f(x)+i=1puigi(x)+j=1qvjhj(x).

Agora, tem-se as KKT:

Predefinição:Teorema

Uma inequação sobre ínfimos e supremos

Predefinição:Teorema

Predefinição:Demonstração

Predefinição:Exercício Predefinição:Demonstração

Defina-se a função:

α:n{+}, dada por
α(x)=supu0vql(x,u,v)

e também

β:[0,+)p×q{}, dada por
β(u,v)=infxnl(x,u,v)

Conforme o exercício anterior, tem-se então

supu0vqβ(u,v)infxnα(x)+

Observando a relação entre essas funções, é natural considerar dois problemas de otimização:

(Pr){minα(x)xn

e

(D){maxβ(u,v)u0vq
Comentários
  1. As funções α e β são conhecidas na literatura como funções em dualidade (ou mais frequentemente, funções duais);
  2. O problema (Pr) é conhecido como problema primal, enquanto (D) é chamado de problema dual;
  3. Fazendo α¯=infxnα(x) e β¯=supu0vqβ(u,v), segue-se do exercício anterior que β¯α¯;
  4. A diferença α¯β¯ é chamada de brecha de dualidade, ou salto de dualidade (do inglês, skip duality);


Predefinição:Exercício Predefinição:Resolução Predefinição:Exercício Predefinição:Resolução


Exemplo numérico: problema primal e seu dual

Considere o problema

(P){minx21x2

Predefinição:Resolução

Ponto de sela

Este é um conceito muito importante relacionado à lagrangiana.

Predefinição:Definição

Predefinição:Teorema Predefinição:Demonstração

Predefinição:Wikipédia

Exemplos

Considere novamente o problema de otimização dado por:

{minx21x2

Verificar se a lagrangiana associada à (P) tem ponto de sela.

Predefinição:Resolução

Análise do problema

Considerando (P), (Pr), (D) e l, se (u¯,v¯) é uma solução do problema dual, considere o seguinte problema:

(Pu¯,v¯){minl(x,u¯,v¯)x

que no caso do exemplo reduz-se a

(Pu¯,v¯){minx2+2(1x)x

A solução deste problema é obtida resolvendo 2x2=0, sendo portanto x=1. Note que esta é a solução do problema primal (Pr) (e consequentemente do problema original (P)).

Será apenas uma coincidência? Ou ainda, em que situações a solução deste último problema será também solução do problema original?

A resposta será dada pelo próximo teorema. Acompanhe.

Predefinição:Teorema

Antes da demonstração, vale a pena imaginar a seguinte aplicação da segunda parte do teorema: Se por alguma razão não se sabe resolver o problema original (P), pode-se optar por resolver (D) (um problema concavo em um poliedro), e depois resolver (Pu¯,v¯) (que é um problema convexo sem restrições). Em outras palavras, é possível trocar um problema difícil por dois problemas mais fáceis, (D) e (Pu¯,v¯).

Agora a demonstração do teorema: Predefinição:Demonstração Predefinição:Exercício

Predefinição:Exercício Predefinição:Exercício

A seguir será apresentada uma proposição que responde a uma pergunta deixada anteriormente:

Predefinição:Proposição Tal proposição fornece um roteiro para quem precisa resolver o problema (P) relativamente difícil:

  1. Primeiramente, resolve-se (D);
  2. Depois, constrói-se o problema (Pu¯,v¯) e encontra-se uma solução x¯ para o mesmo;
  3. Finalmente, se x¯ satisfaz as últimas condições da proposição, ele é também uma solução de (P).

Predefinição:Demonstração

Resumo do esquema de dualidade

Neste ponto, pode-se sintetizar a estratégia geral para a resolução de problemas de otimização utilizando esquemas de dualidade.

Considere o problema

{minf(x)gi(x)0;i=1,,phj(x)=0;j=1,,q

onde f,gi,hj:n são funções de classe 𝒞1(n), e seja a lagrangiana l:n×p×q definido por

l(x,u,v)=f(x)+i=1puigi(x)+j=1qvjhj(x).

Convenciona-se que:

  • x é a variável primal;
  • (u,v) é a variável dual;

Nesse sentido, "o p×q é o dual de n" (não confundir com o significado que essa expressão teria na análise funcional. Ver nota sobre a terminologia), ou seja:

  • n é onde "mora" a variável primal x;
  • p×q é onde "mora" a variável dual (u,v);

Definem-se então as funções α e β da seguinte maneira:

α:n{+}, dada por
α(x)=supu0vql(x,u,v)

e

β:p×q{}, dada por
β(u,v)=infxnl(x,u,v)

A partir destas duas funções, formulam-se os seguintes problemas duais:

(Pr){minα(x)xn

e

(D){maxβ(u,v)u0vq

É possível verificar que (Pr) equivale ao problema original (P) e que (D) consiste da maximização de uma função côncava em um poliedro (convexo).

Logo, o dual de (P) é (D).

Conclusões

Dado qualquer problema (P), seu dual (D) é um problema côncavo (isto é, a função objetivo é côncava), tal que os pontos satisfazendo o conjunto de restrições formam um poliedro convexo.

Apesar da controvérsia filosófica existente acerca do nome destes conceitos (coisa que poderia muito bem vir a ser alterada no futuro), a moral da história é que "transforma-se um problema geralmente difícil (sem estrutura) em um problema mais fácil (cheio de estrutura)".

Uma nota sobre a terminologia

Na subárea da matemática denominada Predefinição:Busca, quando se tem um espaço topológico X, costuma-se chamar de dual topológico ao conjunto X*={t:X;t é linear e continua}.

Aparentemente, os conceitos de dual da otimização e da análise funcional não tem relação um com o outro.

Um dos primeiros a falar de dualidade (espaços duais) foi o francês Fenchel, mas foi fortemente criticado por Urruty e Lemaréchal, pois os dois conceitos de dualidade não estão relacionados. Também o francês Brezis concordou que há um problema a ser resolvido com a nomenclatura, e um dos conceitos deveria deixar de ser chamado assim.

Predefinição:Wikipédia

Predefinição:AutoCat