OPTIMIZAÇÃO NÃO LINEAR Opção IV - LESI Método de penalidade para PSI 2004/2005
Optimização não linear - Opção IV - LESI 1 Formulação - Programação Semi-Infinita (PSI) min f(x) x R n s.t. g i (x, t) 0, i = 1,..., m t T f(x) é a função objectivo g i (x, t), i = 1,..., m são as funções das restrições infinitas Ignoram-se as restrições finitas e as de limites simples nas variáveis finitas T R p é um produto cartesiano de intervalos ([α 1, β 1 ] [α 2, β 2 ]... [α p, β p ])
Optimização não linear - Opção IV - LESI 2 Método de transcrição de restrições As restrições infinitas g i (x, t) 0, t T, são transformadas em T [g i(x, t)] + dt = 0 em que [z] + = max{0, z}. O problema de PSI transforma-se em min s.a G i (x) x R n T f(x) [g i (x, t)] + dt = 0 i = 1,..., m Funções das restrições não diferenciáveis.
Optimização não linear - Opção IV - LESI 3 Problema aproximado min s.a G i,ɛ (x) x R n T f(x) i = 1,..., m g i,ɛ (x, t)dt = 0 com ɛ > 0(ɛ 0) e g i,ɛ (x, t) = 0, se g i (x, t) < ɛ; (g i (x,t)+ɛ) 2 4ɛ, se ɛ g i (x, t) ɛ; g i (x, t), se g i (x, t) > ɛ, Funções das restrições uma vez diferenciáveis.
Optimização não linear - Opção IV - LESI 4 Funções de penalidade simples e m φ 1 S(x, µ) = f(x) + µ φ 2 S(x, µ) = f(x) + µ 2 i=1 m T i=1 T g i,ɛ (x, t)dt (1) g i,ɛ (x, t) 2 dt (2) φ 3 S(x, µ) = f(x) + µ m i=1 T ( ) e gi,ɛ(x,t) 1 dt (3)
Optimização não linear - Opção IV - LESI 5 Problema aproximado para satisfazer a qualificação da restrição usual (problema relaxado) min x R n f(x) s.a G i,ɛ (x) τ i = 1,..., m τ > 0 (τ = τ(ɛ) 0) Lagrangeana L(x, λ) = f(x) + m i=1 λ i (G i,ɛ (x, t) τ) onde λ é o vector dos multiplicadores.
Optimização não linear - Opção IV - LESI 6 Função de penalidade Lagrangeana aumentada e exponencial Lagrangeana aumentada φ AL (x, λ, µ) =f(x) + + µ 2 m ( λ i i=1 m ( i=1 T T ) g i,ɛ (x, t)dt τ ) 2 (4) g i,ɛ (x, t)dt Exponencial φ EMP (x, λ, µ) = f(x) + 1 µ m λ i ( e µ ( R T g i,ɛ(x,t)dt τ) 1 ) (5) i=1
Optimização não linear - Opção IV - LESI 7 Método de penalidade (multiplicadores) Resolve-se uma sucessão de subproblemas min φ(x, µ) ( φal/e (x, λ, µ) ) x R n para uma sucessão de valores de µ > 0, em que φ é uma função de penalidade
Optimização não linear - Opção IV - LESI 8 Fórmula de actualização para estimar os multiplicadores de Lagrange Lagrangeana aumentada λ k+1 i = λ k i + µ T g i,ɛ (x k, t)dt, i = 1,..., m. Exponencial λ k+1 i = λ k i e µk ( R T g i,ɛ(x k,t)dt τ), i = 1,..., m.
Optimização não linear - Opção IV - LESI 9 Esquema de penalidade 1. Dada uma aproximação inicial para x (e para λ), e parâmetros µ e ɛ. 2. Iteração exterior. Aproximação inicial para as iterações interiores é a última aproximação calculada. 3. Iterações interiores. Para µ (e λ), resolver o problema sem restrições min φ(x, µ) ( φal/e (x, λ, µ) ) x R n através de uma técnica quasi-newton usando uma fórmula de actualização BFGS e uma procura unidimensional com uma regra do tipo Armijo que provoca uma redução significativa na função de penalidade. Solução: x (µ).
Optimização não linear - Opção IV - LESI 10 4. Se a aproximação calculada não é admissível ( T g i,ɛ(x(µ), t)dt τ > 0, i = 1,..., m) então actualiza-se o parâmetro de penalidade µ e o vector dos multiplicadores λ e inicia-se uma nova iteração exterior. 5. Caso contrário, se há uma evolução significativa entre as duas últimas aproximações calculadas para diferentes parâmetros de diferenciabilidade (ɛ e τ(ɛ)) então actualiza-se o parâmetro de diferenciabilidade e inicia-se uma nova iteração exterior. 6. Termina-se com a última aproximação calculada como uma aproximação à solução do problema de PSI (x x (µ)).
Optimização não linear - Opção IV - LESI 11 O solver NSIPS Nonlinear Semi-Infinite Programming Solver Os vários métodos são seleccionadas com a opção method: disc hett discretização - versão modificada de Hettich; disc halt discretização - versão modificada de Hettich com pontos pseudo-aleatórios de Halton; disc reem discretização - versão modificada de Reemtsen; penalty penalidade; penalty m multiplicadores (penalidade); sqp programação quadrática sequencial; intp pontos interiores;
Optimização não linear - Opção IV - LESI 12 Exemplo de selecção de método Para seleccionar o método de penalidade pode-se usar as variáveis de ambiente % nsips options= method=penalty % export nsips options para o sistema operativo Linux (bash) ou % type nsipsopt.ini option nsips options method=penalty ; % set OPTIONS IN=.\nsipsopt.ini para o sistema operativo Windows, invocando de seguida o solver.
Optimização não linear - Opção IV - LESI 13 Selecção das funções de penalidade A opção pf type=[p1 p2 p3] selecciona a função de penalidade a usar. Método pf type Penalidade penalty p1 φ 1 S (1) p2 φ 2 S (2) p3 φ 3 S (3) penalty m p1 φ AL (4) p3 φ E (5)
Optimização não linear - Opção IV - LESI 14 Opções para os métodos de penalidade e multiplicadores Opção Tipo Default Descrição armijo Duplo 10 1 Constante η no critério de Armijo damped Inteiro 1 0 estratégia damped BFGS não usada. Outro valor para usar. maxiteri Inteiro 400 Máximo de iterações interiores permitidas maxitero Inteiro 400 Mínimo de iterações interiores permitidas mu0 Duplo 1 Valor inicial para o parâmetro de penalidade µ 0 muf Duplo 10 Factor multiplicativo para o parâmetro de penalidade pf preci Duplo 10 4 Critério de paragem da iteração interior δ 1 pf preco Duplo 10 4 Critério de paragem da iteração exterior δ 2 pf eps Duplo 10 4 Valor inicial do parâmetro de suavização ɛ 0 reset Inteiro 0 0 sem estratégia de reinicialização da estimativa da Hessiana. Outro valor para reset. scale Inteiro 0 0 sem escalonamento da direcção. Outro valor para escalonamento.
Optimização não linear - Opção IV - LESI 15 Cálculo numérico da função de penalidade 0.035 0.03 0.025 0.02 0.015 0.01 0.005 0 0.005 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Optimização não linear - Opção IV - LESI 16 Cálculo numérico da função de penalidade Fórmula adaptativa do trapézio. A fórmula do trapézio simples no intervalo T = [a, b] é b a h(x)dx b a 2 [h(a) + h(b)]. O cálculo do integral com uma dada precisão ɛ é feito recursivamente.
Optimização não linear - Opção IV - LESI 17 Calcula-se o integral no intervalo [a, b] e nos subintervalos [ ] [ a, a+b 2 e a+b 2, b]. Se o erro entre as duas aproximações é maior que ɛ T, i.e., ( b a+b 2 b h(x)dx h(x)dx + h(x)dx) > ɛ T a a então procede-se recursivamente nos subintervalos [ ] [ a, a+b 2 e a+b 2, b]. Caso contrário aceita-se a+b 2 h(x)dx + b a+b h(x)dx como uma boa a 2 aproximação do integral. a+b 2
Optimização não linear - Opção IV - LESI 18 Opções para o cálculo do integral A opção pf int=gaussian selecciona a fórmula adaptativa Gaussiana (cada subintervalo é calculado com uma fórmula Gaussiana). A opção pf int=trapezoid selecciona a fórmula adaptativa do trapézio (cada subintervalo é calculado com uma fórmula do trapézio. Opção Tipo Default Descrição int amp Duplo 10 2 Amplitude mínima do intervalo ρ int error Duplo 10 8 Precisão de cálculo do integral ɛ T int n Inteiro 20 Número de intervalos iniciais na versão do trapézio ni, ou o número de pontos na fórmula Gaussiana. 6, 8, 16 são os números de pontos permitidos.