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

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

1 Algoritmos Genéticos em Problemas com Restrições.

Apresentações semelhantes


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

1

2 1 Algoritmos Genéticos em Problemas com Restrições

3 2 Problemas Numéricos com Restrições Ocorrem quando soluções devem satisfazer restrições quanto a valores assumidos pela solução (x i ): de domínio: mín3x 3 Inicialização, crossover e mutação garantem genes dentro do domínio de cada variável x i. Gene i {mín, máx} Todavia, não garantem que o cromossoma satisfaça restrições que relacionem valores das variáveis.

4 3 Encontrar os percentuais de investimento (p i %) em n diferentes ações que maximizam o retorno da carteira. p i {0, 1} porém p i = 1 p1 p2 p3... pn-1 pn Exemplo de Problema Numérico com Restrição Como garantir pi = 1 ?

5 4 Tipos de Restrições em Geral Tipos de Restrições –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

6 5 Técnicas para lidar com Restrições Função Penalty Eliminação de Soluções Reparo das Soluções Decodificadores de Cromossoma GENOCOP

7 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

8 7 Função Penalty (cont) Tipos de funções com relação ao grau de violação (desvio): –Logarítmica Pen(x) = log n (1 +. (desvio)) –Linear Pen(x) =. (desvio) –Quadrática Pen(x) = (. (desvio)) 2 = constante

9 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.

10 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.

11 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.

12 GE GE GEnetic algorithm for N Numerical NO O Optimization for CO CO COnstrained P P Problems Proposto por: Zbigniew Michalewicz gratuito para uso científico

13 Problema Numérico com Restrição Encontrar um vetor X ótimo para: f(x), x = (x 1,...,x q ) R q sujeito a p 0 equações: c i (x) = 0, i=0,..,p, e a m-p 0 inequações: c i (x) 0, i=p+1,..,m.

14 Exemplo: minimizar f(x) = x x x 1 - 4x 3 + 3x 4 sujeito a: -3x 1 + x 2 - 3x 3 = 0 x 1 + 2x 3 4 x 2 + 2x 4 4 x 1 3 x x i, i=1,2,3,4. Melhor solução conhecida: x* = (4/3, 4, 0, 0) f(x * ) = Problema Numérico com Restrição

15 GENOCOP é aplicado em problemas com espaços de buscas CONVEXOS

16 GENOCOP Otimizar: f(x), x = (x 1,...,x q ) R q, com (x 1,...,x q ) D R q, sendo: 1) D um conjunto convexo. 2) D é definido pelo domínio das variáveis: left k x k right k, k = 1,..,q e por um conjunto de restrições C

17 Espaços de Busca Convexos Para cada ponto do espaço de busca (x 1,...,x q ) D existe uma vizinhança da variável x k (1 k q) onde as outras variáveis x i (i=1,..., k-1, k+1,..., q) permanecem fixas. Para um ponto (x1,...,xk,...,xq) D: y sss (x1,...,xk-1,y,xk+1,...,xq) D

18 Exemplo: D R 2 definido por: -3 x 1 3, -0 x 2 8, x 1 2 x 2 x ponto (2,5) D e podemos determinar left( X1 ) = 1, right( X1 ) =, x 2 = 5 (fixo) left( X2 ) = 4, right( X2 ) = 6, x 1 = 2 (fixo) Espaços de Busca Convexos

19 18 Isso significa que: –x 1 pode variar de 1 a enquanto que x 2 =5; e –x 2 pode variar de 4 a 6 enquanto que x 1 =2 Se C=vazio então o EB é convexo e: –left(k) = l k, right(k) = r k para k=1...q Espaços de Busca Convexos

20 GENOCOP se x k vai sofrer mutação, o intervalo para mutação é consequentemente, um descendente é sempre possível. Propriedade de espaços convexos é importante para o operador de operador de mutação.

21 GENOCOP Dados dois pontos quaisquer: x 1 e x 2 D a combinação linear: a x 1 + (1-a)x 2, a [0,1] também é um ponto em D. Propriedade de espaços convexos é importante para o operador de crossover aritmético.

22 GENOCOP Classe de problemas considerada pelo GENOCOP: Otimizar: f(x 1, x 2...,x q ) sujeito às seguintes restrições lineares: l x u, l=, u=, x= Ax = b, x=, A = (a ij ), b= 1 i p e 1 j q (p = nº de equações) Cx d, x=, C = (c ij ), d= 1 i m e 1 j q (m = nº de inequações)

23 Estratégia do GENOCOP 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. Eliminar equações do conjunto de restrições. –removendo igual número de variáveis; –diminuindo o espaço de busca

24 GENOCOP Exemplo: Otimizar f f(x 1,x 2,x 3,x 4,x 5,x 6 ) 2x 1 + x 2 + x 3 = 6, x 3 + x 5 - 3x 6 = 10, x 1 + 4x 4 = 3, x 2 + x 5 120, -40 x 1 20, 50 x x 3 10, 5 x x 5 20, -5 x 6 5.

25 GENOCOP Eliminar as equações e reduzir o número de variáveis x 1 = 3 - 4x 4, x 2 = x 4 + x 5 - 3x 6, x 3 = 10 - x 5 + 3x 6 O problema original ficou reduzido à função g g(x 4,x 5,x 6 ) = f((3-4x 4 ), (-10+8x 4 +x 5 -3x 6 ), (10-x 5 +3x 6 ), x 4, x 5, x 6 )

26 GENOCOP Sujeito às seguintes restrições: (apenas inequações) -10+8x 4 +2x 5 -3x 6 120, x 4 20, x 4 +x 5 -3x 6 75, 0 10-x 5 +3x 6 10, 5 x 4 15, 0 x 5 20 e -5 x 6 5 que ainda podem ser reduzidas, por exemplo: da segunda e da quinta tem-se: 5 x

27 GENOCOP O espaço de busca resultante é convexo: para cada x k existe um intervalo possível onde as outras variáveis são fixas. Assim, para o ponto possível (x4,x5,x6) = (10,8,2) X 4 [7.25, ] enquanto x 5 =8 e x 6 =2 X 5 [6, 11] enquanto x 4 =10 e x 6 =2 X 6 [1, 2.666] enquanto x 4 =10 e x 5 =8

28 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.

29 GENOCOP II O GENOCOP II permite tratar problemas que apresentem restrições Não Lineares. Ex. Referência: pp 134 Michalewicz

30 GENOCOP III 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. GENOCOP III incorpora duas populações separadas, onde um desenvolvimento em uma população influencia avaliações dos indivíduos na outra população.

31 GENOCOP III P s ={S1,S2,S3,S4,S5,S6} e P r ={R1,R2,R3,R4} R1 R2 R3 S1 S2 R4 S6 S4 S5 S3 S7

32 GENOCOP III 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. O GENOCOP III evita muitas desvantagens de outros sistemas.

33 Operadores do GENOCOP MUTAÇÃOCROSSOVER Uniform Boundary Non-uniform Arithmetical Simple Heuristic

34 U niform M utation Genitor: x Descendente : x Um componente k (1,...,q) é escolhido aleatoriamente do vetor (x1,...,xk,...xq) e é gerado x= (x1,...xk,...xq), sendo x um valor aleatório do intervalo 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

35 B oundary M utation Genitor: x Descendente : x Um componente k (1,...,q) é escolhido aleatoriamente do vetor (x1,...,xk,...xq) e é gerado x= (x1,...xk,...xq), sendo x igual ao valor de left(k) ou right(k), com igual probabilidade.

36 N on-uniform M utation Genitor: x Descendente : x = (x1,..xk,..xq), onde: xk + (t, right(k) - xk), se bit sorteado = 0 xk - (t, xk - left(k)), se bit sorteado = 1 xk = (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

37 N on-uniform M utation Característica importante: No início a busca é feita uniformemente pelo espaço de busca (t é pequeno). Fases seguintes a busca é local.

38 A rithmetical C rossover Genitores: x1 e x2 Descendentes: x1 = a.x1 + (1-a).x2 x2 = a.x2 + (1-a).x1, a sorteado [0,1] pela característica dos espaços de busca convexos, podemos garantir que: (x1 e x2) D

39 S imple C rossover Descendentes: x1 = (x1,..., xk, yk+1,...yq) x2 = (y1,..., yk, xk+1,...xq) Genitores: x1 = (x1,...xq) x2 = (y1,...yq) crossover a partir da Kth posição: Exemplo: x1 = (8,3,1) x2 = (5,7,4) k=2 x1 = (8,3,4) x2 = (5,7,1)

40 S imple C rossover Operador pode gerar descendentes fora do domínio D. Utiliza-se um a [0,1] tal que: x1 = (x1,..,xk, a. yk+1 + (1-a).xk+1,...a. yq + (1-a).xq ) x2 = (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

41 H euristic C rossover Utiliza valores da função objetivo na determinação da direção da busca Produz um único descendente Pode não produzir descendentes

42 H euristic C rossover Genitores: x1 e x2 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

43 H euristic C rossover Importância do operador: –precisão da solução encontrada, –ajuste fino local, –pesquisa na direção mais promissora


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

Apresentações semelhantes


Anúncios Google