otimização com colônias de formigas giuliano mega márcio akyama

25
Otimização com Colônias de Formigas Giuliano Mega Márcio Akyama

Upload: simone-goncalves-prado

Post on 07-Apr-2016

218 views

Category:

Documents


2 download

TRANSCRIPT

Otimização com Colônias de FormigasGiuliano Mega Márcio Akyama

Estrutura do Seminário• Introdução

– Fundamentação– Experimentos– Características do sistema

• A meta-heurística ACO [1]– Formigas – Estrutura geral

• Aplicação – Ant System [2] Contexto: Caixeiro Viajante– ACS – Ant Colony System– Job-shop Scheduling– Aplicação geral do AS/ACS

• Conclusão

Introdução• Formigas

– Insetos sociais– Indivíduos simples– Colônias altamente

estruturadas• Comportamentos de interesse

– Busca por comida– Capazes de encontrar

caminhos mínimos entre fontes de comida e o ninho

• Como?– Trilhas de feromônio– Induzem outras formigas

Introdução (cont.)• Heurísticas de Colônias de

Formigas– Estudo do comportamento

das formigas• Trilha de feromônio

– Induzem a formação dos caminhos mínimos

– Experimento da ponte bifurcada

Introdução (cont.)–Resultados:

( )( )( ) ( )

hm

U h hm m

U kP mU k L k

Introdução (cont.)•Caminhos desiguais

–Intuitivamente:

– Trilhas com alta concentração de feromônio = caminhos mais curtos.

15

30

1515

15

30

10 20

2010

Introdução (cont.)• Chaves

– 1 formiga – comportamento aleatório

– Várias formigas – caminhos mínimos

– Comunicação estigmergética

• Forma indireta de comunicação• Modificação do estado das

localizações visitadas• Informações locais

– Implicit evaluation– Processo autocatalítico– Otimização distribuída.

Formigas• Formigas artificais e reais –

semelhanças:– Colônia cooperativa de indivíduos

• Formiga: capaz de produzir soluções viáveis

• Cooperação -> soluções de boa qualidade.

– Trilha de feromônio e comunicação estigmergética local

• Informações adicionais associadas a cada estado visitado(a)

• Percepção do ambiente e histórico da colônia

• Evaporação (estagnação)

Formigas (cont.)– Seqüência de movimentações

locais para a descoberta de caminhos mínimos

• Caminho mínimo entre um par de estados

• Caminhada pelas vizinhanças

– Política de decisão estocástica:

• Baseada em informações locais

– Feromônio– Informações heurísticas

• Sem lookahead

Formigas (cont.)• Formigas artificiais e reais

– diferenças:– Mundo discreto– Estado interno (memória de

ações passadas)– Quantia de feromônio dada

em função da qualidade da solução

– Características temporais– Capacidades extras

• Lookahead• Otimizações locais• Backtracking

A meta-heurística • Forma geralprocedimento Meta_heurística_ACO() enquanto( critério_de_término_não_satisfeito ) agendar_atividades gera_e_movimenta_formigas(); evaporar_feromônio(); ações_dos_daemons(); fim agendar_tarefas fim enquantofim procedimento

procedimento gera_e_movimenta_formigas() enquanto( houver_recursos ) agenda_criação_de_nova_formiga(); nova_fformiga_ativa(); fim enquantofim procedimento

A meta-heurística (cont.)procedimento nova_formiga_ativa() inicializa_formiga(); M = atualiza_memória_da_formiga(); enquanto (estado_atual != estado_pretendido) A = lê_tabela_de_roteamento_local(); P = computa_probabilidades_de_transição

(A, M, restrições); próximo_estado = aplica_política_decisão (P, restrições); move_para_próximo_estado(próximo_estado); se (atualiza_feromônio_on-line) deposita_feromônio_no_arco_visitado(); atualiza_tabela_roteamento(); fim se M = atualiza_estado_interno(); fim enquanto se (atualização_de_feromônio_posposta) avalia_solução(); deposita_feromônio_nos_arcos_visitados(); atualiza_tabela_roteamento(); fim se morre();fim procedimento

A meta-heurística (cont.)• Características

– Populacional– Estocástica– Comunicação indireta– Distribuível/paralelizável– Aplicável a problemas

dinâmicos

O Ant System• Caixeiro Viajante

• Formiga– Escolha da cidade: distância

(heurística) e rastros– Lista tabu– Atualização de rastros: final

de cada iteração

Dadas n cidades, queremos o menor passeio em que todas as cidades são visitadas.Formalmente:Dado um grafo não-dirigido e completo , encontrar o ciclo Hamiltoniano de menor custo em G.

( , )G N E

O Ant System (cont.)• Trilhas

1

mk

ij ijk

0

kkij

QL

( ) ( )ij ijt n t

, se a k-ésima formiga utiliza a aresta (i,j) entre t e t+n

, caso contrário

O Ant System (cont.)•Decisão

•Modalidades–ant-cycle*–ant-quantity–ant-density

{ }

( ), se { }

( )(1) ( )

0, caso contráriok

ij ijkk

ik ikijk N tabu

tk N tabu

tp t

1

ijdvisibilidade

0kij

Q

0

kijij

Qd

O Ant System (cont.)•Desempenho e parâmetros

–Oliver30 [3]:

–Q: irrelevante (1 nos artigos posteriores) –342 ciclos (média)–5824 segundos–num 286

O Ant Colony System• Ant Colony System [3, 4]

– Algoritmo igual ao AS, ant-cycle

– Regra de decisão diferente

– Só a melhor formiga deposita feromônio (elitist ant)

oarg max ( , ) ( , ) , se q q

, caso contrário

r u r us

S

q – número aleatório distribuído uniformemente entre [0,1]S – variável aleatória distribuída de acordo com (1) – mas com fixo e igual a 1.

( , ) (1 ) ( , ) ( , )r s r s r s

O Ant Colony System (cont.)

•Modalidades de atualização:–global-best*–iteration-best

•Mais dirigido que o AS•Mais eficaz

–Desempenho comparável ao das melhores heurísticas–Até mesmo de heurísticas especializadas

1

max, se ( , )( , )

0, caso contráriogbL r s T

r s

Aplicando o AS/ACS• O que é necessário

definir?– Representação sob a forma

de grafo– Processo autocatalítico– Heurística construtiva

(“força gulosa”)– Método de satisfação de

restrições (lista tabu)

Aplicando o AS/ACS (cont.)• Job-shop scheduling

M máquinas e J tarefa. A j-ésima tarefa consiste de uma seqüência (cadeia) ordenada de operações tiradas de um conjunto .A operação pertence à tarefa j e deve ser processada na máquina m por instantes consecutivos.

{... ...}jmO o

jmo Ojmd

| , |m ij jJ recrc p C

Tarefa 1 m1 (1) m2 (2)Tarefa 2 m2 (3) m1 (4)Tarefa 3 m1 (5) m2 (6)

Aplicando o AS/ACS (cont.)

Peso do arco: par .-Longest Processing Time-Shortest Completion Time

( , )ij ij

(0,1,2,3, 4,5,6)

{(1,4), (1,5), (4,5)};{(2,3), (2,6), (3,6)}

Conclusão• Ant Colony

– Heurística populacional– Computação evolutiva

• Principais aplicações– Otimização combinatória– Problemas difíceis– Problemas dinâmicos

• Algoritmos mais conhecidos– AS/ACS/ACS-opt3

Referências[1] Dorigo M., G. Di Caro & L. M. Gambardella (1999). Ant Algorithms for Discrete Optimization. Artificial Life, 5(2):137-172.

[2] Dorigo M., V. Maniezzo & A. Colorni (1996). Ant System: Optimization by a colony of cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics-Part B, 26(1):29-41

[3] Dorigo M. & L.M. Gambardella (1997). Ant Colonies for the Traveling Salesman Problem. BioSystems, 43:73-81.

[4] Dorigo M. & L.M. Gambardella (1997). Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem. IEEE Transactions on Evolutionary Computation, 1(1):53-66.

Dúvidas?