Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouYan Da Costa Alterado mais de 10 anos atrás
1
Algoritmos Genéticos em Problemas com Restrições
2
Problemas Numéricos com Restrições
Ocorrem quando soluções devem satisfazer restrições quanto a valores assumidos pela solução (xi): de domínio: mín<xi<máx que relacionam variáveis do problema: 2x1+4x2>3x3 Inicialização, crossover e mutação garantem genes dentro do domínio de cada variável xi. Genei {mín, máx} Todavia, não garantem que o cromossoma satisfaça restrições que relacionem valores das variáveis.
3
Exemplo de Problema Numérico com Restrição
Encontrar os percentuais de investimento (pi%) em n diferentes ações que maximizam o retorno da carteira. pi {0, 1} porém pi = 1 p1 p2 p pn-1 pn Como garantir pi = 1 ?
4
Tipos de Restrições em Geral
soft: solução que não satisfaz restrição; não é a preferida; há solução melhor hard: solução que não satisfaz a restrição; não é válida domínio: solução deve sempre satisfazer
5
Técnicas para lidar com Restrições
Função Penalty Eliminação de Soluções Reparo das Soluções Decodificadores de Cromossoma GENOCOP
6
Função Penalty Geram-se soluções sem se considerar as restrições.
Soluções que violam restrições são penalizadas. Aptidão (x) = Aval(x) + Pen(x) se problema de mínimo Aptidão (x) = Aval(x) - Pen(x) se problema de máximo Pen(x) = 0 para soluções que atendem a restrição Pen(x) 0 para soluções que não atendem a restrição
7
Função Penalty (cont) Tipos de funções com relação ao grau de violação (desvio): Logarítmica Pen(x) = logn (1 + . (desvio)) Linear Pen(x) = . (desvio) Quadrática Pen(x) = ( . (desvio))2 = constante
8
Eliminação de Soluções
Soluções que violam restrições são eliminadas: Aptidão (x) = 0 Novas soluções têm que ser geradas para completar a população. Muitos dos indivíduos criados e avaliados podem ser descartados; baixo desempenho do GA. Utiliza-se essa técnica em problemas onde é baixa a probabilidade de gerar soluções inválidas pelos operadores genéticos.
9
Reparo da Solução Soluções que violam restrições são corrigidas por um algoritmo de reparo específico. Algoritmos de reparo são determinísticos e podem ser intensivos computacionalmente. A utilização também depende da probabilidade de geração de soluções que violam restrições.
10
Decodificadores Transforma um cromossoma em uma solução válida.
Pode também utilizar operadores genéticos especialmente desenvolvidos para o problema. Decodificadores e operadores podem ser complexos, intensivos computacionalmente, ou mesmo impossíveis de serem concebidos. Quando corretamente concebidos, oferecem excelente desempenho ao modelo genético.
11
GE N O CO P Proposto por: GEnetic algorithm for Numerical
Optimization for COnstrained Problems Proposto por: Zbigniew Michalewicz gratuito para uso científico
12
Problema Numérico com Restrição
Encontrar um vetor X ótimo para: f(x), x = (x1,...,xq) Rq sujeito a p 0 equações: ci(x) = 0, i=0,..,p, e a m-p 0 inequações: ci(x) 0, i=p+1,..,m.
13
Problema Numérico com Restrição
Exemplo: minimizar f(x) = x x x1 - 4x3 + 3x4 sujeito a: -3x1 + x2 - 3x3 = x1 + 2x3 4 x2 + 2x4 x1 3 x4 xi , i=1,2,3,4. Melhor solução conhecida: x* = (4/3, 4, 0, 0) f(x*) =
14
GENOCOP é aplicado em problemas com espaços de buscas CONVEXOS
15
GENOCOP Otimizar: f(x), x = (x1,...,xq) Rq,
com (x1,...,xq) D Rq , sendo: 1) D um conjunto convexo. 2) D é definido pelo domínio das variáveis: leftk xk rightk , k = 1,..,q e por um conjunto de restrições C
16
Espaços de Busca Convexos
Para cada ponto do espaço de busca (x1,...,xq) D existe uma vizinhança <left(k), right(k)> da variável xk (1 k q) onde as outras variáveis xi (i=1,..., k-1, k+1,..., q) permanecem fixas. Para um ponto (x1,...,xk,...,xq) D: y <left(k), right(k)> sss (x1,...,xk-1,y,xk+1,...,xq) D
17
Espaços de Busca Convexos
Exemplo: D R2 definido por: -3 x1 3, -0 x2 8, x12 x2 x1 + 4 ponto (2,5) D e podemos determinar left(X1) = 1, right(X1) = , x2 = 5 (fixo) left(X2) = 4, right(X2) = , x1 = 2 (fixo)
18
Espaços de Busca Convexos
Isso significa que: x1 pode variar de 1 a enquanto que x2=5; e x2 pode variar de 4 a 6 enquanto que x1=2 Se C=vazio então o EB é convexo e: left(k) = lk, right(k) = rk para k=1 ...q
19
GENOCOP Propriedade de espaços convexos é importante para o operador de operador de mutação. se xk vai sofrer mutação, o intervalo para mutação é <left(k), right(k)> consequentemente, um descendente é sempre possível.
20
GENOCOP Propriedade de espaços convexos é importante para o operador de crossover aritmético. Dados dois pontos quaisquer: x1 e x2 D a combinação linear: a x1 + (1-a)x , a [0,1] também é um ponto em D.
21
GENOCOP Classe de problemas considerada pelo GENOCOP: Otimizar:
f(x1, x2 ...,xq) sujeito às seguintes restrições lineares: l x u , l= <l1,...,lq>, u= <u1,...,uq>, x= <x1,...,xq> Ax = b , x= <x1,...,xq> , A = (aij), b= <b1,...,bp> i p e 1 j q (p = nº de equações) Cx d , x= <x1,...,xq> , C = (cij), d= <d1,...,dm> i m e 1 j q (m = nº de inequações)
22
Estratégia do GENOCOP Eliminar equações do conjunto de restrições.
removendo igual número de variáveis; diminuindo o espaço de busca As restrições restantes são inequações lineares e formam um conjunto convexo Combinações lineares de soluções produzem soluções sem necessidade de se verificar as restrições.
23
GENOCOP Exemplo: Otimizar f f(x1 ,x2 ,x3 ,x4 ,x5 ,x6 )
24
GENOCOP Eliminar as equações e reduzir o número de variáveis
x1 = 3 - 4x4, x2 = x4 + x5 - 3x6, x3 = 10 - x5 + 3x6 O problema original ficou reduzido à função g g(x4,x5,x6) = f((3-4x4), (-10+8x4+x5-3x6), (10-x5+3x6), x4, x5, x6)
25
GENOCOP Sujeito às seguintes restrições: (apenas inequações)
-10+8x4+2x5-3x6 120, -40 3-4x4 20, 50 -10+8x4+x5-3x6 75, 0 10-x5+3x6 10, 5 x4 15, 0 x5 e -5 x6 5 que ainda podem ser reduzidas, por exemplo: da segunda e da quinta tem-se: 5 x4 10.75
26
GENOCOP O espaço de busca resultante é convexo:
para cada xk existe um intervalo possível <left(k), right(k)> onde as outras variáveis são fixas. Assim, para o ponto possível (x4,x5,x6) = (10,8,2) X4 [7.25, ] enquanto x5=8 e x6=2 X5 [6, 11] enquanto x4= e x6=2 X6 [1, 2.666] enquanto x4= e x5=8
27
GENOCOP O GENOCOP tenta encontrar uma solução inicial buscando regiões possíveis. Se um determinado número de tentativas fracassar, o GENOCOP solicita ao usuário que informe um ponto inicial possível. A população inicial é formada por cópias do ponto inicial.
28
GENOCOP II O GENOCOP II permite tratar problemas que apresentem restrições Não Lineares. Ex. Referência: pp 134 Michalewicz
29
GENOCOP III GENOCOP III incorpora duas populações separadas, onde um desenvolvimento em uma população influencia avaliações dos indivíduos na outra população. A primeira população é chamada de pontos de busca e satisfaz as restrições lineares; A segunda população é chamada de pontos de referência e satisfaz todas as restrições.
30
GENOCOP III Ps={S1,S2,S3,S4,S5,S6} e Pr={R1,R2,R3,R4} S7 S1 R1 R3 S3
31
GENOCOP III O GENOCOP III evita muitas desvantagens de outros sistemas. Introduz poucos parâmetros adicionais (tamanho da população dos pontos de referência, probabilidade de substituir). Sempre retorna soluções válidas. A vizinhança ao melhor ponto de referência é explorada com maior freqüência. Alguns pontos de referência são movidas para a população de busca.
32
Operadores do GENOCOP MUTAÇÃO CROSSOVER Uniform Boundary Non-uniform
Arithmetical Simple Heuristic
33
Uniform Mutation Genitor: x Descendente : x’
Um componente k (1,...,q) é escolhido aleatoriamente do vetor (x1, ...,xk,...xq) e é gerado x’= (x1,...x’k,...xq), sendo x’ um valor aleatório do intervalo <left(k),right(k)> Importância: Nas primeiras fases - permitir que as soluções se movam por todo espaço de busca Nas fases posteriores - permitir que a solução saia de um mínimo local
34
Boundary Mutation Genitor: x Descendente : x’
Um componente k (1,...,q) é escolhido aleatoriamente do vetor (x1, ...,xk,...xq) e é gerado x’= (x1,...x’k,...xq), sendo x’ igual ao valor de left(k) ou right(k), com igual probabilidade.
35
Non-uniform Mutation Genitor: x
Descendente : x’ = (x1,..x’k,..xq), onde: xk + (t, right(k) - xk) , se bit sorteado = 0 xk - (t, xk - left(k)) , se bit sorteado = 1 x’k = (t,y) = y . r . (1 - t/T)b, retorno entre [0,y] r = sorteado entre [0,1] t = geração T = número máximo de gerações b = grau de não - uniformidade
36
Non-uniform Mutation Característica importante:
No início a busca é feita uniformemente pelo espaço de busca (t é pequeno). Fases seguintes a busca é local.
37
Arithmetical Crossover
Genitores: x1 e x2 Descendentes: x’1 = a.x1 + (1-a).x x’2 = a.x2 + (1-a).x1 , a sorteado [0,1] pela característica dos espaços de busca convexos, podemos garantir que: (x’1 e x’2) D
38
Simple Crossover Genitores: x1 = (x1,...xq) x2 = (y1,...yq)
crossover a partir da Kth posição: Descendentes: x’1 = (x1,..., xk, yk+1,...yq) x’2 = (y1,..., yk, xk+1,...xq) Exemplo: x1 = (8,3,1) x2 = (5,7,4) x’1 = (8,3,4) x’2 = (5,7,1) k=2
39
Simple Crossover Operador pode gerar descendentes fora do domínio D.
Utiliza-se um a [0,1] tal que: x’1 = (x1,..,xk, a . yk+1 + (1-a).xk+1,...a . yq + (1-a).xq ) x’2 = (y1,..,yk, a . xk+1 + (1-a).yk+1,...a . xq + (1-a).yq ) - partindo de a=1 tenta-se o maior valor de a
40
Heuristic Crossover Utiliza valores da função objetivo na determinação da direção da busca Produz um único descendente Pode não produzir descendentes
41
Heuristic Crossover Se x3 D : novo r é sorteado
Genitores: x1 e x Descendente: x3 x3 = r.(x2-x1) + x2 r, sorteado entre 0 e 1 x2 não é pior que x1, isto é, f(x2) f(x1) para problemas de máximo f(x2) f(x1) para problemas de mínimo Se x3 D : novo r é sorteado Se após w tentativas não for encontrada solução, nenhum descendente é criado
42
Heuristic Crossover precisão da solução encontrada, ajuste fino local,
Importância do operador: precisão da solução encontrada, ajuste fino local, pesquisa na direção mais promissora
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.