Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Boom: surgimento de computadores massivamente paralelos (computao sria e barata) So mtodos de BUSCA e no de otimizao
Lentos para aplicaes onde podem ser usados mtodos que utilizem derivadas mtodos especficos para o problema
Mtodos Discutidos
Simulated Annealing
nico com prova de convergncia, ,de grande importncia histrica lento para a maioria das aplicaes
Algoritmos Genticos
muito utilizado atualmente, em geral hbrido
Busca Tabu
heurstica sobreposta a outra heurstica, evita ciclos viciosos
Times Assncronos
uma filosofia de programao especfica para mquinas paralelas
Simulated Annealing
Simulated Annealing
Traduo: recozimento simulado (?!?)
Se o resfriamento for suficientemente lento, ser formada uma estrutura cristalina sem falhas, muito bem organizada, de mnima energia O metal levado para um estado de mais alta energia, para que tenha chance de descer novamente para uma estrutura mais organizada Quanto maior a temperatura, maior a liberdade de movimento dos tomos.
Analogia
Energia Temperatura --> valor da funo objetivo --> probabilidade de aceitao de uma soluo de maior energia (soluo pior)
a partir de uma soluo, gerada outra soluo prxima a transio da soluo velha para para a soluo nova automtica se significa reduo da energia transies para estados de mais alta energia so permitidas segundo uma probabilidade funo da temperatura e da diferena de energia Temperatura, diferena: maior probabilidade
Parmetros Envolvidos
temperatura inicial esquema de resfriamento - T k+1 = f(T k) nmero de iteraes com a mesma temperatura (n2) nmero de ciclos de resfriamento(n1) estrutura de vizinhana Escolha do esquema de resfriamento MUITO IMPORTANTE MESMO !!!
T alta: entra e sai das bacias de atrao, no para nunca BUSCA ALEATRIA T baixa: no vai conseguir fugir de um mnimo local MTODO DE OTIMIZAO LOCAL
Esquema do Mtodo
determinar temperatura inicial T determinar estado inicial S para k=1 .. n1 faa para j=1 .. n2 faa determine um vizinho S* da soluo atual DE = E(S*) - E(S) se DE< 0 ento S=S* se DE >0 mas rand(0,1) < exp(-DE/T) ento S=S* retornar T=f(T) retornar
Algoritmos Genticos
Algoritmos Genticos
Baseiam-se no mecanismo de evoluo natural das espcies: sobrevivncia do mais apto Toda a informao sobre um indivduo (todas suas caractersticas) est contida em seus genes
Em uma populao, mais provvel que: o mais apto sobreviva os mais fortes passam os seus genes para a prxima gerao Alguns fenmenos so equiprovveis: mutao migrao
Analogia
genes indivduo populao aptido -> -> -> -> codificao soluo tentativa vrias solues ao mesmo tempo valor da funo objetivo
Exemplo de Codificao: Caixeiro Viajante 8 Cidades: A B C D E F G H 000 001 010 011 100 101 110 111 Indivduo representa a ordem de visita s cidades AEDFGBCH - 000100011101110001010111 DFCBGHAE - 011101010001110111000100 CDIGO CLSSICO SE APLICA CODIFICAO INDEPENDENTE DO PROBLEMA (Vantagem ou desvantagem?)
Operadores Clssicos
Codificao
indivduo: 010110011101001
Cruzamento
Pai: 010110011101001 Me: 001011101100101 Filhos: 010110101100101 001011011101001 (opcional)
Mutao
Original: 010110101100101 Aps mutao: 010110101110101
Parmetros importantes
tamanho da populao nmero de geraes nmero de filhos por cruzamento taxa de cruzamento (tipicamente 70%)
Esquema do Mtodo
iniciao da populao, determinao dos parmetros para cada gerao faa: avaliao da aptido de cada indivduo combinao de toda a populao dois a dois para cada par, faa: determine 0<rand<1 se rand<pcruz aplique o operador cruzamento neste casal para cada indivduo , faa: determine 0<rand<1 se rand<pmut aplique o operador mutao neste indivduo
AG Aditivados
Elitismo Restarting Busca Local Codificao Real
Niching
Migrao (esquema de ilhas) Hibridao Micro GA
Programao Evolucionria
apenas operaes unitrias, codificao binria
Estratgias Evolucionrias
apenas operaes unitrias, codificao real
Programao Gentica
qual o melhor cdigo para dada operao
Existe uma certa inrcia no movimento dos pssaros, ou seja, no possvel alterar de forma instantnea a direo de sua velocidade
Analogia
Pssaro Velocidade Pssaro lder --> ponto no espao n-dimensional --> direo de busca a ser adotada --> melhor soluo encontrada at o momento
peso de inrcia w: controlar o impacto da histria prvia de velocidade na velocidade atual w: explorao global w: explorao local O parmetro w reduzido a cada iterao, para aumentar a capacidade de explorao local (como no simulated annealing)
PARMETROS ENVOLVIDOS parmetro de inrcia w (inicial: 0,9 final: 0,05) peso da experincia individual c1 (~1) peso da experincia coletiva c2 (~1)
Esquema do Mtodo
arbitrar a posio inicial dos indivduos x0 arbitrar a velocidade inicial dos indivduos v0 para cada iterao k faa calcule wk+1=f(wk) para cada pssaro faa avalie o valor da funo objetivo se esta a sua melhor posio, atualize p se cabvel, atualize o lder b para cada pssaro, faa calcule a velocidade atravs de vk+1 = w vk +rand(0,1) c1 (p-xk) +rand(0,1) c2 (b-xk) atualize a posio xk+1 = xk +vk+1 se algum critrio de parada atingido, finalize
Busca Tabu
Busca Tabu
Heurstica a ser sobreposta a outra heurstica MOTIVAO Muitos animais, mesmo que acostumados a fazer uma determinada rota, a alteram quando percebem algum fator ambiental adverso Aps algum tempo, eles retornam a este caminho usual BUSCA TABU: Algumas direes de busca so consideradas proibidas (um tabu) durante um certo tempo, a fim de incentivar a busca em outras regies Com isto, evitam-se os ciclos, tpicos em problemas que envolvam grafos
Times Assncronos
Times Assncronos
Tcnica que rouba operadores de qualquer outra tcnica de otimizao Motivada pela diviso de tarefas em coletividades So definidos: bancos de indivduos (1 por processador escravo) banco de solues (no processador mestre) operadores para proc. escravo operadores para proc. mestre freqncia de aplicao dos operadores
Operadores
Do processador mestre: criao divina (criao aleatria de um novo indivduo) migrao elitismo busca local Dos processadores escravos: morte (eliminao de um indivduo ruim) cruzamento e mutao seleo do melhor Comuns a todos: manuteno do banco de dados (avaliao e ordenao)
Exemplo
Algumas Referncias...
H muitas referncias sobre o assunto, selecionei apenas as histricas Metropolis, N., Rosenbluth, A., Rosenbluth, M., Teller, A., Teller, E., 1953, Equations of State Calculation by fast Computing Machines, Journal of Chemical-Physics v. 21, pp. 1087-1092
Kirkpatrick et al. 1983 Holland, J., Adaptation in Natural and Artificial Systems, 1975
Goldberg, D.E., 1989, Genetic Algorithms in Search, Optimization and Machine Learning Kennedy, J., Ebehart, R.C., 1995, "Particle Swarm Optimization", In: Proc. IEEE International Conference on Neural Networks, Perth, Austrlia