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

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

População inicial - GAs e MAs Aleatória ou com uma heurística de construção válido para GAs e MAs –perturbação para gerar diferentes indivíduos. –perturbação.

Apresentações semelhantes


Apresentação em tema: "População inicial - GAs e MAs Aleatória ou com uma heurística de construção válido para GAs e MAs –perturbação para gerar diferentes indivíduos. –perturbação."— Transcrição da apresentação:

1 População inicial - GAs e MAs Aleatória ou com uma heurística de construção válido para GAs e MAs –perturbação para gerar diferentes indivíduos. –perturbação anterior nos dados de entrada da heurística -> construção de diferentes soluções. nos MAs Efeitos transitórios... –Causa: ótimos locais dos processos de busca podem ser bons, mas muito “distantes” entre eles.

2 Estrutura da População Idéia básica: Aproveitar o ‘isolamento por distância´ entre indivíduos para diminuir o problema de perda de diversidade. Conceito importante: deriva genética (“random genetic drift”) migração Tarefa: veja o que acontece se num GA que você tenha já implementado para um problema X a função de fitness é constante para todo fenótipo...

3 Políticas de reprodução em MAs Escolha dos pais totalmente aleatória. Aleatória mais relacionada com o valor de fitness Otimalidade de Pareto. Crise de diversidade modifica a seleção. quando há estrutura, migração pode ser uma boa alternativa (ver por exemplo os artigo de Martina Gorges-Schleuter, Mülhenbein, Markus Schwem).

4 13 agentes  2 cromossomos  Pocket e Current. para todo agente, pocket é sempre melhor que current. agentes 2, 3, e 4 são a sua vez líderes e subordinados. se pocket subordinado melhor que pocket do líder então troca de solução pocket de 1 terá a melhor solução solução pocket/fitness solução current/fitness Exemplo de uma estrutura de população

5 PocketPropagation() e um processo de migração. Agentes usavam três diferentes heurísticas (2-opt, one-city insertion, e two-city insertion ). Soluções modificavam-se ao subir na hierarquia –exemplo: agentes 10 -> 3 -> 1... –Transputers (necessidade e inspiração) solução pocket/fitness solução current/fitness Moscato - Tinetti (`92, MA para o TSP)

6 Recombinação com “personalidade” ou “behaviour” Berretta & Moscato, in “New Ideas in Optimization”, Corne, Glover, and Dorigo (eds.), McGraw-Hill, `99 »R e um operador de recombinação “parametrizado” conciliador : R(A [0 0 1 0 1], B [1 0 1 1 0] ) -> [x 0 1 x x] -> yc rebelde:R(A [0 0 1 0 1], B [1 0 1 1 0] ) -> [1 x x 1 0] -> yr bajulador:R(A [0 0 1 0 1], B [1 0 1 1 0] ) -> [0 x x 0 1] -> yb Propriedade:d(yc,A)  d(A,B) para tudo yc Notar que para yr = [1 1 0 1 0] d(yr,A) = 5, então em geral o comportamento “rebelde” e “bajulador” não satisfazem a propriedade acima. Em geral GAs só têm tipo conciliador -> perda de diversidade

7 Recombinação com “behaviours” para o TSP ? »R e um operador de recombinação “parametrizado” conciliador : input (A, B) -> [arcos em A  B] -> yc rebelde:input (A,B) -> [arcos em B-A] -> yr bajulador:input (A,B) -> [arcos em A-B] -> yb Propriedade:d(yc,A)  d(A,B) para tudo yc ainda é válida ? Caso 1: d(A,B) = n - |A  B| onde ‘n´ é o número de cidades. Caso 2: d(A,B) = n - # de “corners comuns”

8 DPX para o TSP (Merz & Freisleben, `96) Objetivo: Recombinação que colabora com uma busca local poderosa (baseada no algoritmo de Lin-Kernighan) Problema: Mínimos locais do algoritmo de Lin-Kernighan têm muitas arestas semelhantes. Recombinações que não tenham em conta esse fato dão MAs com grandes perdas de diversidade (performance ruim). Solução:Proibir arestas em (A-B)  (B-A) ! Incluir todas as arestas em (A  B) Propriedade:d(y,A) = d(A,B) Resultado: Excelente! (com estruturas de dados adicionais)

9 Strategic Edge Crossover Introduzido por Norman & Moscato, ´92 baseado no Edge Recombination (Whitley, ´91) Composto por quatro fases: é seleção de dois tours A e B para recombinação; é construção do EdgeMap; é geração das strings provenientes de arcos de A e B; é união destas para obter um novo tour factível. é Karp´s patching heuristic !!

10 SAX, o seu ArcMap (Buriol, França, & Moscato)

11 CreateString e PatchString Strings provenientes de arcos de A e B: geradas pelo procedimento chamado CreateString. Algoritmo PatchString: factibiliza a rota.

12 MFNNRER (Holstein & Moscato, `98) MFNNRER = Multiple Fragment with Nearest Neighbour Repair Edge Recombination 1) Procure todas as arestas em S=A  B e as inclua no filho 2) Ordenar as arestas em (A  B) - S = (A-B)  (B-A) em ordem crescente de comprimento (desempate aleatório). 3) Começando pela primeira da lista, tente colocá-las no filho considerando: a) nenhuma cidade deve ter três arestas incidentes nela. b) não deve ser formado um “subtour” 4) Rodar Nearest Neighbour tendo como “input” as cidades que só tem grau 0 ou 1 nas cadeias formados no passo 3.

13 Por que tantos tipos de recombinação ? Na verdade, todas os tipos de recombinações respondem a uma estratégia mais geral. 1) Procure algum tipo de semelhança entre as duas soluções A e B, chame de S=A  B esse conjunto e o inclua no filho 2) Defina dois conjuntos S(in) e S(out) de características desejadas e não desejadas (eles podem ser vazios). 3) Restrito a observar a presença dos elementos de S, tente achar uma nova solução factível do problema que maximize (respectivamente, minimize) os elementos de S(in) (respectivamente, S(out)).

14 Por que tantos tipos de recombinação ? (continuação) Nos exemplos anteriores: MFNNRER foi usado no contexto de um MA com uma busca local muito simples (2-opt). SAX está sendo estudado num MA com uma busca local que é restrita a uma vizinhança do (3-opt). SAX e MFNNRER tentam priorizar as arestas presentes nas duas soluções pais. Fato: dois tours 2-opt tem em média 66 % de arestas comuns (“sede” de intensificação). DPX explicitamente proíbe as arestas que não estão na interseção (“sede” de diversidade pela busca local LK).

15 Novos problemas de otimização combinatória !! A recombinação pode então ser vista como uma forma heurística de resolver aproximadamente um novo tipo de problemas de otimização combinatória !!! THIRD (BETTER-THAN-WORST) HAMILTONIAN CYCLE Instância: Grafo G(V,E,W), e dois ciclos C1 e C2 em G, com C1  C2, e sem perda de generalidade Long(C1)  Long(C2). Pergunta:  algum outro C´, ciclo hamiltoniano em G, com C´  C1 e Long(C´) < Long(C2) ? Complexidade computacional desconhecida !!! (NP-completo ?) Isto significa.... Temos emprego garantido ! (não só MAs ajudam a resolver problemas NP-hard... No mesmo processo ajudamos a criar novos !!)

16 Velhos conhecidos na otimização combinatória É muito provável que a recombinação também possa fazer refletir sobre a relevância de “velhos conhecidos” problemas de otimização combinatória !!! RESTRICTED HAMILTONIAN CYCLE (RHC) Instância: Grafo G(V,E) e um caminho Hamiltoniano P em G. Pergunta:  algum ciclo hamiltoniano em G ? Complexidade computacional conhecida !!! É NP-completo... (veja Papadimitriou & Steiglitz, Combinatorial Optimization, Chapter 19, pp. 477-480). Isto significa.... Talvez exista alguma Karp-redução de RHC a nosso problema anterior que mostre que ele é NP-Completo.

17 MAs for Single Machine Scheduling (with set-up times and due dates) Mendes, França, Moscato O Problema é definido como: Input: n tarefas tem que ser processadas em uma máquina. p = {p 1,..., p n } ( vetor de tempos de processamento para cada tarefa). d = {d 1,..., d n } (vetor de datas de entrega ). –[Sij], n x n, matriz de inteiros, where Sij is the tempo de setup que a maquina precisa para começa a processar a tarefa j depois de ter completado a tarefa i. Task: Achar a permutação do conjunto de tarefas que minimize a seguinte função-objetivo onde c k é o chamado “completion time” para a tarefa k.

18 Algoritmo Memético baseado em busca local Initialize population Pop Return the best solution in Pop While not stop criterion do While not stop criterion do Evaluate Pop Recombine Parents Select Parents from Pop Optimize Pop

19 Algoritmo Memético para o SMS - Detalhes de implementação Representação -> vetor de inteiros [1,...,n] (permutações) Recombinação -> OX (Order Crossover) 7 8 6 9 Pai A1 3 2 7 8 6 9 4 5 Pai B1 7 8 4 5 6 2 3 9 Filho inicial 7 8 6 9 (Pai A) 1 7 8 6 9 (Pai B) 1 4 7 8 6 9 (Pai B) 1 4 5 7 8 6 9 (Pai B) 1 4 5 7 8 6 9 2 (Pai B) Filho final1 4 5 7 8 6 9 2 3 (Pai B)

20 Algoritmo Memético para SMS - Detalhes de implementação Mutação ->Troca de posição de tarefas –Exemplo 1 3 2 7 8 6 9 4 5  1 3 6 7 8 2 9 4 5 Original Mutado Função de Fitness onde T i e o atraso total para a solução i na população.


Carregar ppt "População inicial - GAs e MAs Aleatória ou com uma heurística de construção válido para GAs e MAs –perturbação para gerar diferentes indivíduos. –perturbação."

Apresentações semelhantes


Anúncios Google