Otimização/Métodos de penalidades

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

Predefinição:Wikipedia

Os métodos que recebem este nome fazem parte de uma família de métodos baseados em:

  • Simplicidade conceitual;
  • Eficiência prática;

Algumas das primeiras funções de penalidade foram desenvolvidas por:

  • Courant (1943)
  • Ablate Brighham (1955) (qual o artigo?)
  • AV Fiacco, GP McCormick (1968) (qual o artigo?)

Para compreender este tipo de método, será considerado o seguinte problema:

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

Adicionalmente, se for considerado o conjunto de pontos C={xn:gi(x)0,i=1,,p;hj(x)=0,j=1,,q}, o problema (P) se escreve ainda como

(P){minf(x)xC

Uma primeira idéia para a resolução desse tipo de problema é fazer uso de funções indicadoras, conforme é definido a seguir:

Predefinição:Definição

Notas: A função indicadora IC é às vezes denotada por χC.

Para transformar um conjunto (P) em um problema sem restrições, pode-se proceder da seguinte maneira: Considerar o problema (PD), dado por:

(PD){minf(x)+IC(x)xn

Considerando iC:{} definida por:

iC(t)={0,se t0,se t>0

Tem-se ainda o problema (PP), dado por:

(PP){minf(x)+i=1pi(gi(x))+j=1pi(hj(x))xn

Comentários:

  • A grande vantagem desta idéia é que ela transforma um problema com restrições em um problema irrestrito.
  • A principal desvantagem é que a função ϕ definida a seguir é descontínua em cada ponto xC:
ϕ:n{}
ϕ(x)=f(x)+i=1pi(gi(x))+j=1pi(hj(x))

Método de penalidade exterior

Para contornar a desvantagem da descontinuidade da função apresentada anteriormente, surgem outras funções, como por exemplo:

Gráfico de uma função de penalidade
H:
H(t)={0,se t0t2,se t>0

Predefinição:Clear Predefinição:Definição

Predefinição:Tarefa

Predefinição:Exercício

Predefinição:Resolução

Predefinição:Exercício

Predefinição:Tarefa

A idéia de aplicar penalizações aos pontos que não pertencem ao conjunto viável é formalizada na seguinte definição: Predefinição:Definição Nota: Lembre-se que C={xn:gi(x)0,i=1,,p;hj(x)=0,j=1,,q} é o conjunto viável do problema (P).

Em particular, as funções Hgi são funções de penalidade exterior.

Predefinição:Definição

Predefinição:Tarefa

Nota: Conforme o Wikcionário, o termo Predefinição:Wikt significa: que coage; que reprime; que impõe pena; coercitivo. Nesse sentido, esse é um termo adequado ao tratar do conceito anterior, no contexto dos métodos de penalidade.

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

Predefinição:Tarefa

Predefinição:Exercício

Predefinição:Resolução

Predefinição:Exercício

Predefinição:Resolução

Predefinição:Tarefa

Alguns conceitos da topologia

Em algumas situações, é interessante ter em mente que certos conceitos definidos no contexto da Otimização são, na verdade, instanciações de conceitos mais gerais, muitos deles provenientes da topologia. Alguns exemplos são apresentados a seguir.

Predefinição:Definição

Exemplos
  • Topologia euclidiana:
X=R
Γ=Γ1={}{X}{A:xA,ϵx>0,(xϵx,x+ϵx)A}

Em outras palavras, a topologia euclideana é a coleção de todos os conjuntos abertos contidos em . Pode-se verificar com facilidade que de fato são satizfeitas as três propriedades que definem uma topologia.

Outro exemplo muito comum é o seguinte:

  • Topologia euclideana estendida:
X=R{}
Γ=Γ1{A{}:a,A=]a,]}

Em geral, a noção de limite seria caracterizada topologicamente da seguinte forma:

Predefinição:Definição

De volta ao método

Uma vez apresentados os conceitos iniciais, pode-se provar o seguinte teorema:

Predefinição:Teorema

Predefinição:Tarefa

Predefinição:Demonstração

Predefinição:Exercício

Algoritmo de penalidade exterior

Primeiro passo: Escolha x0n, r>0 e k=1

Passo iterativo k: Calcular xk=x¯(rk), solução global de 
(P){minφ(x,rk)=f(x)+12rH(x)xn
Escolha rk tal que 0<rk<rk1

Nota: Neste algoritmo, H é uma função de penalidade exterior.

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

Implementação do algoritmo de penalidade exterior em SciLab

Considerando o problema

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

com f uma função quadrática, A simétrica positiva definida, gi,hj lineares, e a função de penalidade, H, dada por:

H(x)=i=1p(gi+(x,y))2+j=1q(hj(x,y))2

Pode-se usar o método dos gradientes conjugados para resolver o seguinte problema:

(P){minf(x)+H(x)xn

onde f+H terá sua matriz Hessiana definida positiva.

Predefinição:Tarefa

Método de penalidade interior

Este método também é conhecido como método de barreira. Ele consiste em trabalhar com funções de penalidade tais que xC e qualquer que seja a sequência {xn}C={x:gi(x)<0} para a qual xnx, se tem que a função de penalidade tende a +.

Predefinição:Tarefa

Mas como conseguir esse tipo de função?

Exemplos

Considere o caso em que gi(x)=aixbi. Lembrando que a função logarítmica tem a propriedade:

limx0+ln(x)=+

pode-se tomar H1(x)=i=1pln(biaix), pois

limaixbiln(biaix)=+

implica que

limxCH1(x)=+

Analogamente, tem-se

limx0+1x=+

então, uma outra função com a propriedade desejada é H2(x)=i=1p1biaix.

O problema a ser resolvido quando se quer aplicar o método de barreira é o seguinte:

(P){minf(x)gi(x)0;i=1,,p

onde C={x:gi(x)0,i} é tal que C0={x:gi(x)<0,i}=

Observação: C0 não é necessariamente igual ao interior do conjunto C. Por exemplo:

Predefinição:Tarefa

Predefinição:Definição

Algoritmo de barreira

Primeiro passo: Escolha x0C0, r>0 e t0>0

Passo iterativo k: Calcular xk+1=x¯(tk), solução global de 
(P){minf(x)+tkB(x)xC0
Escolha tk+1 tal que 0<tk+1<tk

Observação: Neste método os termos da sequência {xn} estão sempre em C0.

Implementação do algoritmo de barreira em SciLab

Considerando o problema

{minf(x)gi(x)0i=1,,p

pode-se usar o método de barreira no conjunto:

C={xn:gi(x)0}

Pode-se usar qualquer das funções de penalidade interior apresentadas, por exemplo:

B(x)=i=1p1gi(x)

ou ainda

B(x)=i=1pln(gi(x))

Como C0={xn:gi(x)<0}, o problema passa a ser:

{minf(x)+B(x)xC0

Observação: Note que é necessário conhecer um ponto inicial x0C0, para servir de primeira aproximação, ou ponto de partida para o algoritmo.

Predefinição:AutoCat