O Estudo das MetaheurĂsticas ACO, Ant-Q e MOAQ. Bruno de Paulo Lima Gizelle Pauline Mendes Bezerra ThaĂs de Almeida Barros
Roteiro • • • • •
ACO Ant-Q MOAQ Trabalhos futuros Referências
Traveling Salesman Problem • Cidades e distância entre elas; – Encontrar o menor caminho para visitar todas exatamente uma vez.
• Uma instância = um grafo.
Ant Colony Optimization • Inspirado no comportamento de formigas na busca por alimentos; • Feromônio;
Ant Colony Optimization • Aplicação: – Problemas de otimização • Este tem de ser reduzido em um problema de encontrar o menor caminho num grafo orientado
– Ex.: • • • •
Roteamento de Veículos; Pontos de solda em placa eletrônica; Caixeiro Viajante; etc.
Ant Colony Optimization • Basicamente três fases: – Construção do caminho (decisões locais); • Com base nas informações de feromônio e heurísticas.
– Decisões globais (nem sempre utilizado); • Agente global (“onisciente”).
– Atualização de feromônio. • Depósito e evaporação.
• Várias implementações de algoritmos
Ant System • Apresentado em 1996 por Marco Dorigo, Vittorio Maniezzo e Alberto Colorni; • Apresenta apenas dois dos passos mencionados: – Construção do caminho; – Atualização do feromônio.
Ant System
Ant System
Ant Colony System • Introduzido em 1997, como um melhoria do AS. (Marco Dorigo) • Diferenças básicas: – Diferente regra de decisão – Aplicação local de feromônio (durante a fase de construção das soluções). – Apresentação do segundo passo (agente “onisciente”);
Ant Colony System
Ant Colony System
Ant Colony System
Ant-Q • Criado por Gambardella & Dorigo, em 1995. • É uma extensão do AS. • Exemplo do utilização: Caixeiro viajante.
Aplicação • A maneira mais fácil de introduzir o algoritmo Ant-Q é pela sua aplicação ao problema do caixeiro viajante. • TSP: dij = dji • ATSP: dij ≠ dij • Termos: – AQ-valores = lista com os possíveis custos para ir de um ponto a outro. – Delta(AQ-valores) = o melhor custo dentre os valores.
Procurando entender a ideia... • • • • • •
Uma formiga k. Uma lista Jk(r) de cidades. r é onde está no momento. Quer ir para a cidade s. Atualização da lista de cidades. Escolha do caminho que tem menor custo.
Fórmulas utilizadas •
•
Utilizada para escolher a próxima cidade s. Utilizada para calcular a probabilidade de uma formiga escolher a cidade s como próximo destino.
•
Utilizada para atualizar a lista de cidades Jk.
•
Utilizada para calcular o delta(AQ(r,s))
Ant-Q algorithm /* Fase de inicialização*/ Defina um valor inicial para AQ-valores /* Main */ Loop /* Este loop é uma iteração do algoritmo */ 1. /* Incializando as formigas */ Escolha uma cidade inicial para as formigas 2. /* Nesta etapa, as formigas constroem circuitos e localmente atualizam os AQ-valores */ Cada formiga aplicará a regra de transição (1) para escolher a próxima cidade, atualizando os valores de Jk e aplicando a fórmula (3) atualização local dos dos AQ-valores (na fórmula (3) Delta(AQ(r,s)=0)). 3. /* Nesta etapa, as formigas atualizarão globalmente os AQ-valores */ As arestas pertencentes ao circuito feito pela melhor formiga são atualizadas usando a fórmula (3) onde Delta(AQ (r, s)) é dado pela fórmula (4). Até que (End_condition = True)
MOAQ – Multiple Objective Ant-Q Algorithm • É um algoritmo MOACO (Multi-Objective Ant Colony Optimization); • Foi proposto por Mariano e Morales para ser aplicado ao projeto de distribuição de irrigação de água;
MOAQ • A abordagem pode ser estendida para mais objetivos e para outros problemas de otimização; • Foi baseado no reforço da aprendizagem distribuída no algoritmo chamado Ant-Q, uma variante do clássico Ant Colony System (ACS).
Características: • Cada família tenta otimizar um objetivo, considerando as soluções encontradas para os outros objetivos; • Como em Ant-Q, todos os agentes em uma família tentam encontrar uma solução, ao mesmo tempo; • Todos os agentes, de diferentes famílias, atuam no mesmo ambiente.
Características: Pontos mais importantes: • Número de objetivos = número de famílias; • Número de agentes é constante em todas as famílias; • A solução de uma formiga em uma família afeta as soluções de agentes correspondentes em outras famílias;
Características: • Cada família executa uma só vez; • Depois de todas as famílias terem sido executadas, recompensas e punições são dadas às soluções não-dominadas que satisfazem todas as restrições; • Resultados que violam as restrições são punidos e o resto das soluções são ignorados;
Características: • Todo o processo é repetido várias vezes até que as soluções não-dominadas satisfaçam todas as restrições encontradas ou um número predeterminado de iterações seja satisfeita.
Algoritmo: N := 0 // número máximo de iterações N:= N + 1 for i = 1 to n // n famílias inicializar os parâmetros da família (i) for j = 1 to m // m agentes para cada família mapear para formiga j a solução encontrada a formiga j no objetivo i-1 encontrar uma solução para o objetivo i avaliar as soluções encontradas for j = 1 to m if solução (j) violar qualquer restrição aplicar a punição para todos os seus componentes else if solução (j) é não dominada aplicar recompensa para todos os seus componentes introduzir solução (j) na frente de Pareto remover toda as soluções dominadas da frente de Pareto else if solução (j) é dominada não se aplicam recompensas nem punições
Trabalhos Futuros • Avaliar a metaheurística ACO e seu algoritmo ACS (Ant Colony System), a Ant-Q e sua versão multiobjetiva, a MOAQ (Multiple objective Ant-Q algorithm). • Verificar sua aplicabilidade na resolução de problemas complexos, em particular aqueles da área de engenharia de software.
Referências • DORIGO, MARCO; GAMBARDELLA, LUCA MARIA A study os some properties of Ant-Q. Université Libre de Bruxelles, Bélgica. • GARCÍA-MARTÍNEZ,C.; CORDÓN, O.; HERRERA, F. - An Empirical Analysis of Multiple Objective Ant Colony Optimization Algorithms for the Bicriteria TSP. University of Granada, Spain. • MARIANO, Carlos E.; MORALES, Eduardo - MOAQ an Ant-Q algorithm for Multiple Objective Optimization Problems. México.