otimização com colônias de formigas giuliano mega márcio akyama
TRANSCRIPT
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.)•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.