Abstractions de la machine virtuelle
4.3 La machine virtuelle abstraite
4.4.1 Le langage de spécification
Assim, em cada iteraçãok, cada subproblema é definido por:
min φ(x, µk) (4.3)
Na função de penalidade (4.2), existe a função ψ(x), que representa as restrições do problema (4.1). Esta função vai variar consoante o tipo de restrições que estão presentes no problema de opti- mização original [41]. Assim, podem-se definir três tipos de funções:
• Função para problemas com restrições de igualdade
ψ(x) =X
i∈E
|ci(x)|q q ∈ N (4.4)
• Função para problemas com restrições de desigualdade:
ψ(x) =X
i∈I
(max(0, ci(x)))q q ∈ N (4.5)
• Função para problemas com restrições de igualdade e desigualdades:
ψ(x) =X i∈E |ci(x)|q+ X i∈I (max(0, ci(x)))q q ∈ N (4.6)
4.2
Funções de penalidade
É possível classificar os métodos de penalidade em penalidade exacta e penalidade inexacta, onde a grande diferença neste métodos está no número de subproblemas criados para a obtenção da solução do problema original com restrições. Assim, nos métodos de penalidade exacta são criados um número finito subproblemas, que permitem a obtenção da solução do problema original, após um número finito de iterações [11].
Nos métodos de penalidade inexacta existe a resolução de uma sequência infinita de subproblemas sem restrições para o cálculo da solução do problema, determinando-se uma solução aproximada do problema. Exemplos de métodos de penalidade exacta conhecidos são o método de penalidade l1
26 4.2 Funções de penalidade
Neste trabalho foram aplicados a penalidadel1, a penalidade quadrática, penalidade hiperbólica,
penalidade exponencial e a penalidade dinâmica e a função Lagrangeana aumentada.
4.2.1 Função de penalidade l1
Como já foi dito, existem métodos de penalidade que após uma sucessão finita de problemas sem restrições obtém-se a solução do problemas de original (4.1) [29].
O método de penalidadel1 é um método de penalidade exacta de minimização local e permite
resolver problemas de optimização não linear com restrições [29]. Este método resolve problemas de minimização com a seguinte função de penalidade:
φ(x, µk) = f (x) + 1 µk X i∈E |ci(x)| + 1 µk X i∈I max [ci(x), 0] (4.7)
Assume-se que todas as funções são continuamente diferenciáveis. Esta função é designada por função de penalidadel1porque o termo de penalidade é de normal1. Embora seja contínua, a função
de penalidadel1não é diferenciável em todos os pontos, o que faz com que a utilização de métodos que
utilizem a informação da derivada para a resolução dos subproblemas (tais como o método de Newton) seja impossível. Esta característica é uma das grandes desvantagens que o método de penalidadel1
apresenta [29].
O algoritmo generalizado para este problema pode ser:
Algoritmo: Método de penalidade com a função de penalidadel1
• Passo 1. Dado µ0, uma aproximação inicialx0,k = 0 e c < 1
• Passo 2. Resolver min φ(x, µk) = f (x) + 1 µk X i∈E |ci(x)| + 1 µk X i∈I max [ci(x), 0] • Passo 3. Actualizar µk+1= cµkek = k + 1;
4.2 Funções de penalidade 27
4.2.2 Função de penalidade quadrática
Entre os métodos mais utilizados para a resolução de problemas de optimização não linear com res- trições está o método de penalidade quadrática. A função de penalidade quadrática é a função mais simples dos métodos de penalidade exterior, na qual o termo de penalidade mede o "nível"de violação das restrições [29]. Considerando-se o seguinte problema de optimização 4.1. Pode-se definir a função de penalidade quadrática da seguinte forma:
Q(x; µ) = f (x) + 1 2µ X i∈E c2i(x) + 1 2µ X i∈I max [ci(x), 0]2 (4.8)
ondeµ > 0 é o parâmetro de penalidade que tende para zero, f (x) é a função objectivo e o ci(x) são
as restrições do problema original (4.1).
Na iteraçãok, é necessário resolver o subproblema definido por:
min Q(x; µk) (4.9)
O parâmetro de penalidade,µk, é um parâmetro positivo e é actualizado a cada passo do algoritmo
do método de penalidade. Este parâmetro tem como objectivo obrigar que a sucessão de problemas tendem para a região admissível do problema. A solução do problema não precisa de satisfazer as restrição, mas com a diminuição do parâmetro de penalidade obriga que a violação das restrições seja cada vez mais difícil [29].
A sequência do parâmetro de penalidade pode ser escolhido de forma adaptativa, baseado na difi- culdade de minimizar a função de penalidade em cada iteração. Quando se verifica que a minimização deQ(x; µk) é difícil, pode-se escolher um µk+1que seja uma redução modesta deµk, assim, a actu-
alização deµk+1ficaria: µk+1 = 0.7µk. Se, pelo contrário, a minimização deQ(x; µk) é acessível,
então pode-se aplicar uma redução deµkmais ambiciosa, ficando:µk+1 = 0.1µk[29].
O algoritmo generalizado deste método pode se definido como:
Algoritmo: Método de penalidade quadrática
28 4.2 Funções de penalidade • Passo 2. Resolver min Q(x; µk) = f (x) + 1 2µk X i∈E c2i(x) + 1 2µk X i∈I max [ci(x), 0]2 • Passo 3. Actualizar µk+1= cµkek = k + 1;
• Passo 4. Enquanto o critério de paragem não for satisfeito voltar ao Passo 2.
4.2.3 Função de penalidade hiperbólica
Os métodos anteriormente referidos, são dos métodos mais utilizados para a resolução de problemas de optimização com restrições. Recentemente foi desenvolvido um novo método de penalidade para a resolução de problemas com restrições de desigualdade [34, 44].
Assim, considere-se o seguinte problema de optimização: min f (x)
s.a ci(x) 6 0, i ∈ I (4.10)
Para a resolução deste tipo de problemas pode utilizar, para além dos métodos já referidos, o método de penalidade hiperbólica [34, 44]. A função hiperbólica é continuamente diferenciável e é dada por: P (x, λk, τk= f (x) +X i∈I λici(x) + q λk i 2 [ci(x)]2+ τik 2 (4.11) ondeλk
i >0 e τik>0 são os parâmetros de penalidade. Os parâmetros de penalidade são actualizados
da seguinte forma: ( λk+1i = rλk i e τik+1 = τik se max ci(xk) > 0 τik+1 = qτk i e λk+1i = λki caso contrário (4.12)
Visto ser uma função continuamente diferenciável, a função de penalidade hiperbólica permite a utilização de métodos de optimização que utilizem a informação da derivada, como por exemplo o método quasi-Newton, para obter a solução do problema [34, 44].
O algoritmo generalizado para este método definido por:
Algoritmo: Método de penalidade hiperbólica
4.2 Funções de penalidade 29 • Passo 2. Resolver min P (x, λkτk) = f (x) +X i∈I λkici(x) + q λk i 2 [ci(x)]2+ τik 2 e obterxk
• Passo 3. Actualizar λk+1i eτik+1, que é dado por: (
λk+1i = rλk
i e τik+1= τik se max ci(xk) > 0
τik+1 = qτk
i e λk+1i = λki caso contrário
• Passo 4. Enquanto o critério de paragem não for satisfeito voltar ao Passo 2.
4.2.4 Função de penalidade exponencial
Considerando-se problemas de optimização não linear com restrições de desigualdade: min f (x)
s.a ci(x) 6 0, i ∈ I (4.13)
onde as funçõesf e ci são duas vezes continuamente diferenciáveis. A função exponencial associada
a problemas de optimização não linear com restrições de desigualdade é:
E(x, µk, νk) = f (x) + X i∈I 1 µk νik h eµkci(x)− 1 i (4.14)
sendoµko parâmetro de penalidade eνiko multiplicador de Lagrange associado à restriçãoci. Se as
funçõesf e ciforem duas vezes continuamente diferenciáveis então a função penalidade exponencial
também o é [24].
O algoritmo generalizado para este método é dado por:
Algoritmo: Método de penalidade exponencial
• Passo 1. Dados µ0eν0, uma aproximação inicial,x0,k = 0 e d > 0
• Passo 2. Resolver min E(x, µk, νk) = f (x) + X i∈I 1 µk νikheµkci(x)− 1 i obterxk
30 4.2 Funções de penalidade
• Passo 3. Actualizar νik+1 = νk
ieµkci(xk),µk+1= dµkek = k + 1;
• Passo 4. Enquanto o critério de paragem não for satisfeito voltar ao passo 2.
Com a actualização dos multiplicadores de Lagrange apresentados no Algoritmo anterior, sexk
for um minimizante deE(x, µ) e para µk> 1 verifica-se que:
• Se xké um ponto admissível entãoνk+1
i < νik[24];
• Se xk é um ponto não admissível então νk+1
i > νik, fazendo com que aumente o peso da
violação da restriçãoci, que permite a aproximação da região admissível de uma forma mais
rápida [24].
4.2.5 Função de penalidade dinâmica
A grande diferença entre os método de penalidade dinâmica e os métodos já apresentados é que as restrições vão estar sujeitas a parâmetros de penalidade distintos. Isto é, o parâmetro de penalidade para as restrições de igualdade vai ser diferente e é actualizado de maneira distinta do parâmetro de penalidade para as restrições de desigualdade [11].
Considerando-se um problema de optimização não linear com restrições descrito da seguinte forma:
min f (x)
s.a ci(x) = 0, i ∈ E
ci(x) 6 0, i ∈ I
(4.15)
A função de penalidade associada a este método é dado por:
L(x, αk, βk) = f (x) +X i∈E αki [ci(x)]2+ X i∈I βik(max [ci(x), 0])2 (4.16)
ondeαj eβisão os parâmetros de penalidade das restrições de igualdade e desigualdade, respectiva-
mente.
A actualização destes parâmetros, em cada iteração, é dado por:
αk+1i = αki + C |ci(x)| (4.17)