Otimização/Métodos duais

De testwiki
Ir para a navegação Ir para a procura


Lagrangiana

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

(P){min⁡f(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:ℝn↦ℝp definida por
G(x)=[g1(x)⋮gp(x)]

e

H:ℝn↦ℝq definida por
H(x)=[h1(x)⋮hq(x)]

Deste modo, a lagrangiana fica expressa por

l(x,u,v)=f(x)+u⊤G(x)+v⊤H(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={x∈ℝn;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,v⟩≥0 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 x−x¯, 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=x−x¯, ⟨u,v⟩ é a derivada direcional de f na direção x−x¯. 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¯,x−P¯⟩≥0,∀x∈C. Na verdade, vale:

P¯=PC(y¯)⇔⟨P¯−y¯,x−P¯⟩≥0,∀x∈C
O vetor P¯−y¯ forma ângulo menor que 90 graus com o vetor x−P¯, 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={x∈ℝn;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={x∈ℝn;gi(x)≤0,∀i∈I(a);hj(x)=0}.

Pela segunda propriedade do cone tangente, tem-se:

T(a,V∩C~)=T(a,C)=T(a,V∩C~). 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 x∈C, 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 x∈C, 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:

{min⁡f(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)=supu≥0v∈ℝql(x,u,v)

e também

β:[0,+∞)p×ℝq↦ℝ∪{−∞}, dada por
β(u,v)=infx∈ℝnl(x,u,v)

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

−∞≤supu≥0v∈ℝqβ(u,v)≤infx∈ℝnα(x)≤+∞

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

(Pr){min⁡α(x)x∈ℝn

e

(D){max⁡β(u,v)u≥0v∈ℝq
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 α¯=infx∈ℝnα(x) e β¯=supu≥0v∈ℝqβ(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){min⁡x21≤x≤2

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:

{min⁡x21≤x≤2

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¯){min⁡l(x,u¯,v¯)x∈ℝ

que no caso do exemplo reduz-se a

(Pu¯,v¯){min⁡x2+2(1−x)x∈ℝ

A solução deste problema é obtida resolvendo 2x−2=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

{min⁡f(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)=supu≥0v∈ℝql(x,u,v)

e

β:ℝp×ℝq↦ℝ∪{−∞}, dada por
β(u,v)=infx∈ℝnl(x,u,v)

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

(Pr){min⁡α(x)x∈ℝn

e

(D){max⁡β(u,v)u≥0v∈ℝq

É 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