A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos Genéticos em Problemas com Restrições

Apresentações semelhantes


Apresentação em tema: "Algoritmos Genéticos em Problemas com Restrições"— Transcrição da apresentação:

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


Carregar ppt "Algoritmos Genéticos em Problemas com Restrições"

Apresentações semelhantes


Anúncios Google