Академический Документы
Профессиональный Документы
Культура Документы
Roteiro
Bl bl bl de Algoritmos Metaheursticas Algoritmos Genticos GRASP VNS
Bl bl bl de Algoritmos
Algoritmo: Uma seqncia de instrues bem definidas e no ambgas. Implementado para resolver um problema.
Determinsticos: O resultado de cada operao determinado de forma nica (Alg. Caminho mnimo, Ordenao, rvore Geradora Mnima, etc.) No Determinsticos: Capaz de escolher uma dentre vrias alternativas possveis a cada passo (heursticas).
Bl bl bl de Algoritmos
Em geral, os algoritmos podem ser avaliados utilizando-se o tempo de execuo e a quantidade de memria utilizada. O tempo de execuo o parmetro mais utilizado para avaliao da eficincia de algoritmos.
O tempo de execuo depende dos seguintes fatores: do programador, dos dados de entrada, da qualidade do cdigo, do hardware utilizado e da complexidade do algoritmo implementado.
Bl bl bl de Algoritmos
A funo que associa o tempo de execuo de um algoritmo ao tamanho (n) dos dados denominada complexidade em tempo do algoritmo. Classes de Problemas e funes de complexidade (1) f(n)=1 = C. Constante (2) f(n)= O(log n) = C. Logartmica (Busca Binria,
Ordenao) (3) f(n)= O(n) = C. Linear (Busca Linear) (4) f(n)= O(n2) = C. Quadrtica ( Soma de Matrizes)
Bl bl bl de Algoritmos
(5) f(n)= O(n3) = C. Cbica ( Produto de Matrizes, Caminho Mnimo Floyd) (6) f(n)=O(2n) = C. Exponencial (No so teis sob o ponto de vista prtico (Satisfabilidade). (7) f(n)=O(n!)=C. Fatorial . Bem pior que (6) (Caixeiro Viajante). Os tipos (6) e (7) aparecem na soluo de problemas quando se usa a fora bruta para resolv-los.
Bl bl bl de Algoritmos
n 2 n 3 n n 2
Bl bl bl de Algoritmos
Algoritmos polinomiais (tempo de execuo) a funo de complexidade O(p(n)), onde p(n) um polinmio. Algoritmos Exponenciais (tempo de execuo), cuja funo de complexidade O(cn).
Metaheursticas
Heurstica qualquer mtodo desenvolvido para resolver um determinado tipo de problema. As metaheursticas so defnidas como heursticas de uso mais geral ou uma heursticas das heursticas. Exemplo de heursticas - k-mdias (Centrides) - Insero Vizinho mais prximo (PCV)
Metaheursticas
So de uso geral
Simples de implementar Possuem mecanismos que possibilitam escapar de
solues de baixa qualidade.
Metaheursticas
Produzem timos globais ou timos locais de
qualidade superior aos timos produzidos por uma heurstica.
Metaheursticas
Heursticas Metaheursticas
Algoritmos Genticos
Criados por Holland (1975) baseiam-se nos processos observados na evoluo natural. Similarmente teoria biolgica dos sistemas naturais, os melhores indivduos sobrevivem e geram descendentes com suas caractersticas hereditrias.
Algoritmos Genticos
Caractersticas: Usam tcnicas de aleatorizao So robustos e de uso geral Trabalham unicamente com o valor da funo objetivo (restries podem ser incorporadas). Utilizam somente regras probabilsticas
Algoritmos Genticos
Terminologia: Cromossomo (uma soluo para o problema) Populao (conjunto de cromossomos) Gene (elementos do cromossomo)
Algoritmos Genticos
Passos necessrios para construir um algoritmo gentico (AG): Escolha da forma de representao dos cromossomos (possveis solues) Gerao da Populao Inicial (p cromossomos) Se p for pequeno o algoritmo tende a convergir para mnimos locais pobres. (utilizar em mdia p=100) Avaliao da funo objetivo para cada cromossomo
Algoritmos Genticos
Passos necessrios para construir um algoritmo gentico (AG): Utilizao de Operadores Genticos: (1) Reproduo dos melhores cromossomos para as geraes seguintes. Utiliza-se o mtodo do torneio ou mtodo da roleta viciada.
Algoritmos Genticos
Passos necessrios para construir um algoritmo gentico (AG): Reproduo Roleta Viciada.
Soluo Funo Objetivo Probabilidade de Seleo C1 15.84 0.078 C2 88.20 0,435 C3 12.10 0.060 C4 31.50 0.155 C5 55.08 0.272 Prob. Acumulada 0.078 0.513 0.573 0.728 1.000
Sortear cinco valores entre 0 e 1 e comparar com a probabilidade acumulada qi, considerando q0=0. Se qi-1<rqi, selecionamos o cromossomo Ci. Considere, por exemplo : r1=0.5083, r2=0.7712, r3=0.2792, r4=0.6913, r5=0.0053 C2, C5, C2, C4, C1. (problema minimizao 1/fobj)
Algoritmos Genticos
Passos necessrios para construir um algoritmo gentico (AG): Reproduo Mtodo do Torneio. Considerando que a populao tenha p cromossomos, efetuar p selees (A.A.S) de k cromossomos (k<m). Em cada seleo, escolher o melhor cromossomo (funo objetivo).
Selees Valores de FOBJ C1,C2 15.84, 88.20 C2,C3 88.20, 12.10 C1,C3 15.94, 12.10 C4,C1 31.50, 15.84 C5,C1 55.08, 15.84 Cromossomo Escolhido C2 C2 C1 C4 C5
Algoritmos Genticos
Passos necessrios para construir um (AG): (2) Cruzamento (Crossover) : Possibilita a combinao de trechos dos cromossomos. Ou seja, troca partes das solues, produzindo novas solues. Selecionar um percentual (25% a 75%) de cromossomos e efetuar o cruzamento dois a dois.
Cromossomo 1 Cromossomo 2 Novo crom. 1 Novo crom. 2 Tipos de Crossover: Um ponto, Dois pontos, k pontos ou uniforme.
Algoritmos Genticos
Passos necessrios para construir um (AG): (3) Mutao (Mutation): Corresponde a uma pequena perturbao em uma soluo (cromossomo), objetivando regenerar algum cromossomo que tenha sido eliminado. Seleciona-se um percentual baixo de cromossomos e um percentual baixo (1% a 5%) de genes em cada cromossomo.
Posies em azul sofreram mutao.
Algoritmos Genticos
Aplicao do AG: Problema de Agrupamento. Def: Considere um conjunto de n objetos com s atributos (variveis). Deseja-se distribuir os objetos em k grupos, de forma que os objetos mais homogneos entre si fiquem em um mesmo grupo, considerando uma particular funo objetivo (desvio quadrtico, varincia, mediana, etc). Solues:
n 16 16 32 k 2 3 3 Nmero Possibilidades 32.767 7.141.686 308.834.550.658.326
Algoritmos Genticos
Aplicao do AG: Problema de Agrupamento. Representao de uma soluo (possvel agrupamento dos objetos). Utilizar um vetor de n posies. Cada posio conter um valor entre 1 e k. Gerar p cromossomos. Ex: k=3 e n=8.
1 1 3 3 2 1 2 1 1 2 3 2 3 1 1 1 1 2 2 2 2 3 1 2 1 1 1 2 3 3 3 3
Algoritmos Genticos
Aplicao do AG: Problema de Agrupamento. Cruzamento 1 ponto:
Cromossomos Pais Cromossomos Filhos
1 1 1 1
2 1 2 1
1 2 1 2
3 1 1 3
1 2 2 1
2 3 2 3
1 1 1 1
3 3 3 3
Algoritmos Genticos
Aplicao do AG: Problema de Agrupamento. Mutao:
Antes Mut. Depois Mut.
3 3 2 2 3 3 1 1 2 3 1 1 1 1 3 3
Algoritmos Genticos
Aplicao do AG: Problema de Agrupamento. Aplicao da Reproduo, Cruzamento e Mutao, considerando como critrio de parada: q geraes, ou t geraes sem melhora, ou um tempo mximo de processamento. Ao final do processamento, o cromossomo com menor (problema de minimizao ) valor da funo objetivo corresponder melhor soluo vivel (agrupamento).
f=2
f=2.3
f=1.9
f=1.8
f=1.95
GRASP
Aplicao do GRASP: Problema de Caixeiro Viajante Dado um conjunto de m cidades e definidas as distncias entre todas as cidades, tomadas duas a duas, deseja-se determinar um tour que passe por todas as cidades (ciclo) de forma que a soma das distncias seja mnima. Solues = (m-1) !
Estrutura:Grafo Cidades = Ns Ligaes=Arestas (com distncias entre duas cidades i e j)
GRASP
Aplicao do GRASP: Problema de Caixeiro Viajante Procedimento de Construo: 1o elemento da soluo so uma das m cidades (aleatria). LC (inicialmente as m-1 cidades) (1) Avalio o custo de insero de cada um dos m-1 ns na rota. (2) Critrio (2) (=0.5) LCR ={eLC|custo(e)Cmin+.(Cmax-Cmin)}
GRASP
Aplicao do GRASP: Problema de Caixeiro Viajante (3) Seleciono um elemento e de LCR que corresponde a um n para ser inserido na rota. (4) Atualizo LC (5) Nova LCR ...
GRASP
Aplicao do GRASP: Problema de Caixeiro Viajante Procedimento de Busca Local: Escolher um n i da rota Escolher um n j da rota Trocar de posio i com j
b i
c d j
D-(Dia+Dib)+(Dja+Djb)-(Djc+Djd)+(Dic+Did)
V1
V1 V1 V2