You are on page 1of 7

Metaheurı́sticas em Otimização Combinatória: Visão Geral

Felipe R. dos S. Fernandes 1 , Silvio R. F. de Araújo1,2


1
Programa de Pós Graduação em Ciência da Computação (PPgCC)
Universidade Federal Rural do Semi-Árido (UFERSA) – Mossoró, RN – Brasil
Universidade do Estado do Rio grande do Norte (UERN) – Mossoró, RN – Brasil
2
Centro de Ciências Exatas e Naturais
Universidade Federal Rural do Semi-Árido (UFERSA) – Mossoró, RN – Brasil
felipe.ip@hotmail.com, silvio@ufersa.edu.br

Abstract. The Combinatorial Optimization (CO) field consists of a wide variety


of real problems of high computational complexity and difficult to exact reso-
lution. In this case, it is desired to find a viable solution in an efficient and
satisfactory time, which includes the choice of metaheuristics for this purpose.
Therefore, this article aims to present a brief study on metaheuristics and their
applications in combinatorial optimization problems, as well as a new problem,
called the School Patrol Problem. This problem is related to the Traveling Clerk
Problem and some of its variations, such as the Traveling Salesman Problem
with Prize Collection and Time Restriction. In this perspective, the discussion
of the study takes place around these problems of combinatorial optimization
and two metaheuristics, such as Genetic Algorithm and Memetic, which are
also used to exemplify practical applications.

Resumo. O campo de Otimização Combinatória (OC) é composto por uma


vasta variedade de problemas reais de alta complexidade computacional e de
difı́cil resolução exata. Neste caso, deseja-se buscar uma solução viável de
forma eficiente e em tempo satisfatório, o que compreende a escolha das me-
taheurı́sticas para este fim. Portanto, este artigo objetiva apresentar um estudo
sucinto sobre metaheurı́sticas e suas aplicações em problemas de otimização
combinatória, bem como um novo problema, denominado de Problema da Pa-
trulha Escolar. Este problema está relacionado ao Problema do Caixeiro Via-
jante e algumas de suas variações, como o Problema do Caixeiro Viajante com
Coleta de Prêmio e Restrição de Tempo. Nesta perspectiva, a discussão do
estudo transcorre em torno destes problemas de otimização combinatória e de
duas metaheurı́sticas, tais como Algoritmo Genético e Memético, as quais são
usadas também para exemplificar aplicações práticas.

1. Introdução
Problemas de Otimização Combinatória são, geralmente, abstrações de problemas reais
de diferentes áreas e, principalmente, do setor industrial. Este campo de estudo está es-
tritamente preocupado em formular problemas e os resolver fornecendo a melhor solução
possı́vel, dentro de um conjunto finito de soluções possı́veis. Diz-se que uma solução
é globalmente ótima se a mesma for o máximo ou mı́nimo de uma função objetivo tal
que satisfaça o problema da melhor forma, isto é, a solução mais adequada. Neste sen-
tido, diferentes métodos e técnicas de resolução foram desenvolvidas ao longo das últimas
décadas [Alazzam and Lewis III 2013] [Tandabani et al. 2016].
É de uso convencional, para resolução de problemas combinatórios, os métodos
exatos e aproximativos. O método exato sempre vai garantir a solução globalmente ótima,
enquanto não há essa garantia via o método aproximativo. No entanto, a abordagem exata
somente atua de forma eficiente em pequenas instâncias. Em caso de instâncias maiores,
não se conhece, até o momento, técnicas com a capacidade de solucionar esta classe
de problemas em tempo satisfatório (ou polinomial). Este fato direcionou a atenção de
pesquisadores aos métodos aproximativos, o que culminou no desenvolvimento de várias
metaheurı́sticas nos últimos anos [Goldbarg et al. 2016] [Boussaid et al. 2013].
Com o princı́pio da eficiência das metaheurı́sticas em alcançar boas soluções di-
ante vários problemas combinatórios, este trabalho objetiva apresentar uma visão geral
sobre metaheurı́sticas, com ênfase em Algoritmo Genético (AG) e Memético (AM), e do
clássico Problema do Caixeiro Viajante, bem como de variações que fundamentam o Pro-
blema da Patrulha Escolar. Aplicações de metaheurı́sticas em problemas de otimização
combinatória também são apresentadas com o intuito de validar e evidenciar a motivação
do objeto de estudo.

2. Metaheurı́sticas
Em linhas gerais, metaheurı́sticas são métodos aproximativos de alto nı́vel, constituı́das
por diferentes técnicas computacionais (heurı́sticas), com o objetivo de gerar uma es-
tratégia robusta capaz de explorar o espaço de busca de forma eficiente e eficaz.
[Blum and Roli 2003]. A composição de segmentos para formar a estrutura algorı́tmica
de uma metaheurı́stica é o grande ponto forte do método.
Metaheurı́sticas são classificadas como sendo baseadas em solução única ou
população. Metaheurı́sticas de solução única, tais como Busca Tabu (BT) [Glover 1986],
Variable Neighborhood Search (VNS) [Mladenović and Hansen 1997], Simulated Anne-
aling (SA) [Kirkpatrick et al. 1983], Iterated Local Search (ILS) [Stützle 1998] e Greedy
Randomized Adaptive Search Procedure (GRASP) [Feo and Resende 1995], comparti-
lham o princı́pio do uso de busca local em uma única solução para explorar o espaço
de busca. [Blum and Roli 2003] [Ali and Hassanien 2016]. Os algoritmos baseados em
população, como Algoritmo Genético [Holland 1975], Ant Colony Optimization (ACO)
[Dorigo 1992] e Particle Swarm Optimization (PSO) [Kennedy and Eberhart 1995], tra-
balham com um conjunto de soluções, intensificando a busca. Sem uma classificação
ainda não bem definida, pode-se mencionar os métodos hı́bridos, como o Algoritmo
Memético [Moscato et al. 1989], que mesclam as duas estratégias.
Nas seções 2.1 e 2.2 são abordados um método baseado em população e um
hı́brido, respectivamente.

2.1. Algoritmo Genético


Os Algoritmos Genéticos são métodos metaheurı́sticos de busca inspirados na natu-
reza, cuja fonte de inspiração é fundamentada na metáfora da teoria da evolução na-
tural das espécies, declarado por Charles Darwin em 1859 [Goldbarg et al. 2016]. Os
primeiros trabalhos utilizando AG, notados entre 1960 e 1975, são creditados à Holland
[Holland 1975]. Posteriormente, Goldberg [Golberg 1989] popularizou o uso dos AGs e
desde então têm sido aplicado com sucesso para resolução de problemas combinatórios.
O princı́pio para a execução de um AG, é formulado a partir da aplicação dos
mecanismos de seleção natural e dos operadores genéticos. Processo este, responsável
por preservar a lógica de sobrevivência dos indivı́duos (solução) mais aptos. Esta pre-
missa deve garantir que indivı́duos de uma próxima geração herdem caracterı́sticas de
progenitores com boa aptidão e, consequentemente, assegura a convergência do algoritmo
para a solução (aproximada) ótima. O Funcionamento de um AG básico é demonstrado
através do Algoritmo 1. Os principais operadores de um AG são: Seleção, Reprodução e
Mutação. Ambos ocorrem dentro do laço enquanto (ciclo evolucionário).

Algoritmo 1: A LGORITMO G EN ÉTICO


Entrada: Instância, critério de parada
Saı́da: Solução S
1 inı́cio
2 INICIALIZE uma população de indivı́duos
3 AVALIE aptidão dos indivı́duos
4 enquanto critério de parada não satisfeito faça
5 SELECIONE progenitores da população
6 RECOMBINE pares de progenitores
7 MODIFIQUE os novos indivı́duos - offspring
8 AVALIE aptidão dos indivı́duos filhos - offspring
9 SELECIONE indivı́duos para próxima geração
10 fim
11 fim
12 retorna S

A seleção consiste em simular, de fato, a teoria de Darwin e se divide em duas


tarefas: (i) seleciona indivı́duos da população para gerarem descendentes; e (ii), a seleção
natural. A reprodução (operador predominante) objetiva intensificar a busca combinando
caracterı́sticas de progenitores da população, enquanto a mutação diversifica a busca alte-
rando caracterı́sticas dos indivı́duos.

2.2. Algoritmo Memético


Este método hı́brido, denominado de Algoritmo Memético, consiste em agregar ao AG
um mecanismo de refinamento da solução. Esta estratégia foi introduzida por Moscato
[Moscato et al. 1989], e utiliza o conceito de evolução cultural da humanidade, o que
consiste em adaptar melhor um indivı́duo através de um procedimento não-genético no
ciclo evolucionário (ou fora dele) [Reynolds 1994]. Este procedimento, de modo geral, é
um método baseado em solução única ou busca local.

3. Problemas de Otimização Combinatória


Muitos problemas de importância prática, bem como teórica, constituem o campo de
otimização combinatórios [Blum and Roli 2003]. Problemas combinatórios fornecem um
conjunto finito de possı́veis soluções. Devido a esta caracterı́stica, para definir precisa-
mente a melhor solução, é necessário verificar todas as respectivas soluções pertencente
ao conjunto. Com isso, o tempo computacional pode transcorrer exponencialmente, o que
permite dizer que é pertencente a classe NP-Hard de problemas[Gutin and Punnen 2006].

3.1. Problema do Caixeiro Viajante


O Problema do Caixeiro Viajante é um clássico problema de OC e encontra-se entre
um dos problemas mais importantes e bem difundidos da área. Sua formulação, dentre
várias existentes, é a base para uma gama de problemas combinatórios, principalmente os
relacionados a transportes.
O grande objetivo do PCV é determinar o ciclo hamiltoniano de custo mı́nimo em
um grafo. Em outras palavras, consiste em determinar a rota de menor custo, dado um
conjunto de cidades, de tal forma que inicie e termine o percurso na cidade de origem
visitando as demais uma única vez [da Silva Menezes et al. 2014].

3.2. Problema do Caixeiro Viajante com Coleta de Prêmio


O Problema do Caixeiro Viajante com Coleta de Prêmio (PCVCP) é uma variante do
PCV, definido por Balas [Balas 1989], na qual para cada cidade (ou vértice) é atribuı́do
um valor (custo) referente a penalidade, para o caso da cidade não ser visitada, e um valor
bônus (ou prêmio), caso contrário [da Silva Menezes et al. 2014]. Neste caso, deseja-se
minimizar, além da rota, a penalidade.

3.3. Problema do Caixeiro Viajante com Restrição de Tempo


Em linhas gerais, o Problema do Caixeiro Viajante com Restrição de Tempo (PCVRT) é
uma classe de problemas na qual há restrições relacionadas ao tempo. Por exemplo, uma
visita do caixeiro em um vértice deve ocorrer dentro de um intervalo de tempo, bem como
a partida. O PCVRT também é uma generalização do PCV [Goldbarg et al. 2016].

3.4. Problema da Patrulha Escolar: O Caso de Mossoró


O Problema da Patrulha Escolar (PPE) é um problema de OC, ainda em fase de modela-
gem, no qual inicialmente compreende o PCVCP e PCVRT. Este problema consiste em
realizar uma ronda policial, somente com um veı́culo, em 31 escolas da cidade de Mos-
soró - Rio Grande do Norte (RN). A princı́pio, a viatura parte do batalhão e retorna ao
mesmo após visitar todas as escolas. No entanto, existem restrições de prioridades de
atendimento e de tempo (de vigilância e atendimento).
Estes aspectos que definem as duas restrições supracitadas, são modeladas através
do PCVCP e PCVRT, respectivamente. Por contemplar vários problemas de OC NP-
Hard, pode-se dizer que este problema também pertence a classe NP-Hard.

4. Metaheurı́sticas em Otimização Combinatória


O objetivo desta seção é apresentar, superficialmente, exemplos de aplicações de me-
taheurı́sticas em problemas de OC. O intuito, é validar a hipótese de que metaheurı́sticas
são capazes de conduzir a busca de forma eficiente e encontrar boas soluções em diferen-
tes problemas combinatórios. A Tabela 1 mostra trabalhos com aplicações bem sucedidas.
Autor(es) / Ano Metaheurı́stica(s) Problema(s)
[Agharghor et al. 2016] AM PCV
[Tandabani et al. 2016] PSO e Cuckoo Search Algorithm CSP
[da Silva Menezes et al. 2014] AM pCaRS
[Alazzam and Lewis III 2013] Global Neighborhood algorithm e AG PCV
[Pedro et al. 2013] BT PCVCP

Tabela 1. Aplicações de Metaheurı́sticas em Problemas de OC

Estes cinco exemplos são amostras de aplicações de metaheurı́sticas em pro-


blemas combinatórios. O pCaRS, advém do prize-collecting traveling car renter pro-
blem, variante do PCVCP [da Silva Menezes et al. 2014]. Já o CSP, Cutting Stock Pro-
blem, é um problema combinatório de corte de estoque bastante comum nas industrias
[Tandabani et al. 2016].
As duas estratégias, baseada em população e solução simples, mostram bom de-
sempenho frente aos problemas citados an Tabela 1. O que valida então, parcialmente, o
propósito geral do uso de metaheurı́sticas em problemas combinatórios abordado por este
trabalho.

5. Discussão e Conclusões
No presente trabalho foi apresentado uma visão geral sobre Problemas de Otimização
Combinatória e Metaheurı́sticas. Metaheurı́sticas e problemas clássicos de OC foram
descritos com o pressuposto de delinear a problemática do estudo. Relatos de aplicações
de metaheurı́sticas para resolução de problemas pertencente a classe NP-Hard também
foram apresentados. O propósito geral deste trabalho é fundamentar e sustentar a ideia
de que metaheurı́sticas sulocionam grande parte dos problemas combinatórios. Logo,
também é capaz de solucionar o Probrema da Patrulha Escolar, no caso particular de
Mossoró/RN.
Metaheurı́sticas são bem difundidas na literatura, bem como problemas de OC.
Relatos de aplicações utilizando diferentes técnicas metaheurı́sticas, e considerando di-
versos problemas NP-Hard, corroboram o que foi dito a respeito do potencial da aborda-
gem aproximativa.
Nesta perspectiva, o bjetivo deste trabalho é alcançado ao realizar um estudo, a
respeito de metaheurı́sticas e problemas de otimização combinatória, e apresentar estes
dois objetos de estudo de maneira sucinta. Como trabalho futuro, um estudo mais apro-
fundado sobre PPE e metaheurı́sticas para sua resolução será considerado.

Referências
Agharghor, A., Riffi, M. E., and Chebihi, F. (2016). A memetic hunting search algorithm
for the traveling salesman problem. In 2016 4th IEEE International Colloquium on
Information Science and Technology (CiSt), pages 206–209.
Alazzam, A. and Lewis III, H. W. (2013). A new optimization algorithm for combi-
natorial problems. IJARAI) International Journal of Advanced Research in Artificial
Intelligence, 2(5).
Ali, A. F. and Hassanien, A.-E. (2016). A Survey of Metaheuristics Methods for Bioin-
formatics Applications, pages 23–46. Springer International Publishing, Cham.
Balas, E. (1989). The prize collecting traveling salesman problem. Networks, 19(6):621–
636.
Blum, C. and Roli, A. (2003). Metaheuristics in combinatorial optimization: Overview
and conceptual comparison. ACM Comput. Surv., 35(3):268–308.
Boussaid, I., Lepagnot, J., and Siarry, P. (2013). A survey on optimization metaheuris-
tics. Information Sciences, 237:82 – 117. Prediction, Control and Diagnosis using
Advanced Neural Computations.
da Silva Menezes, M., Goldbarg, M. C., and Goldbarg, E. F. G. (2014). A memetic
algorithm for the prize-collecting traveling car renter problem. In 2014 IEEE Congress
on Evolutionary Computation (CEC), pages 3258–3265.
Dorigo, M. (1992). Optimization, learning and natural algorithms. Ph. D. Thesis, Poli-
tecnico di Milano, Italy.
Feo, T. A. and Resende, M. G. C. (1995). Greedy randomized adaptive search procedures.
Journal of Global Optimization, 6(2):109–133.
Glover, F. (1986). Future paths for integer programming and links to artificial intelligence.
Computers & Operations Research, 13(5):533 – 549.
Golberg, D. E. (1989). Genetic algorithms in search, optimization, and machine learning.
addion wesley. Reading.
Goldbarg, M. C., Goldbarg, E. G., and Luna, H. P. L. (2016). Otimizaça̋o combinatória e
meta-heurı́sticas: algoritmos e aplicacőçes. Elsevier, 1th edition.
Gutin, G. and Punnen, A. P. (2006). The traveling salesman problem and its variations,
volume 12. Springer Science & Business Media.
Holland, J. H. (1975). Adaptation in natural and artificial systems. an introductory analy-
sis with application to biology, control, and artificial intelligence. Ann Arbor, MI:
University of Michigan Press.
Kennedy, J. and Eberhart, R. (1995). Particle swarm optimization. In Neural Networks,
1995. Proceedings., IEEE International Conference on, volume 4, pages 1942–1948
vol.4.
Kirkpatrick, S., Gelatt, C. D., Vecchi, M. P., et al. (1983). Optimization by simulated
annealing. science, 220(4598):671–680.
Mladenović, N. and Hansen, P. (1997). Variable neighborhood search. Computers &
Operations Research, 24(11):1097 – 1100.
Moscato, P. et al. (1989). On evolution, search, optimization, genetic algorithms and
martial arts: Towards memetic algorithms. Caltech concurrent computation program,
C3P Report, 826:1989.
Pedro, O., Saldanha, R., and Camargo, R. (2013). A tabu search approach for the prize
collecting traveling salesman problem. Electronic Notes in Discrete Mathematics,
41:261 – 268.
Reynolds, R. G. (1994). An introduction to cultural algorithms. In Proceedings of the
third annual conference on evolutionary programming, volume 131139. Singapore.
Stützle, T. G. (1998). Local Search Algorithms for Combinatorial Problems: Analysis,
Improvements, and New Applications. PhD thesis, Darmstadt University of Techno-
logy.
Tandabani, A., Priyan, K., Janakiraman, S., and Pothula, S. (2016). A comparative study
of meta heuristic approach for cutting stock problem. In 2016 International Conference
on Communication and Electronics Systems (ICCES), pages 1–4.

You might also like