Sei sulla pagina 1di 30

Mtodos Heursticos de Busca e Otimizao

Roberta Chasse roberta @ peq.coppe.ufrj.br

Mtodos Heursticos de Otimizao


Mtodos utilizados quando os mtodos tradicionais de otimizao falham... Problemas de otimizao combinatria
(caixeiro viajante, colorao de mapas, escalas de trabalho)

Problemas sem funo objetivo (?!?)


(identificao de suspeitos)

Problemas com muitos mnimos locais


(logstica, caixeiro viajante)

Boom: surgimento de computadores massivamente paralelos (computao sria e barata) So mtodos de BUSCA e no de otimizao

Mtodos de Otimizao Natural


Baseiam-se na observao da natureza Mtodos muito elegantes No h prova de convergncia Empregam nmeros randmicos (carter aleatrio) Conseguem muitas vezes escapar de mnimos locais Podem trabalhar com indivduos ou populaes So facilmente adaptados/hibridizados No precisam de derivadas

Mtodos de Otimizao Natural

Lentos para aplicaes onde podem ser usados mtodos que utilizem derivadas mtodos especficos para o problema

Alto custo computacional

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

Inteligncia de Enxame (PSO)


mais novo (1995), ainda pouco explorado muito promissor para as aplicaes em engenharia

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 (?!?)

Baseia-se na tcnica de recozimento (ou recristalizao) de metais


aquecimento pouco abaixo do ponto de fuso resfriamento muito lento

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

Temperatura, diferena: menor probabilidade


depois de um certo tempo, a temperatura reduzida segundo algum critrio (esquema de resfriamento)

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%)

taxa de mutao (tipicamente 5%)

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

se atendido algum critrio de parada, finalize

AG Aditivados
Elitismo Restarting Busca Local Codificao Real

Niching
Migrao (esquema de ilhas) Hibridao Micro GA

Famlia dos Mtodos Evolucionrios


Algoritmos Genticos
codificao binria, operaes unitrias e binrias

Programao Evolucionria
apenas operaes unitrias, codificao binria

Estratgias Evolucionrias
apenas operaes unitrias, codificao real

Programao Gentica
qual o melhor cdigo para dada operao

Particle Swarm Optimization

Particle Swarm Optimization


Tcnica que explora a analogia com o comportamento social de animais, como enxames de abelhas, cardumes de peixes ou bandos de pssaros Nestes, cada indivduo do grupo toma suas prprias decises, mas sempre de alguma forma baseado na experincia do lder do grupo ANALOGIA FSICA Cada indivduo do bando, ao se deslocar, leva em conta a sua experincia individual e a posio do lder do bando

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

Potrebbero piacerti anche