Escolar Documentos
Profissional Documentos
Cultura Documentos
Uberlndia
Dezembro
2006
Banca examinadora:
Keiji Yamanaka, Ph. D.
orientador
UFU
Tnia Regina Brasileiro Azevedo Teixeira, Dr. co-orientadora UFU
Marcone Jamilson Freitas, Dr.
UFOP
Luciano Vieira Lima, Dr.
UFU
M237u
Malaquias, Neli Gomes Lisboa, 1965Uso dos algoritmos genticos para a otimizao de rotas de distribuio / Neli Gomes Lisboa Malaquias. - 2006.
111 f. : il.
Orientador: Yamanaka, Keiji.
Dissertao (mestrado) - Universidade Federal de Uberlndia, Programa de Ps-Graduao em Engenharia Eltrica.
Inclui bibliografia.
1. Algoritmos genticos - Teses. 2. Otimizao combinatria - Teses.
3. Caminhes - Rotas - Levantamentos - Teses. 4. Medicamentos - Transporte - Teses. 5. Logstica empresarial - Estudo de casos - Teses. I. Keiji,
Yamanaka. II. Universidade Federal de Uberlndia. Programa de PsGraduao em Engenharia Eltrica. III. Ttulo.
CDU: 681.3.06
Dissertao apresentada Universidade Federal de Uberlndia, como parte dos requisitos para
obteno do ttulo de Mestre em Cincias.
Sumrio
Resumo
xv
Abstract
xvi
Introduo
1.1
1.2
Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4
Um breve histrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.5
Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.5.1
13
Estrutura do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
1.6
2
16
2.1
Evoluo histrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.2
Farma Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.3
Ciclo do pedido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
2.4
22
2.5
23
Tcnicas de Otimizao
28
3.1
Otimizao combinatria . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
3.2
29
vi
3.2.1
Mtodos heursticos . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.2.2
Algoritmos aproximados . . . . . . . . . . . . . . . . . . . . . . . . .
31
3.2.3
Relaxao lagrangeana . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3.2.4
. . . . . . . . . . . . . . . . .
32
3.2.5
Meta-heursticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
3.2.6
Simulated annealing . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
3.2.7
Busca tabu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
3.2.8
35
3.3
Inteligncia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.4
Data Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
3.5
Anlise estatstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
3.6
39
3.7
Algoritmos evolucionrios . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
Algoritmos Genticos
43
4.1
Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.2
45
4.2.1
Representao binria . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.2.2
47
4.2.3
48
4.3
Funo de aptido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
4.4
Populao inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
4.5
Operadores genticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.6
Cruzamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.6.1
Seleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
4.6.2
Operadores de cruzamento . . . . . . . . . . . . . . . . . . . . . . . .
50
Mutao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
4.7.1
Operadores de mutao . . . . . . . . . . . . . . . . . . . . . . . . . .
51
Elitismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
4.7
4.8
5
53
vii
5.1
Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
5.2
55
5.3
Funo de custo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
5.4
Funo de aptido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
5.5
Operadores genticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
5.5.1
Operadores de cruzamento . . . . . . . . . . . . . . . . . . . . . . . .
59
5.5.1.1
59
5.5.1.2
60
5.5.1.3
62
5.5.1.4
63
5.5.1.5
64
Operadores de mutao . . . . . . . . . . . . . . . . . . . . . . . . . .
65
5.5.2.1
65
5.5.2.2
65
5.5.2.3
66
5.5.2.4
67
5.5.2.5
67
5.5.2.6
67
Hibridizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
5.5.2
5.6
6
69
6.1
Descrio do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
6.2
70
6.3
Funo custo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
6.4
Operadores genticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
Resultados Computacionais
74
7.1
Sistema desenvolvido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
7.2
Problemas teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
7.3
79
7.4
86
viii
87
8.1
88
Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A Listagem de programas
90
90
91
ix
Lista de Figuras
2.1
19
4.1
44
5.1
55
5.2
56
5.3
58
5.4
65
5.5
66
6.1
Exemplo de roteiros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
7.1
75
7.2
78
Lista de Tabelas
2.1
17
2.2
25
4.1
47
5.1
54
5.2
56
5.3
57
7.1
77
7.2
79
7.3
86
xi
Lista de Grficos
4.1
7.1
7.2
7.3
7.4
7.5
7.6
xii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
46
80
81
82
83
84
85
Agradecimentos
Ao meu Deus pela vida, esperana, f, coragem e por tudo que tenho e sou.
Aos meus queridos pais, Joo e Terezinha (in memorian), que esto vivos em meu corao
e em minhas atitudes. O exemplo de vida por eles ensinado continua ajudando-me a ser uma
pessoa melhor a cada dia, e certamente estar comigo at o dia em que os encontre, quando
ento permaneceremos juntos para sempre.
Aos meus queridos irmos Edson e Joel (in memorian), cuja lembrana ainda persiste em
fazer bem ao meu corao, e Elias, Israel e Geny, cujo amor, carinho e compreenso transformam
os momentos mais difceis da minha vida em pesos leves, ajudando-me a ver sempre uma luz no
fim do tnel.
Ao meu amado esposo Jos Romildo que sempre me apoiou de forma incondicional. A sua
compreenso e colaborao foram fundamentais para a concluso deste trabalho.
Aos meus queridos filhos Felipe, Ana Carolina e Luza por tornarem minha existncia mais
feliz e interessante e at mesmo nos momentos de algum desnimo, escrevem textos e poemas
para mim.
Ao meu orientador professor Keiji Yamanaka, pelo incentivo, confiana, amizade, e importante orientao no trabalho.
Aos professores Marcone e Tatiana pelo importante interesse em ajudar no desenvolvimento
deste trabalho.
querida professora Tnia pela co-orientao e grande presteza, durante o curso e tambm
pela sua dedicao e amor ao trabalho que conduziram escolha do tema e elaborao desta
dissertao.
minha amiga Valria por sua amizade, competncia e importante contribuio para escrevermos o artigo.
minha grande amiga Rosane por compartilhar comigo todos os momentos difceis.
Ao meu amigo Joo Barbosa pela presena e amizade.
s minhas amigas Pilar, Keila e Elisabeth que cuidaram dos meus filhos com amor e carinho
enquanto precisei estar em So Paulo com minha me.
Aos demais professores que contriburam com seus ensinamentos durante todo o curso e
xiv
Resumo
Quando se analisa a cadeia de abastecimento do setor farmacutico, identica-se pontos crticos do modelo atual de entregas de medicamentos s farmcias, clientes diretos da distribuidora,
que exigem pedidos completos (in full) e nos prazos combinados (on time).
Diante deste contexto, este trabalho tem incio com a avaliao do processo logstico de uma
distribuidora de medicamentos, mediante estudo de campo para diagnosticar e desenvolver um
ncleo de roteirizao de veculos bsico, tendo em vista que a otimizao da distribuio ir
reduzir custos e principalmente o atraso nas entregas.
Mediante a complexidade e relevncia do problema no contexto logstico, foi escolhida
a abordagem utilizando a metaheurstica Algoritmos Genticos pela sua robustez diante das
caractersticas do problema. um mtodo interativo que possui alguma inteligncia no processo
de busca por solues que no param no primeiro timo local encontrado.
O problema otimizar a alocao das entregas para os veculos disponveis, levando em
considerao as restries de cada veculo, de tal forma que a distncia total percorrida por
todos eles seja mnima. A representao das solues e os operadores genticos utilizados so
baseados no problema do caixeiro viajante.
Para que os Algoritmos Genticos produzam resultados competitivos nessa classe de problemas, precisa ser hibridizado com um mtodo de busca local aplicada a cada gerao a determinados indivduos, por exemplo, um mtodo de descida. Com isso, geram solues de melhor
qualidade se comparadas s solues geradas pelos mtodos heursticos convencionais.
Para a implementao foi utilizada a linguagem Ocaml, cujas caractersticas permitem um
desenvolvimento mais rpido, sujeito a menos erros, quando comparados outras linguagens
comumente utilizadas no mercado, como C, C++ e Java.
Para testar o sistema foram utilizados problemas conhecidos na literatura, cujos resultados
demonstram que possvel automatizar a construo de roteiros com custo otimizado, para atender a distribuio de medicamentos aos clientes, levando em considerao diversas restries,
como capacidade de volume e limitao do valor das mercadorias transportadas.
Palavras-chave
Roteirizao, algoritmo gentico, otimizao.
Abstract
When the suply chain of medicine logistic is analysed, critical points can be found in the
actual model of deliveries to the drugstores, which are the direct clients of the dealer. The clients
demand full requests to be delivered on time.
In this context, this work starts with the evaluation of the logistic process of the dealer.
A field study has been conducted in order to diagnose and develop a core system for vehicle
routing. The idea is that an optimized delivering process will reduce costs and, most importantly,
the delay on deliveries.
Considering the complexity and relevance of the problem in the context of logistics, the
chosen approach uses genetic algorithms as the metaheuristic. It is robust enough to tackle the
given problem. It is an interactive method with some intelligence in the process of searching for
solutions which does not stop on the first local optimum that is found.
The problem is to optimize the allocation of deliveries to the available vehicles, taking into
account the restrictions of each vehicle, in such a way that the total travelled distance will be
minimized. The representation of the solutions and the genetic operators used are based on the
travelling salesman problem.
In order to produce competitive results on this class of problems, Genetic Algorithms need
to be associated with a local method of search. This should be done at each iteration of the algorithm. This allows the generation of better solutions when compared to conventional heuristic
methods.
The system has been implemented in the Ocaml programming language. Ocaml is a modern
language which allow quick development and the code is less error prone, when compared to
other programming languages common on the software market, like C, C++ and Java.
Known problems from the literature have been used to test the system. The results show
that it is possible to obtain optimized routers to solve the problem of delivery of medicines
to the clients, taking into account restrictions like capacity of vehicles and transported value
limitations.
Keywords
Routing, genetic algorithm, optimization.
Captulo 1
Introduo
A globalizao, as megafuses, as parcerias, as concentraes do varejo e o crescimento
do comrcio eletrnico vem desencadeando um processo de transformao na economia, cujo
impacto maior na organizao da empresa, o que tem feito da logstica empresarial um instrumento essencial para a sobrevivncia e sucesso de qualquer empresa que faa parte da cadeia de
abastecimento.
O objetivo desta pesquisa desenvolver e apresentar soluo para o problema do atraso
nas entregas de uma empresa distribuidora de medicamentos por meio da utilizao de tcnicas
de Inteligncia Artificial, em particular so utilizados os algoritmos genticos, que so aplicveis em ambientes de natureza complexa, com volumosas transaes, e com restries a serem
consideradas, como no caso abordado nesta pesquisa.
As solues so desenvolvidas e apresentadas por meio do projeto e implementao de um
programa de roteirizaao que ir considerar as restries como entrada e combin-las de modo
a gerar uma soluo otimizada. Esta soluo representa um conjunto de rotas que respeitam as
restries determinadas e tem custo menor do que aquela produzida pelo sistema atual.
Para alcanar a preferncia do cliente pelo fornecedor e tambm de atendimento s necessidade dos mesmos em relao s entregas de pedidos completos (in full) e nos prazos combinados
(on time), necessrio priorizar a integrao entre as diversas reas funcionais da empresa.
Assim, ao definir a meta de atender aos clientes conforme a regra OTIF (On Time In Full),
parece que se vive um momento apropriado para a evoluo deste estudo ao dedicar ateno
particular no alinhamento das estratgias competitivas e cadeia de abastecimento para o desenvolvimento deste trabalho.
Percebe-se pela literatura e tambm por meio do estudo de campo realizado pela autora
que, para a empresa fazer parte da cadeia de abastecimento e ser competitiva, alguns conceitos
envolvem a utilizao, em conjunto, da tecnologia de informao aliada logstica empresarial,
e as tcnicas de Inteligncia Artificial com ferramentas de anlise estatstica adequadas. Alguns
destes conceitos so:
Medidas de Desempenho , que envolve o uso de mtodos de quantificao quanto a eficcia
dos investimentos na agregao de valor aos produtos e servios,
Processos Logsticos , relacionados com a forma de utilizao das ferramentas administrativas
para o aprimoramento do atendimento ao cliente,
Infra-estrutura , que envolve a integrao entre clientes e fornecedores nos aspectos de distribuio fsica e de informaes e
Organizao , que se refere a estruturao da logstica dentro da capacidade disponvel de
profissionais da rea.
Os Algoritmos Genticos so utilizados nesta pesquisa por serem um mtodo de otimizao
combinatria eficaz no tratamento de problemas de distribuio, como os que afetam a entrega
de medicamentos, sendo eficaz na definio de rotas dinmicas de entrega dos pedidos ao construir um modelo otimizado de distribuio, que atende um organismo vivo, chamado mercado,
susceptvel s constantes variaes decorrentes do comportamento das variveis internas e externas.
A previso de demanda envolve a anlise de dados quantitativos e qualitativos. A anlise de
crdito pode ser feita utilizando as redes neurais artificiais, por serem adequadas para a resoluo de problemas cujos dados so de natureza fuzzy. Dados quantitativos como o faturamento
da empresa e qualitativos, que envolve, por exemplo, a anlise das variveis que influenciam
as decises de compra dos consumidores, por exemplo, posio geograficamente estratgica,
so importantes no momento de tomar deciso sobre qual cliente ter maior probabilidade de
comprar.
importante salientar que a empresa aqui estudada, pertencente a um grupo atacadistadistribuidor, funciona na prtica, como uma empresa autnoma, considerada de grande porte no
mbito e complexidade de suas atividades.
Assim, o estudo de campo complementou a pesquisa bibliogrfica e permitiu que um srie
de proposies fosse sistematicamente delineado pela autora e colocado a disposio da organizao para ser utilizado pela empresa que presta servios de distribuio.
1.1
requisitos de informaes disponibilidade de dados geogrficos; os prprios motoristas localizam os clientes; localizao dos veculos;
1.2
Motivao
a falta de estoque,
o cumprimento do prazo de entrega e
a condio comercial para a compra.
Estes fatores so condies primordiais para a sobrevivncia no competitivo mercado de
entregas de produtos farmacuticos, que exige a disponibilidade dos produtos no local certo e
no momento em que so desejados.
Uma anlise deste setor com base nas teorias de Porter(2), indica que existem poucas barreiras de entrada neste negcio:
reduzida necessidade de capital para abertura da farmcia,
baixa diferenciao de produtos, uma vez que os fornecedores so comuns e os preos,
em sua maioria, tabelados, e
baixos custos e fcil acesso para mudana de fornecedor.
Decorrente destes fatores, o despreparo dos gestores e o grande nmero de competidores
provocam a rotatividade na abertura e no fechamento de negcios, com falncia de 80% das
novas farmcias em at dois anos de operao.
Ao considerar este cenrio de dificuldades do setor, o maior e primeiro objetivo de uma distribuidora de medicamentos, deve ser, portanto, garantir a preferncia e a prioridade na deciso
de compra do varejista, sendo escolhido como fornecedor preferencial na execuo do primeiro
pedido dos melhores clientes, deixando aos concorrentes, os pedidos complementares de menor
escala e volume, menor variedade de tens e menor margem de contribuio.
Assim, para que a distribuidora de medicamentos em estudo, adote um posicionamento
competitivo neste mercado, deve qualificar os processos para a venda de lotes pequenos, com
maior freqncia de pedidos, sem comprometimento da rentabilidade do negcio.
Com o objetivo de contribuir para esta qualificao de processos logsticos, prope-se o estudo do processo atual de formao e entrega de pedidos, identificando-se os problemas, suas
causas e possveis instrumentos para soluo de gargalos, de modo a garantir um perfeito atendimento s demandas de seus clientes.
Neste sentido, muitas empresas que operam a distribuio fsica de mercadorias em geral,
tm buscado dar maior confiabilidade, mais velocidade e flexibilidade; assim como praticar a intermodalidade em todos os seus canais de distribuio buscando maior eficincia e pontualidade;
7
um melhor aproveitamento da frota e dos motoristas; menores tempos de ciclo; menores tempos
de obteno e planejamento de rotas, gerando assim, sensveis redues de custos operacionais,
melhoria da imagem da empresa no mercado, maior fidelidade de clientes.
Desta maneira, muitas empresas, com o objetivo de obter excelncia nos processos de distribuio fsica, fazem aquisies dos chamados sistemas de roteirizao e programao de veculos.
Conforme Assad et al.(3) os custos de distribuio fsica agregam cerca de 16% ao valor
final de um item, o que justifica a utilizao de mtodos mais eficientes para o desenvolvimento
de sistemas de roteirizao e programao de veculos.
Os mtodos embutidos nos sistemas de roteirizao e programao de veculos produzem
solues que correspondem algum tipo de otimizao, buscando prioritariamente, minimizar
a frota e, em seguida, a distncia total percorrida. Muitos desses sistemas se apiam em heursticas clssicas tais como as heursticas de economias Clarke e Wright(4), de varredura Wren
e Holliday(5), Gillet e Miller(6) e outras do tipo agrupa-primeiro e roteiriza depois Fisher e
Jaikumar(7). Essas heursticas clssicas tem a desvantagem de parar no primeiro timo local
encontrado, impossibilitando a gerao de solues de melhor qualidade.
Segundo Cordeau et al.(8), a implementao de muitos sistemas de roteirizao e programao de veculos d mais importncia s questes de interface com o usurio do que com os
mtodos de resoluo, os quais, na sua grande maioria, so ultrapassados.
O esforo de pesquisa que vem sendo direcionado ao desenvolvimento das chamadas metaheursticas, englobam as estratgias e tcnicas mais recentes e avanadas, no tradicionais, que
so baseadas em sistemas especialistas, mtodos de busca e, principalmente, procedimentos
iterativos com alguma inteligncia no processo de busca para escapar dos timos locais, como
o caso da proposta deste estudo ao aplicar os algoritmos genticos no desenvolvimento de um
sistema de roteamento de veculos para a empresa em estudo.
A aplicao dos algoritmos genticos no sistema de roteamento de veculos decorrente do
fato de que suas caractersticas so diferentes dos mtodos heursticos tradicionais. A idia
explorar de maneira mais inteligente as regies mais promissoras do espao de solues.
A proposta deste trabalho baseia-se numa evidente necessidade de atendimento de demanda
nacional existente no setor de distribuio em geral, a qual pode ser percebida pela existncia de
uma notvel relevncia dos problemas de roteirizao e programao de veculos, de uma permanente busca por novas estratgias e mtodos de soluo para a resoluo de modelos cada vez
mais complexos e abrangentes, relacionados a diferentes instncias deste complexo problema de
natureza combinatria. Considerando tambm expressivas, so as aplicaes prticas, o ponto
8
1.3
Objetivos
Para a gesto qualitativa e quantitativa da cadeia de distribuio dos medicamentos, as atividades de transporte e entrega so primordiais. A soluo de questes pertinentes aos custos e aos
servios dentro do contexto logstico envolve o distribuidor e os pontos de vendas Teixeira(9).
Portanto, o foco principal desta pesquisa desenvolver e apresentar um sistema de roteirizao de veculos, cujo principal benefcio de utilizao o de reduzir o atraso nas entregas de
produtos farmacuticos.
Com base no conhecimento prvio das demandas, o desenvolvimento deste sistema utiliza
Algoritmos Genticos, os quais esto sendo amplamente utilizados em aplicaes cientficas,
comerciais e de engenharia. O vasto crescimento de aplicaes utilizando algoritmos genticos
deve-se ao fato de que eles so algoritmos computacionalmente simples, e ao mesmo tempo,
poderosos para buscar solues otimizadas. Alm disso, eles so robustos no tratamento das
informaes complexas deste ramo de negcio Goldberg(10).
Neste contexto, verificou-se por meio do estudo de campo, que o lead time inferior 12
horas e que tambm as demandas dos produtos farmacuticos devem ser conhecidas antecipadamente roteirizao. Esse fato evidencia a necessidade de utilizao de um sistema de anlise
estatstica para previso de demanda por produtos farmacuticos, pois o conhecimento prvio
sobre quais clientes sero roteirizados diariamente o principal requisito de software para a
utilizao do sistema de roteirizao de veculos abordado nesta pesquisa.
Diferentemente da distribuio peridica de um ou mais produtos, cuja resoluo do problema envolve decises interrelacionadas como: Quando atender cada cliente; Quanto fornecer
do produto quando o cliente atendido; e Que rotas utilizar no atendimento, O processo de
produo de pedidos farmacuticos (composio, montagem) no caso deste estudo, tem incio
antes do encerramento de aceites de pedido. A separao, conferncia e etiquetagem dos volumes e o encaminhamento s suas devidas rotas formam um processo contnuo a partir de um
determinado horrio no perodo da tarde.
Em outras palavras, o problema de roteirizao de veculos aqui abordado no considera as
questes de quando atender os clientes, nem quanto fornecer ao cliente quando esse atendido,
concentrando-se principalmente nos aspectos espaciais da distribuio, que envolve a entrega
dos pedidos completos nas farmcias o mais cedo possvel no horrio da manh, respeitando-se
as restries de capacidade de carregamento do veculo e as restries de valor da carga.
9
Mediante o estudo de campo realizado pela pesquisadora, percebeu-se que a anlise estatstica da freqncia de compra dos clientes por meio do histrico de vendas da empresa pode
levar ao conhecimento prvio da demanda.
A utilizao do sistema de previso de demanda tambm importante no suporte ao planejamento da produo. Entenda-se como produo, o processo de composio ou montagem dos
pedidos.
Tambm, nesta pesquisa, o estudo de campo permitiu evidenciar a necessidade de eliminar
as barreiras integrao interna, que inibem o processo de qualificao da composio de pedidos, que incrementa os custos e impedem que haja melhorias no atendimento das exigncias e
necessidades dos clientes.
O trabalho foi desenvolvido em trs dimenses, a saber:
O Aspecto Terico : em primeiro lugar, consolidar os conhecimentos por meio de uma pesquisa bibliogrfica selecionada, da teoria existente em relao aos mtodos e heursticas
utilizadas na roteirizao e programao de veculos.
O Estudo de Campo : a pesquisadora props-se a desenvolver um intensivo estudo junto empresa, com sede em Uberlndia - Minas Gerais, com o objetivo de conhecer e at mesmo
vivenciar os procedimentos relacionados com a logstica de distribuio de medicamentos.
Resultados e Proposies : pretende-se, com os conhecimentos adquiridos, mediante a reviso
bibliogrfica selecionada e o estudo de campo realizados, criar e desenvolver um sistema
de roteirizao de veculos utilizando Algoritmos Genticos capaz de gerar rotas dinmicas e de menor custo. A autora tambm sugere o desenvolvimento de um sistema de
anlise estatstica para previso de demanda, que por meio da busca e anlise de informaes pertinentes freqncia de compra dos clientes, pode antecipar os pedidos do
dia.
Na cadeia de abastecimento da farmcia, o distribuidor de medicamentos o elo principal
para garantir que o produto certo esteja disponvel na prateleira na hora certa. Uma vez que
haja falhas para o atendimento perfeito do pedido encomendado, a perda da preferncia do
cliente na hora da realizao da primeira compra ou seleo do fornecedor preferencial ser fato
consumado, em decorrncia da incapacidade do distribuidor em atender a necessidade completa
da farmcia, sendo assim preterido para segundo ou terceiro lugar nas prximas solicitaes.
Portanto, a qualificao do processo e o atendimento dos requisitos bsicos da cadeia dependem da implementao e uso de ferramentas de Inteligncia Artificial e modelos estatsticos,
10
que podem vir a identificar os gargalos, por meio de instrumentos e tcnicas, que sustentam as
decises gerenciais necessrias para a soluo do problema apresentado.
Dado este cenrio torna-se necessrio inovar e qualificar a gesto da entrega dos medicamentos, nas condies exigidas pelas farmcias, alinhando o atendimento e cumprimento das
regras acordadas por todos os elos da cadeia de suprimento.
Desta forma, as empresas que investirem continuamente para atingir altos nveis de competncia no fornecimento do servio qualificado de entrega, dificilmente sero alcanadas pela
concorrncia, em termos de operaes logsticas Bowersox e Closs(11).
1.4
Um breve histrico
As caractersticas desta pesquisa refletem uma concepo bsica das atividades relacionadas
com a logstica empresarial e um breve entendimento sobre a utilizao de tcnicas de Inteligncia Artificial para otimizao do processo de distribuio de medicamentos, que podem ser
melhor compreendidos e mais facilmente visualizados a partir deste histrico com o objetivo de
inserir o leitor no contexto de desenvolvimento deste trabalho.
Desde meados de 2003, a pesquisadora se interessou pela rea e comeou a ler sobre o assunto e, motivada pelo apoio ao ser aceita na Faculdade de Engenharia Eltrica da Universidade
Federal de Uberlndia no curso de Ps-graduao e tambm pela oportunidade e liberdade em
poder compartilhar de toda e qualquer informao real da empresa, que atende ao setor de distribuio de medicamentos em todo o Brasil, alm do fato de encontrar receptividade por parte
dos funcionrios em colaborar no processo de levantamento de informaes para definio do
foco da pesquisa.
Um melhor direcionamento e motivao para a continuidade da pesquisa foram mais rapidamente alcanados mediante a publicao de um artigo de autoria da pesquisadora em congresso
internacional em Outubro de 2005. Neste momento, a autora tambm percebeu que existe uma
demanda por conhecimentos na rea logstica cada vez mais concentrada por parte de alunos,
universidades e empresas locais.
A empresa analisada faz parte de uma holding, cujas principais atividades esto relacionadas
ao setor atacadista-distribuidor. Ela iniciou suas atividades na dcada de 1950 como um armazm de secos e molhados. Ao final dos anos 1960, ela expandiu suas atividades do armazm
prprio para depsitos alugados.
No perodo do Milagre Econmico, com a passagem de um Brasil Rural para um Novo Bra-
11
sil Urbano, a organizao expande sua operao para as capitais. Ao crescimento acelerado da
dcada de 1970, segue-se a crise econmica que adentra aos anos 1980, poca em que a competncia se torna o grande diferencial, depois de uma dcada em que o crescimento generalizado
permitiu o desenvolvimento de todos.
Ao final da dcada de 80, a nova Central de Distribuio aloja mercadorias segundo um
mapa que divide prateleiras em quarteires, avenidas, ruas e apartamentos. As empilhadeiras
alcanam mais de 10 metros de altura e o acondicionamento planejado para garantir a integridade e a qualidade dos produtos. Em 1989, a preparao para expedio de cargas passa a ser
planejada por computador para dar rapidez ao processo.
No incio dos anos 1990 o grupo de empresas possui 24 centros avanados de distribuio,
funcionando em 18 estados como entrepostos da central de distribuio. Nesta poca inicia-se
a reestruturao do corpo administrativo da empresa, cujo faturamento anual atinge US$ 420
milhes, tornando-se o maior atacadista-distribuidor da Amrica Latina. Em 1995 atinge R$
1,2 bilhes de faturamento, 140 mil clientes, frota de 2000 caminhes, 2250 motoristas e 4000
empregados.
O novo milnio inicia-se com altos investimentos em tecnologia da informao que viabilizam interatividade e agilidade nos negcios. Os desafios e oportunidades que se apresentam
neste ambiente competitivo favorecem a corporao, que adota uma estratgia de excelncia nas
parcerias com clientes e fornecedores. Sua posio geogrfica, logisticamente favorvel, em
funo das atividades produtivas das indstrias e setores de negcios da regio, permite planejar
novos investimentos em unidades de negcios que integram qualidade, eficcia e tecnologia e
potencializam o uso da estrutura implantada para transformar valor em novas oportunidades.
Assim, a holding cria uma nova unidade de negcio para suas operaes financeiras e acesso
ao crdito para seus clientes e uma nova unidade de negcio para realizar a distribuio especfica de produtos farmacuticos.
1.5
Metodologia
Pode-se definir pesquisa como o procedimento racional e sistemtico que tem como objetivo
proporcionar respostas aos problemas que so propostos. A pesquisa requerida quando no se
dispe de informao suficiente para responder ao problema, ou ento quando a informao
disponvel se encontra em tal estado de desordem que no possa ser adequadamente relacionada
ao problema.
A pesquisa desenvolvida mediante o concurso dos conhecimentos disponveis e a utiliza12
1.5.1
A pesquisa realizada no presente trabalho enquadra-se no campo das pesquisas TericoAplicada Descritiva.
As categorias das pesquisas diferem de acordo com o propsito da pesquisa, das questes
pesquisadas, da preciso da hiptese formulada e o mtodo de coleta de dados utilizado.
A classificao dos tipos de pesquisa proposta por Westfall(13) est definida em:
Exploratria : Procura descobrir novas relaes
Descritiva : destinada a descrever as caractersticas de uma determinada situao e
Experimental : destinada a testar hipteses especficas, isto , testar idias, tentativas de relaes.
O principal objetivo da pesquisa descritiva a descrio das caractersticas de determinada
populao ou fenmeno ou, ento, o estabelecimento de relaes entre variveis, cuja principal caracterstica reside na utilizao de tcnicas padronizadas de coleta de dados, tais como o
questionrio e a observao sistemtica.
A adoo deste conceito parece adequada para a realizao desta pesquisa, dado que o objetivo desenvolver um sistema de roteirizao de veculos, que ao otimizar a distribuiao,
proporciona tambm a reduo dos atrasos nas entregas. Esta uma rea em crescente expanso
e ainda carente de sistemas mais robustos que possa considerar as caractersticas e necessidades
particulares de cada empresa.
A pesquisa descritiva utilizada quando se busca uma nova viso do problema, as possveis
decises alternativas e as variveis relevantes que devem ser consideradas. Tipicamente existe
um pequeno conhecimento prvio sobre o que construir.
13
As pesquisas descritivas so, juntamente com as exploratrias, as que habitualmente realizam os pesquisadores sociais preocupados com a atuao prtica. So tambm as mais solicitadas por organizaes como instituies educacionais, empresas comerciais, partidos polticos,
ect.
Neste sentido, em um primeiro momento, este trabalho consite de uma pesquisa bibliogrfica sobre o assunto em questo, com a finalidade de buscar informaes sobre a utilizao atual
e opinies reinantes, bem como ter uma viso geral dos trabalhos j realizados.
Num segundo momento, conforme os objetivos desta pesquisa, optou-se pela utilizao do
mtodo de estudo de campo. Este mtodo tende a utilizar muito mais tcnicas de observao do
que de interrogao.
No estudo de campo, o pesquisador realiza a maior parte do trabalho pessoalmente, pois
enfatizada a importncia de o pesquisador ter tido ele mesmo uma experincia direta com a
situao de estudo. Tambm se exige do pesquisador que permanea o maior tempo possvel na
comunidade, pois somente com esta imerso na realidade que se pode entender as regras, os
costumes e as convenes que regem o grupo estudado Gil(12).
Como todos os mtodos de investigao, o estudo de campo tambm apresenta algumas
desvantagens, por exemplo, sua realizao requer mais tempo do que um levantamento. Como
na maioria das vezes os dados so coletados por um nico pesquisador, existe o risco de subjetivismo na anlise e interpretao dos resultados da pesquisa. A ocorrncia dos vieses acaba
comprometendo a qualidade dos resultados, cabendo aos pesquisadores redobrar os cuidados
tanto no planejamento quanto na coleta e anlise dos dados para minimizar os efeitos dos vieses.
1.6
Estrutura do texto
14
15
Captulo 2
O Problema e sua Contextualizao
2.1
Evoluo histrica
Uma viso histrica como um pano de fundo para tecer algumas consideraes sobre
a evoluo dos mtodos de resoluo utilizados para solucionar problemas na distribuio de
mercadorias e sua ligao com o conhecimento.
De acordo com Assad et al.(3), uma importante considerao na formulao e soluo de
problemas de roteirizao e programao de veculos o esforo computacional associado s vrias tcnicas de solues. A maioria desses problemas pode ser considerada como um problema
de rede, cuja dimenso medida pelo nmero de ns (clientes) resultantes na rede (roteiro).
Nas primeiras geraes, os sistemas de roteirizao e programao de veculos eram executados nos chamados mainframes, os resultados gerados nem sempre podiam ser conhecidos
imediatamente, pois dependiam tanto do tempo de processamento como da sua prioridade na
fila de espera para resoluo. Alm disso, esses sistemas no apresentavam recursos grficos
e interativos, prejudicando ainda mais o entendimento e a aceitao das solues por parte dos
usurios. Tambm, no era possvel testar alteraes manualmente nas solues obtidas, de
modo a atender restries no consideradas explicitamente nos parmetros de entrada do modelo, sendo que alguns destes recursos s vieram a se tomar possveis e acessveis com o advento
e a evoluo dos microcomputadores Ferreira Filho e Melo(14).
Logo depois, surgiram os sistemas auxiliados por computador para roteirizao de veculos,
que, em vez de fornecer ao usurio uma soluo pronta, auxiliavam-no a examinar em menor
tempo diferentes alternativas, permitindo ao usurio (programador ou despachador) preocuparse com as condicionantes do problema mais difceis de serem consideradas, e ainda visualizar
16
Janelas
de tempo
Coleta de
retorno
Backhaul
Mltiplas
rotas por
veculo
Roteiros
com
pernoite
DSS
Rgidas
Sim
Sim
Sim
EZROUTER
FLEETROUTER
Rgidas
Sim
Sim
Sim
No
No
Sim
No
MICRO
VEH
PLAN
PARAGON
ROADNET
ROUTEASSIST
ROUTER
Rgidas
Sim
Sim
Sim
Rgidas
Sim
Sim
Sim
Flexvel
No
Sim
No
Rgidas
Sim
Sim
No
No
No
Sim
Sim
TRUCKSTOPS
Rgidas
Sim
Sim
Sim
Dist.
e
tempos
de
viagem
Coordenadas
Rede ou
coord.
Coord.,
Zonas
de velocidade,
Barreiras
Coordenadas
Mudana
manual de
solues
No
Recurso
grfico
Sim
No
Sim
Sim
Sim
No
Rede ou
coord.
Rede ou
coord.
Coordenadas
Coordenadas
Coord.,
Zonas
de velocidade,
Barreiras
No
No
Sim
Sim
Sim
Sim
No
No
Sim
No
No
2.2
Farma Service
No incio dos anos 90 a Farma Service foi criada para atender as solicitaes dos prprios
clientes, mediante a demanda do mercado dos farmacistas, que se ressentiam da falta de um
atacadista de mbito nacional.
Para aprimorar o atendimento e aumentar a agilidade, tendo em vista as condies favorveis
do mercado, foi criada a distribuidora de medicamentos, que em seu primeiro ano de operao
j relacionava-se com as 30 maiores indstrias nacionais de medicamentos.
18
Aps a consolidao da Unidade de Negcio, a Farma Service passa a trabalhar com especial
ateno em busca da regularidade no atendimento, por meio de um processo logstico que visa
atender a regra OTIF (On Time In Full) buscando alcanar o nvel de servio de 100%.
A Farma Service o nico distribuidor especializado farmacutico para entrega de medicamentos que est presente em todas as localidades do pas e oferece um composto mercadolgico
que abrange produtos de higiene, beleza, medicamentos OTC (sem exigncia de receiturio mdico), ticos e genricos.
Os processos de distribuio seguem a regra da categoria de negcio de farmcias, que
restringe a estocagem da maioria dos itens entregues nos pontos de vendas.
Devido ao alto custo de investimento em estoques e requisitos regulatrios quanto validade
e conservao, as farmcias fazem seus pedidos diariamente e exigem entrega no prazo mximo
de 24 horas do mesmo.
Portanto, o nvel de servio do distribuidor est intimamente relacionado com o tempo de
entregar um pedido completo ao cliente, o qual vai desde a recepo do pedido at a entrega no
ponto de venda propriamente dito. A Figura 2.1 mostra os componentes envolvidos no fluxo da
Figura 2.1: Fluxo da cadeia de suprimentos para distribuio de medicamentos.
captacao de pedidos
cliente
rca
televendas
broker
link
armazem
separacao
compras
expedicao
ind
ustria
19
transbordo
entrega
2.3
Ciclo do pedido
Para um perfeito atendimento, manuteno e conquista de novas fatias do mercado farmacutico, um dos principais objetivos do televendas conquistar e manter o relacionamento com
os clientes. A captao dos pedidos se d das seguintes formas:
Televendas Ativo so estipuladas metas para os vendedores: os quais contactam os clientes
oferecendo promoes, novidades, etc. feito um acompanhamento do tempo gasto na
ligao com o cliente e a meta alcanada na medida que o funcionrio consegue atender um determinado nmero de clientes em um determinado tempo. Obviamente este
nmero de clientes atendidos est intimamente relacionado com a quantidade de vendas
efetivamente realizada.
Televendas Receptivo como no Televendas Ativo, so estipuladas metas para os vendedores,
mas aqui eles so receptores das ligaes dos clientes, que fazem seus pedidos e outras
solicitaes.
RCA Representante Comercial Autnomo o profissional de vendas se utiliza de um palmtop (equipamento que cabe na palma da mo) desenvolvido pela tecnologia de automao
de vendas para enviar os pedidos dos clientes, ento efetuados diretamente nas farmcias
pelo RCA.
Link o cliente farmacutico se utiliza de um computador no prprio estabelecimento comercial
para solicitar seus pedidos ao distribuidor.
A anlise do credit score1 do cliente um dos principais componentes do processo de atendimento do cliente. Um conjunto de critrios para verificao e acompanhamento do status do
cliente so implementados no sistema de anlise de crdido, cuja interao com o atendimento
fica disponvel on-line, isto , durante a conversao com os clients no momento em que fazem
suas solicitaes, seja pelo Televendas Ativo e Receptivo, pelos RCAs ou pelos prprios clientes
via Link com o Televendas.
O ciclo do pedido tem incio com a operacionalizao das alteraes no status do pedido via
sistema que so:
1
Pontuao do cliente.
20
O processo de agrupamento dos pedidos que pertencem aos grupos de clientes previamente
determinados, acontece em conjunto com a montagem dos mesmos, isto , na medida em que os
volumes vo sendo gerados, so encaminhados aos devidos grupos para a montagem da carga.
No CAD (Centro de Armazenamento e Depsito), conforme sucede o fechamento dos pedidos que pertencem aos determinados grupos, o pessoal de expedio d incio ento organizao das referidas cargas dentro dos paletes para em seguida, serem carregados nos caminhes
para entrega na empresa terceirizada que far a distribuio.
2.4
Ao rever a teoria existente sobre a logstica empresarial, pode-se concluir que apesar dessas
expressivas comparaes de custo, vrios autores pesquisados compartilham a idia de que o
fator logstico mais importante para a empresa no somente a conteno ou reduo de custo,
mas sim, a vantagem competitiva que esta atividade pode conceder s organizaes. Empresas
que possuem competncia logstica podem agregar vantagem de custo e de valor, mediante a
colocao no mercado de um servio de qualidade superior ao consumidor Teixeira(9).
Neste contexto surge, ento, a indstria da logstica terceirizada, que tem se tornado um
importante segmento do setor tercirio tanto em nvel global, quanto em nvel local.
Essas empresas montam um ramo de negcio independente e oferecem ampla gama de servios de qualidade a um custo mais baixo, se comparado ao desempenho dos mesmos servios
realizados pela empresa contratante.
Embora este setor seja dinmico e possua um grande potencial de crescimento, as empresas
que atuam neste segmento enfrentam constantes desafios, cujas origens esto na concorrncia
existente no setor, na instabilidade da economia, nos avanos tecnolgicos, no processo de integrao da logstica, marketing e produo, na melhoria dos sistemas de armazenamento e estruturao das informaes para a tomada de decises e at mesmo no desconhecimento tcnico
dos executivos em relao s ferramentas e tcnicas utilizadas para o planejamento de roteiros
de entregas.
Diante deste fato, e at mesmo por uma necessidade de entendimento do processo utilizado
pela empresa terceirizada atualmente contratada, a autora deste trabalho pde verificar pessoalmente como na prtica, a atuao da empresa no processo de recebimento da carga vinda do
depsito, a forma como os motoristas montam o sequenciamento e organizao das entregas nos
veculos e despacho dos motoristas para a realizao das entregas.
22
O local onde a empresa terceirizada em questo recebe os caminhes com a carga a ser
distribuda pelos seus motoristas, chamado de rea de transbordo ou rea de transferncia ou
ainda mais comumente chamado de centro de distribuio.
A empresa terceirizada ento contratada pela empresa em estudo no se utiliza de um sistema automatizado para o planejamento da distribuio, os chamados sistemas de roteirizao
e programao de veculos. Nessa empresa, cada motorista responsvel pelas entregas de um
grupo de clientes previamente determinado. As entregas so feitas pelos motoristas com base
no conhecimento prvio que os mesmos possuem em relao s localizaes e formas de acesso
s farmcias.
Devido a empresa em estudo no possuir um servio de distribuio exclusivo, a empresa
contratada presta servios outros clientes, o que ocasiona a no disponibilidade do espao
livre ideal para a circulao dos veculos nos processos de descarregamento dos paletes vindos
do depsito e carregamento dos veculos menores para a distribuio. Tanto o pouco espao de
circulao como a maior distncia existente entre os veculos e o local onde esto os paletes
dificultam no processo de seqenciamento e organizao das entregas nos veculos.
A ordem das entregas estabelecida de acordo com a proximidade da farmcia com o motorista durante o trajeto para realizar todas as paradas previstas. Os volumes que so entregues por
ltimo so colocados primeiro no veculo e os volumes que so entregues primeiro so colocados
por ltimo no veculo.
A entrega de produtos visados feita com alguns cuidados parte devido ao alto risco de
roubo envolvido. Eles so colocados em locais separados dos demais volumes no centro de
distribuio e aps o sequenciamento e organizao das entregas nos veculos, esses volumes
so colocados (na mo do motorista), no momento da sada, para serem entregues pessoalmente
ao cliente.
2.5
O termo roteirizao de veculos, embora no encontrado nos dicionrios da lingua portuguesa, a forma que vem sendo utilizada como equivalente ao ingls routing para designar o
processo para a determinao de um ou mais roteiros ou seqncias de paradas a serem cumpridos por veculos de uma frota, objetivando visitar um conjunto de pontos geograficamente
dispersos, em locais pr-determinados, que necessitam de atendimento.
23
24
Nmero
roteiros
Problema
do
caixeiro
viajante
Problema do
carteiro chins
Problema
de mltiplos
caixeiros
viajantes
Problema de
roteirizao
em ns com
uma
nica
base
Problema de
roteirizao
em ns com
mltiplas
bases
Problema de
roteirizao
em ns com
demandas
incertas
Problema de
roteirizao
em
arcos
com limite de
capacidade
um
de
Localizao
dos clientes
ns
uma
determinsticas
um
arcos
no
uma
mltiplos
ns
no
uma
determinsticas
determinsticas
mltiplos
ns
sim
uma
determinsticas
mltiplos
ns
sim
mltiplas
determinsticas
mltiplos
ns
sim
uma
estocsticas
mltiplos
arcos
sim
uma
determinsticas
25
Nmero
bases
de
Demandas
27
Captulo 3
Tcnicas de Otimizao
3.1
Otimizao combinatria
28
proibitivo.
Este trabalho aplica a meta-heurstica Algoritmos Genticos proposta por Holland(19), para
a soluo do problema de roteirizao de veculos proposto nesta pesquisa. Os algoritmos genticos so mtodos generalizados de busca e otimizao que simulam os processos naturais
de evoluo dos seres vivos que podem ser aplicados para a solues de problemas de otimizao combinatria, como o caso do clssico problema do caixeiro viajante, considerado nesta
pesquisa.
No Brasil, somente as maiores empresas esto implantando procedimentos de otimizao,
dada a inexistncia de ferramentas que considerem as caractersticas nacionais. Essas empresas
esto se valendo de sistemas importados customizados (dentro de suas restries originais de
aplicabilidade de cada setor) e destinados originalmente captao de lixo urbano, distribuio
de gs de cozinha e no setor de agronegcios Lobo et al.(20).
3.2
Estruturas que podem ser representadas por grafos esto em toda parte e muitos problemas
de interesse prtico podem ser formulados como questes sobre certos grafos. Por exemplo, o
problema de rota tima surge no problema do caixeiro viajante em teoria dos grafos.
O problema de roteirizao de veculos um problema de otimizao combinatria que pode
ser descrito como: Dado uma frota de veculos com capacidade homognea ou heterognea,
um depsito comum e vrios pontos de atendimento (clientes), encontrar o conjunto de rotas
(roteiros) com um custo mnimo que atenda toda a demanda.
O problema de roteirizao de veculos pode ser resolvido at a otimalidade por vrios algoritmos exatos, entre eles, a tcnica branch-and-bound, que consiste em estabelecer ou calcular
limites em solues parciais com o objetivo de limitar a quantidade de solues completas que
precisam ser examinadas.
De acordo com a natureza deste tipo de problema, a utilizao de abordagens exatas no
vivel devido a existncia de instncias complexas em um problema de roteirizao de veculos.
A aplicao da computao evolucionria encontra limitaes, fato que leva os pesquisadores
a acreditar em abordagens hbridas, que combina a fora da computao evolucionria com o
uso de heursticas especficas ou simplificao do problema (Relaxao Lagrangeana) Assad et
al.(3).
29
Os algoritmos genticos so encarados como um algoritmo iterativo na medida que possibilitam melhorar uma populao de solues candidatas para um determinado problema. Os
operadores de cruzamento e mutao so aplicados para a recombinao das solues, que consiste em mudar, aleatoriamente o valor de uma varivel de deciso.
Os algoritmos genticos diferem da Busca Tabu e do Simulated Annealing na medida em
que estes exploram o espao de soluo seqencialmente, enquanto que os algoritmos genticos
trabalham com populaes de solues Dowsland(21).
Cordeau et al.(8) apresentaram quatro caractersticas cruciais para um bom algoritmo para
o problema de roteirizao de veculos e suas variantes. As quatro caractersticas apontadas so:
Preciso (que mede o quo distante a soluo heurstica ficou da soluo tima ou da melhor
soluo conhecida); Velocidade (que avalia o tempo para a tomada de decises); Simplicidade
(que avalia a facilidade de se implementar e entender o cdigo e tambm o nmero de parmetros que so utilizados, que podem facilitar ou dificultar a compreenso do algoritmo, alm de
dificultar a implementao do mesmo) e a Flexibilidade (que avalia a capacidade para incluir
novas restries comumente encontradas na maioria das aplicaes da vida real). Esses autores
apresentam, ainda, uma comparao entre vrias tcnicas aplicadas resoluo do problema de
roteirizao de veculos baseadas nestas quatro caractersticas.
3.2.1
Mtodos heursticos
Procedimento para construo de rotas gera um rota inicial por meio de um procedimento
que a cada iterao adiciona um cliente rota,
Procedimento para melhoramento de rotas tenta encontrar uma rota melhor dada uma rota
inicial, por meio de modificaes na ordem de visitas dos clientes que compem a rota, e
Procedimento de composio de rotas constri uma rota inicial a partir de um procedimento
de construo de rota, e ento tenta encontrar um rota melhor usando um ou mais procedimentos de melhoria de rota.
Nos Mtodos Heursticos no h garantia alguma a respeito da otimalidade da soluo encontrada. Isto , no h como saber se a soluo obtida est perto ou longe da melhor soluo
possvel em termos de qualidade. Contudo, h ocasies em que essa noo de proximidade
faz-se necessria. Por exemplo, pode-se estar interessado em uma soluo que no precisa ser a
melhor, mas deve ser, no mximo, 10% pior que a melhor soluo possvel, uma soluo relativamente boa pode j ser suficiente para a aplicao que se tem em mos. Nesses casos, entram
em ao os Algoritmos Aproximados.
3.2.2
Algoritmos aproximados
Em linhas gerais, Algoritmos de aproximao so algoritmos que no necessariamente produzem uma soluo tima, mas solues que esto dentro de um certo fator da soluo tima. O
objetivo diminuir ao mximo o intervalo (gap) existente entre a soluo tima e os resultados
encontrados.
O desenvolvimento de algoritmos de aproximao surgiu devido impossibilidade de se
resolver satisfatoriamente diversos problemas de otimizao NP-difceis. Isto se refere impossibilidade, sob a hiptese de que P diferente de NP, de se encontrar algoritmos eficientes para
esses problemas.
Nessa situao, parece razovel sacrificar a otimalidade em troca da garantia de uma soluo aproximada computvel eficientemente. Certamente, o interesse , apesar de sacrificar a
otimalidade, faz-lo de forma que ainda se possa dar boas garantias sobre o valor da soluo
obtida, procurando ganhar o mximo em termos de eficincia computacional.
Esse compromisso entre perda de otimalidade e ganho em eficincia o paradigma dos
algoritmos de aproximao.
Algumas das tcnicas que tm sido usadas em algoritmos de aproximao so: Mtodos
Combinatrios, Mtodos usando Programao Linear, Programao Semidefinida, Algoritmos
31
3.2.3
Relaxao lagrangeana
A relaxao Lagrangeana uma tcnica poderosa para a resoluo de problemas de otimizao combinatria, uma de suas virtudes a resoluo do subproblema como um modelo
independente, podendo com isso, ser explorados quaisquer algoritmos ou mtodos para a sua
resoluo Cunha(22).
O trabalho de Assad et al.(3), considerado, ainda hoje, como uma das mais importantes
referncias sobre o problema de roteirizao de veculos, pois contm uma reviso das principais
estratgias e procedimentos de soluo e das principais aplicaes conhecidas, abrangendo mais
de 700 referncias bibliogrficas Cunha(22).
Em sua tese de doutorado, Cunha(22) apresentou um modelo para o problema de roteirizao e programao de uma frota de veculos, com restries de janelas de tempo baseado na
relaxao Lagrangeana de restries do modelo matemtico.
Os conceitos de relaxao Lagrangiana, como so conhecidos hoje, devem-se a Held e
Karp(23), que formularam um problema Lagrangiano baseado em rvores de cobertura mnima,
para desenvolver um algoritmo bastante eficiente para o problema do caixeiro viajante.
3.2.4
Durante a observao de campo para desenvolvimento deste trabalho, foi possvel presenciar
a operacionalizao do sistema de roteirizao em utilizao pelo atacadista-distribuidor, o Nrrouting, originado do Trucks cuja implementao baseada na heurstica de Clarke e Wright.
De acordo com Ferreira Filho e Melo(14), o Trucks um dos sistemas mais antigos disponvel no mercado nacional e o que se tem maiores registros de utilizao.
A heurstica de Clarke e Wright uma das mais conhecidas e mais utilizadas na prtica,
apesar de suas limitaes. Este algoritmo possui um score de alta simplicidade e velocidade,
no contm parmetros e de fcil implementao.
Essa heurstica inicia-se com tantas rotas quanto forem os clientes. A seguir, as rotas so
combinadas e a combinao que produzir a maior economia satisfazendo as restries de capacidade realizada. Esse procedimento repetido at que no seja mais possvel combinar
rotas sem violar as restries. Esta tcnica foi aplicada ao problema de roteirizao de veculos
32
clssico.
No entanto, Cordeau et al.(8) adverte que, em geral, as solues geradas so de qualidade
ruim. A falta de flexibilidade provavelmente, a pior caracterstica deste algoritmo. Enquanto
restries adicionais podem, em princpio ser incorporadas no algoritmo de Clarke e Wright,
isso normalmente resulta em acentuada deteriorao na qualidade da soluo, o que pode ser
explicado pelo fato de que o algoritmo baseado no princpio guloso de insero e no possui
mecanismo para desfazer anteriormente uma unio de rotas insatisfatria.
Os autores acreditam que apesar de serem propostos alguns melhoramentos no algoritmo de
CW para produzir rotas mais compactas e o uso de sofisticadas estruturas de dados e estratgias
selecionadas para melhorar as economias, de qualquer modo, frente ao atual nvel de tecnologia de computao, tais melhoramentos esto rapidamente se tornando irrelevantes Cordeau et
al.(8).
3.2.5
Meta-heursticas
33
3.2.7
Busca tabu
A Busca Tabu um mtodo de busca local, que utiliza uma estrutura de memria de curto e
longo prazo para escapar de timos locais.
Segundo Mortati(26), que aplicou a mtodo da Busca Tabu ao problema de roteamento
peridico de veculos, ele utilizado, com sucesso, em uma grande variedade de problemas de
otimizao combinatria e existe escassez de implementaes com este mtodo para os sistemas
de programao e roteirizao de veculos. O problema de roteirizao peridica de veculos
uma extenso do problema clssico de roteirizao de veculos, que consiste em associar uma
combinao de dias de visitas a cada cliente e, para cada dia do horizonte de tempo, definir as
rotas dos veculos de tal forma a visitar os clientes alocados para cada dia objetivando minimizar
o custo total das rotas percorridas pelos veculos ao longo do horizonte de tempo, sujeito a
restries operacionais.
A aplicao da Busca Tabu na roteirizao de veculos, corresponde meta-heurstica com
resultados mais promissores. Entretanto, os autores destacam que, embora a qualidade das solues obtidas por meio de meta-heursticas seja muito superior s das heursticas convencionais,
os tempos computacionais ainda so elevados, o que dificulta a sua incorporao s aplicaes
comerciais. Adicionalmente, segundo os autores, as meta-heursticas so muito dependentes do
contexto e requerem ajuste fino de parmetros de processamento caso a caso, o que tambm
inviabiliza sua utilizao em softwares comerciais Laporte et al.(27).
1
Na Metalurgia, annealing significa recozimento, uma tcnica pela qual se remove defeitos do metal por meio
de seu aquecimento e resfriamento gradativo
34
3.2.8
3.3
Inteligncia Artificial
Inteligncia Artificial uma das cincias mais recentes, que atualmente abrange uma variedade enorme de subreas, que vo desde reas de uso geral, como aprendizado e percepo,
at tarefas mais especficas, como jogos de xadrez. A IA sistematiza e automatiza tarefas intelectuais e, portanto, potencialmente relevante para qualquer esfera da atividade intelectual
humana.
Mas, como pode existir Inteligncia Artificial? justamente por existir essa inteligncia
associada a um hardware que pesquisadores em neurocincia perceberam que poderiam resolver
problemas simples ou complexos por meio de mquinas. Outros bons exemplos do uso da Inteligncia Artificial so os sistemas de reconhecimento de padres no comportamento de mercados,
controle de aparelhos pelo uso da voz, sistemas de data mining, etc.
35
Em 1969, deu-se o primeiro congresso de I.A. de onde provm a primeira revista sobre
este tema, a Artificial Intelligence, abrindo-se deste modo, as portas ao terceiro perodo, o dos
sistemas especialistas. Estes, tambm chamados de agentes inteligentes, so programas que
possuem um vasto e especfico conhecimento sobre um determinado assunto.
Os sistemas especialistas pretendem simular o pensamento de um perito humano. O primeiro sistema especialista, o DENDRAL foi criado em 1985 por Edward Feigenbaun
O planejamento como exemplo de aplicao prtica da Inteligncia Artificial, est intimamente ligado ao raciocnio. Um programa com capacidade de planejar capaz de fazer escolhas hipotticas, estabelecer compromissos e ordenar as suas escolhas segundo os critrios que
melhor servem os seus objectivos. O planejador consegue ainda avaliar se os compromissos
tomados at ento conduzem a um plano completo e coerente.
Um exemplo de um excelente planejador o Deep Blue, o programa da IBM que venceu
o campeo mundial de xadrez Kasparov em 1997. O programa foi capaz de elaborar planos
estratgicos e adapt-los s novas situaes de jogo que foram surgindo.
Assim funciona um planejador, ele fixa um objetivo, e atinge-o supervisionando um ou mais
dispositivos capazes de realizar aes no mundo real. Estes tipos de programas vem muitas
vezes substituir os programas de procura que tentam passar de uma situao inicial (dados),
atravs de sucessivas aplicaes de transformaes representao dos dados do problema, para
uma situao final (objetivos). O planejador aproxima-se muito mais de uma soluo heurstica
e do processo como ns, homens, pensamos.
Procuram-se resolver problemas gerais, tomar decises e raciocinar em interao com uma
base de dados.
A viso est muito ligada ideia de percepo computacional e do fato de a mquina reconhecer o seu ambiente e comportar-se de acordo com este. Assim encontramos a percepo
visual computacional relacionada com os movimentos dos agentes, com a sua coordenao motora, o controle dos seus movimentos e no pode-se deixar de falar em robtica ao abordar esta
nova concepo de viso ativa.
3.4
Data Warehouse
36
aos sistemas operacionais da empresa e tem por objetivo organizar os dados corporativos, de
forma a dar subsdios de informaes na tomada de decises Ross(29).
Para registrar e posteriormente utilizar os dados nas anlises gerenciais, necessrio agilizar o uso de mtodos de armazenamento, estruturao e tecnologias de gerao e recuperao
das informaes. Como exemplo, pode-se citar um relatrio contendo todos os clientes que
compraram nas ltimas quatro Segundas-feiras.
Para o ramo de distribuio de medicamentos, alguns dados relevantes a serem registrados
para posteriores utilizaes so:
1. cadastro de clientes,
2. perfis de crdito e de consumo,
3. dados de estudos macroeconmicos,
4. dados de pesquisas sobre comportamento de compra,
5. indicadores de nvel de satisfao de clientes,
6. relatrios de viagens dos motoristas,
7. indicadores de tendncias de mercado e
8. resultados quantitativos de negcios (base de clientes, volume de vendas,faturamento, volume de cancelamentos de produtos e clientes, etc.).
No caso da empresa em estudo, para chegar a um diagnstico sobre os problemas de atrasos
nas entregas, a partir da anlise das causas internas e outras alheias organizao, so indicadas
as aplicaes de ferramentas que identifiquem as solues possveis aos problemas diagnosticados.
Neste trabalho, recomenda-se a utilizao da Inteligncia Artificial (IA), conjunto de tcnicas que explora o espao de busca das melhores respostas a um problema considerando as
suas restries. Tais tcnicas possuem capacidade de processar bases de dados volumosas e
diversificadas, bem como de produzir solues de qualidade para um problema Yepes(30).
Recomenda-se, tambm, o uso de ferramentas de anlise estatstica, que visam organizar,
resumir e simplificar as informaes complexas para facilitar o entendimento e a tomada de
decises Stevenson(31).
A seguir apresenta-se algumas ferramentas que, se aplicadas soluo de problemas, permite alcanar o aumento da competitividade da unidade de negcio.
37
3.5
Anlise estatstica
3.6
econmico brasileiro.
Neste sentido, o estudo de dados com significativo grau de no-linearidade, como as variveis que influenciam as decises de compra dos consumidores e a previso de demanda, pode
ser feito aplicando as redes neurais, que so indicadas para tratar tais complexidades.
A rede neural uma ferramenta de computao aplicvel a diversas reas, como por exemplo, modelagem de processos, aprendizado de processo de deciso, problema de previso, determinao de ao de controle, filtragem de dados, aquisio automtica do conhecimento, monitoramento e diagnstico rpido, processamento de informaes distorcidas ou incompletas, e
orientao na soluo de problemas de otimizao combinatria Krose e Smargt(33).
Normalmente, as fontes de dados com rudos, como uma linha telefnica com interferncias, as ruidosas cotaes de mercado de capitais, uma carga eltrica instvel e outros tipos de
informaes com distores, podem ter comportamento destrutivo, se avaliadas atravs da maioria das tcnicas. Porm, para as redes neurais artificiais isto no representa uma limitao, pois
esta tcnica separa tais padres obscuros, que podem passar desapercebidos por especialistas
humanos, e mtodos estatsticos tradicionais Freeman e Skapura(34).
Desta maneira, com a aplicao da tcnica de redes neurais, a identificao, recuperao e
depurao de informaes poludas, que entram em um sistema complexo, como o da distribuio de medicamentos, vivel.
Assim, pode-se interpretar as informaes distorcidas e transform-las em dados vlidos no
tratamento e correo de desvios para a tomada de decises.
3.7
Algoritmos evolucionrios
Na natureza existem muitos processos que procuram um estado estvel. Estes processos
podem ser vistos como processos naturais de otimizao. Nos ltimos trinta anos foram realizadas vrias tentativas de desenvolvimento de um algoritmo global de otimizao que simulasse
estes processos naturais de otimizao. Estas tentativas resultaram nos seguintes mtodos de
otimizao:
simulated annealing, baseado nos processos naturais de annealing (seo 3.2.6),
redes neurais artificiais, baseado nos processos do sistema nervoso central (seo 3.6), e
computao evolucionria, baseada em processos evolucionrios biolgicos.
40
Os algoritmos inspirados em teorias evolucionrias so chamados de algoritmos evolucionrios. Estes algoritmos podem ser classificados nas seguintes ramificaes: algoritmos genticos
(Holland(19)), programao evolucinria (Fogel(35)), estratgias de evoluo (Bremermann,
M. e S.(36)), sistemas classificatrios (Holland(19)), programao gentica (Koza(37)), e outros algoritmos de otimizao baseados na teoria da evoluo da seleo natural de Darwin e
sobrevivncia do mais apto.
Os algoritmos evolucionrios so algoritmos probabilsticos de busca que simulam a evoluo natural. Eles foram propostos a mais de trinta anos atrs (Bremermann, M. e S.(36) e
Rechenberg(38)). No entanto a sua aplicao a problemas de otimizao combinatria apenas
recentemente se tornou um tpico de pesquisa de interesse. Nos ltimos anos a otimizao evolucionria tem sido aplicada a vrios problemas NP-difceis em vrios domnios de aplicao
tais como biologia, qumica, anlise criptogrfica, identificao de sistemas, medicina, microeletrnica, reconhecimento de padres, planejamento da produo, robtica, telecomunies,
etc.
Holland(19) introduziu os algoritmos genticos. Nestes algoritmos o espao de busca de um
problema representado por uma coleo de indivduos. Estes indivduos so representados por
cadeias de caracteres, freqentemente chamados de cromossomos. O objetivo do uso de algoritmos genticos encontrar o indivduo do espao de busca com o melhor material gentico. A
qualidade de um indivduo medida por meio de uma funo de avaliao (tambm chamada de
funo de aptido). A parte do espao de busca a ser examinado chamada de populao.
A teoria da evoluo de Darwin sustenta que, entre animais de uma mesma espcie, aqueles
que no obtm xito tendem a gerar um nmero reduzido de descendentes e, portanto, apresentando menor probabilidade de ter seus genes propagados ao longo de sucessivas geraes.
A combinao entre os genes dos indivduos que perduram na espcie pode produzir um novo
indivduo melhor adaptado s caractersticas de seu meio ambiente.
Ao emular esses processos da teoria darwiniana, uma das tcnicas capazes de evoluir solues de problemas do mundo real so os algoritmos genticos (AGs), mtodos generalizados de
busca e otimizao que simulam os processos naturais de evoluo, fazendo parte de sistemas
inspirados na natureza Yepes(30). Os algoritmos genticos utilizam uma analogia direta a este
fenmeno de evoluo na natureza, onde cada indivduo representa uma possvel soluo para
um dado problema. Aos mais adaptados oferecida a oportunidade de reproduzir-se mediante
cruzamentos com outros indivduos da populao, produzindo descendentes com caractersticas
de ambas as partes.
Se um Algoritmo Gentico for desenvolvido corretamente, a populao, conjunto de possveis respostas, convergir para uma soluo tima do problema proposto Yepes(30).
41
42
Captulo 4
Algoritmos Genticos
4.1
Introduo
43
44
sim
m
4.2
Existem vrias formas de representao possveis para os cromossomos, como por exemplo
binria, inteira e real. A essa representao se d o nome de alfabeto do algoritmo gentico.
De acordo com a classe de problemas que se deseja resolver pode-se usar qualquer uma destas
formas.
Normalmente uma soluo de um problema est associado a um cromossomo p representado
na forma de um vetor com m posies:
p = (x1 , x2 , . . . , xm )
onde cada componente xi representa um gene (ou uma varivel da soluo).
Dentre os tipos de representao de um cromossomo, os mais conhecidos so: a representao binria e a representao por inteiros. A representao clssica dos algoritmos genticos
a representao binria, por ser a mais facilmente interpretada e por se encaixar melhor aos
mecanismos de renovao de uma populao de cromossomos.
Neste captulo os operadores genticos sero ilustrados considerando-se que a representao
adotada a representao binria. Obviamente os operadores genticos utilizados devem ser
definidos de acordo com a representao adotada.
4.2.1
Representao binria
Na representao binria os indivduos so codificados por uma sequncia de dgitos binrios (0 e 1). A sua utilizao est vinculada a algoritmos de codificao e decodificao, que
permitem converter a soluo para a sequncia binria que a representa, e virce-versa.
Para ilustrar, considere o problema de minimizao de funo como segue. Dada uma funo f (x) e um conjunto D R, encontre x tal que
f (x ) = min{f (x), x D}
Mais especificamente, seja o problema de minimizar a funo
f (x) =
q
x sin ( |x|)
no intervalo {x R|x 0 e x < 512}. O grfico desta funo mostrado na figura 4.1. Neste
45
caso a aptido de cada ponto da amostra simplesmente o valor da funo naquele ponto.
q
-400
-300
-200
-100
100
200
300
400
500 x
-100
-200
-300
-400
Uma sequncia binria ser usada para representar os valores de x. A preciso obtida depende do tamanho da sequncia (quanto maior a sequncia, melhor a preciso). Com 10 bits,
pode-se representar 1024 valores diferentes cobrindo o intervalo [0, 512], o que d uma granularidade de 0.5 para x. Isto significa que a diferena mnima entre os pontos de amostragem
utilizados pelo algoritmo gentico no poder ser menor que 0.5. Utilizando-se 11 bits pode-se
representar 2048 valores diferentes, dando uma granularidade de 0.25 para x. De forma geral,
utilizando-se n bits possvel representar 2n valores distintos, o que d uma granularidade de
xmax xmin
2n
As sequncias 000 . . . 0 e 111 . . . 1 representam respectivamente os limites inferior e superior do intervalo de busca. Qualquer outra sequncia de bits mapeada a um ponto intermedirio,
como ilustra a tabela 4.1.
Para mapear uma sequncia de bits para um nmero real, a sequncia primeiro convertida
para um nmero decimal, que ento mapeado a um nmero real. Por exemplo, a sequncia
binria 0001011010 corresponde ao nmero decimal 90, que representa o nmero real
90 512
= 45.0
1024
no domnio do problema, com uma imagem de aproximadamente 5.256. De forma geral o
46
Tabela 4.1: Correspondncia entre seqncias binrias e valores no intervalo [0, 512[.
seqncia binria valor
0000000000
0.0
0000000001
0.5
0000000010
1.0
0000000011
1.5
0000000100
2.0
0000000101
2.5
..
..
.
.
1111111110
1111111111
511.0
511.5
4.2.2
47
4.2.3
A representao por inteiros pode ser associada soluo de problemas de otimizao combinatria, caracterizados pela busca de uma soluo tima dentre um conjunto finito de solues.
So exemplos o problema do menor caminho em grafo direcionado, e o problema do caixeiro
viajante (captulo 5).
Para estes problemas a melhor representao de um indivduo um vetor de inteiros, onde
os inteiros representam alguma ordenao de ns. Considere o cromossomo
p = (1, 3, 6, 5, 4, 2, 7, 9, 8)
Neste caso, o vetor de nmeros inteiros de p, que uma soluo de algum problema do caixeiro
viajante, pode representar exatamente a seqncia de cidades a serem visitadas pelo caixeiro
viajante.
Novamente os operadores genticos definidos para esta representao so diferentes daqueles utilizados na representao binria ou real, pois a representao interpretada de uma
maneira peculiar.
No captulo 5 o problema do caixeiro viajante discutido com detalhes.
4.3
Funo de aptido
4.4
Populao inicial
A parte do espao de busca a ser examinado pelo algoritmo gentico chamado de populao. Cada um dos individuos da populao representa uma possvel soluo para o problema,
isto , um ponto no espao de solues. O procedimento para gerar uma populao inicial para
um algoritmo gentico muito simples para a maioria dos problemas. Normalmente utiliza-se
48
4.5
Operadores genticos
A funo dos operadores genticos definir regras para uma renovao eficaz de uma populao. Esses procedimentos ocorrem de foma iterativa tentando melhorar a qualidade gentica
de cada indivduo.
O desenvolvimento de operadores genticos est muito ligado representao de uma soluo do problema original na forma de um cromossomo. Isso significa que cada soluo s deve
ser codificada na forma de um cromossomo p e aps as atualizaes efetuadas pelo operador gentico em p, o novo cromossomo p0 ser decodificado para obter a nova soluo s0 do problema
associado. Existem basicamente dois tipos de operadores genticos:
1. operadores do tipo crossover (cruzamento), e
2. operadores do tipo mutao
4.6
Cruzamento
49
4.6.1
Seleo
4.6.2
Operadores de cruzamento
inviveis, dependendo da representao adotada. Nestes casos torna-se necessrio a incorporao de regras adicionais para viabilizar tais solues.
4.7
Mutao
O algoritmo gentico pode convergir muito rapidamente para uma regio especfica do espao de busca, caso nenhum mecanismo seja implementado para que evite isto. Se esta rea para
onde ele convergir for uma regio de mnimos globais, tudo bem. Todavia, existe uma tendncia
de convergncia rpida para uma regio de mnimos locais ao invs de mnimos globais. Para
evitar este problema, impe-se uma rotina para explorar outras reas do espao de busca. Isto se
d por meio de alteraes nos genes por meio da mutao.
Para todo indivduo recentemente criado na populao resultante, existe uma probabilidade
prxima de zero de o indivduo sofrer uma mutao, isto , ele ir mudar suas caractersticas
hereditrias de forma aleatria.
4.7.1
Operadores de mutao
4.8
Elitismo
Ao se criar uma nova populao por cruzamento e mutao, tem-se uma grande chance de
perder os melhores indivduos. Elitismo um mtodo para preservar os melhores indivduos de
uma gerao na gerao seguinte, evitando que a nova populao se torne pior do que a popula51
o atual. O elitismo pode simplesmente substituir os piores indivduos na nova populao pelos
melhores indivduos da populao atual.
52
Captulo 5
O Problema do Caixeiro Viajante
5.1
Introduo
A maior dificuldade deste problema o nmero muito grande de possveis rotas para n
cidades.
(n 1)!
2
A tabela 5.1 mostra o nmero de rotas possveis em funo do nmero de cidades. Observase que o nmero de rotas cresce exponencialmente com o nmero de cidades. Isto elimina a
possibilidade de utilizao de tcnicas exatas de busca para encontrar a melhor soluo, pois o
algoritmo de busca nunca terminaria em tempo hbil. Vrias tcnicas de soluo aproximada
foram propostas (Assad et al.(3)). Neste captulo discute-se a soluo do problema do caixeiro
viajante no caso simtrico usando algoritmos genticos.
Tabela 5.1: Dimenso do espao de busca em funo do nmero de cidades no problema do
caixeiro viajante.
nmero de cidades nmero de rotas
3
1
4
3
5
12
6
60
7
360
8
2.520
9
20.160
10
181.440
11
1.814.400
12
19.958.400
13
239.500.800
14
3.113.510.400
15
43.589.145.600
16 653.837.184.000
Para resolver o problema do caixeiro viajante usando algoritmos genticos necessrio definir uma representao para as solues (cromossomos), a funo de custo a ser minimizada, e
os operadores genticos (cruzamento e mutao) a serem utilizados na gerao de novas populaoes, conforme discutido no captulo 4.
Em Larraaga et al.(40) encontra-se uma reviso de vrias representaes e operadores genticos para o problema do caixeiro viajante.
54
5.2
Alguns problemas de otimizao, como o problema do caixeiro viajante, envolvem a classificao de uma lista para obteno da soluo tima. Para um grande nmero de problemas
tratados at mesmo com tcnicas heursticas de Inteligncia Artificial, esta lista uma permutao e a obteno da soluo tima consiste em buscar a melhor permutao de seus elementos.
No caso especfco do problema do caixeiro viajante esta lista a seqncia das cidades a
serem visitadas (caminho). A representao tambm chamada de representao do caminho1 .
Assim, sendo n o nmero de cidades, uma soluo uma sequncia de todas as n cidades a serem
visitadas. As cidades so representadas pelos nmeros naturais consecutivos 0, 1, 2, . . . , n. O
ponto de partida (e tambm de retorno) representado pelo nmero 0.
Figura 5.1: Mapa das cidades em um problema do caixeiro viajante.
5
6
2
9
3
7
1
55
6
2
9
3
7
1
Existem outras representaes que podem ser utilizadas para resolver o problema do caixeiro viajante usando algoritmos genticos. Algumas delas, como a representao binria e a
representao matricial, usam alfabetos binrios para a representao das viagens. Embora esse
alfabeto binrio constitua a forma padro de representao no algoritmo gentico, no caso do
problema do caixeiro viajante os operadores de cruzamento e mutao no constituem operaes fechadas, uma vez que os resultados obtidos usando estes operadores podem ser roteiros
invlidos. Neste caso utiliza-se operadores de reparao para contornar este problema.
A representao mais natural de uma viagem a representao do caminho (path representation) j discutida.
56
5.3
Funo de custo
A tabela 5.3 mostra as distncias em linha reta entre as cidades do exemplo anterior. Nesse
exemplo o custo da soluo
0 1 3 2 4 5 9 7 6 8
dado por
d(0, 1) + d(1, 3) + d(3, 2) + d(2, 4) + d(4, 5) + d(5, 9) + d(9, 7) + d(7, 6) + d(6, 8) + d(8, 0)
onde d(a, b) a distncia entre as cidades a e b, resultando em 39.04
A soluo tima encontrada para o exemplo mostrada na figura 5.3 e corresponde ao
caminho
0 3 1 2 4 5 6 9 8 7
com um custo de 33.17.
57
6
2
9
3
7
1
5.4
Funo de aptido
A funo de aptido serve para avaliar a aptido de um cromossomo, isto , o quo boa
a soluo por ele representada. Quanto maior a aptido, melhor a soluo. No problema do
caixeiro viajante deseja-se minimizar uma funo de custo, descrita na seo anterior. Quanto
menor o custo, melhor a soluo. Desta forma, as funes de aptido e de custo vo diferir no
modo avaliar a soluo.
Seja f (x) a funo de custo j descrita. Podemos definir a funo de aptido como sendo:
g(x) = f (x) + fmax
onde fmax o maior valor da funo de custo para a populao sendo avaliada. Como a funo
de custo deve ser minimizada e a funo de aptido deve ser maximizada, multiplicamos a
primeira por 1. Uma restrio no algoritmo gentico que a funo de aptido sempre deve
resultar em um valor no negativo. Para evitar que isto ocorra, adicionamos o termo fmax .
5.5
Operadores genticos
5.5.1
Operadores de cruzamento
5.5.1.1
pai 2
59
pai 1
pai 2
lho 1
lho 2
Ento o primeiro filho preenchido com cpia dos elementos do primeiro pai, e o segundo filho
com cpia dos elementos do segundo pai. Caso uma cidade j esteja presente no filho, ela
substituda por outra, de acordo com os mapeamentos. No exemplo, o primeiro elemento do
primeiro filho seria a cidade 1, pois esta o primeiro elemento do primeiro pai. Entretanto a
cidade 1 j est presente no primeiro filho ( o quarto elemento, proveniente do segundo pai).
Ento, usando os mapeamentos definidos, encontramos 1 4, o que leva a escolher a cidade
4 para ser o primeiro elemento do primeiro filho. O segundo, o terceiro e o stimo elementos
do primeiro filho podem ser tomados diretamente do primeiro pai, pois eles ainda no esto
presentes no primeiro filho. O oitavo elemento do primeiro filho seria 8, que j est presente.
Por causa dos mapeamentos 8 6 e 6 5, a cidade 5 colocada como o oitavo elemento.
Analogamente forma-se o segundo filho.
pai 1
1
pai 2
2
8 6
6 5
5 6
6 8
lho 1
5.5.1.2
lho 2
Este operador foi desenvolvido especialmente para o problema do caixeiro viajante e prioriza o fator adjacncia. Outra caracterstica principal do ERX a de que um cromossomo filho
deve ser construdo sempre que possvel a partir das arestas de ambos os pais. Em mdia, 95
60
por cento das arestas dos pais so transferidas para os filhos neste operador reduzindo consideravelmente o percentual de arestas selecionadas aleatoriamente.
No ERX o significativo nmero de arestas transferidas de cromossomos pais para cromossomos filhos uma consequncia do seguinte procedimento: Criar uma lista de arestas de ambos
os pais. A lista de arestas para cada cidade, todas as outras cidades a ela conectadas em pelo
menos um dos cromossomos pais. Isto significa que para cada cidade, existem no mnimo duas
e no mximo quatro cidades conectadas. Considere os dois cromossomos pais:
P1 = (1 2 3 4 5 6)
P2 = (3 4 1 6 2 5)
A lista de arestas ser:
cidade 1
cidade 2
cidade 3
cidade 4
cidade 5
cidade 6
5.5.1.3
O operador cycle crossover cria descendentes cujas posies so ocupadas por elementos
correspontdentes de cada um dos pais.
P1
P2
Escolhe-se o primeiro elemento de qualquer um dos pais para ser o primeiro elemento do primeiro filho.
Supondo que seja escolhido o nmero 1,
O1
Se for escolhido o oitavo elemento do pai2 para ser o oitavo elemento do filho1, resultar num
roteiro invlido. Portanto, o nmero 8 ser escolhido.
O1
62
Primeiro ciclo
P2
O1
At este momento, as posioes escolhidas formam um ciclo. O terceiro elemento pode ser
escolhido do pai2, implicando que o o quinto, sexto e stimo elementos dofilho1 devero ser
escolhidos do pai2, formando outro ciclo e portanto, formando o filho1.
P1
Segundo ciclo
P2
O1
5.5.1.4
e suponha que seja selecionado um primeiro ponto de corte entre o segundo e o terceiro bit e um
segunto ponto de corte entre o qunto e o sexto bit.
63
Ento, o filho criado da seguinte forma: Primeiro, os seguimentos de roteiro entre os pontos
de corte so copiados para dentro do filho, resultando:
Comeando do segundo ponto de corte de um pai, o resto das cidades so copiadas na medida
em que aparecem no outro pai, tambm comeando do segundo ponto de corte e omitindo as
cidades que j esto presentes. Quando o fim da string alcanado, continua-se da sua primeira
posio. No exemplo tem-se os seguintes descendentes:
5.5.1.5
suponha que no segundo pai a segunda, terceira e sexta posies so selecionadas. As cidades
nessas posies so cidade 4, cidade 6 e cidade 5 respectivamente. No primeiro pai essas cidades
esto presentes na quarta, quinta e sexta posies. Agora o descendente igual ao pai 1 exceto
na quarta, quinta e sexta posies.
64
Acrescenta-se nos espaos marcados pelos asteriscos do descendente acima as cidades na mesma
ordem em que aparecem na segunda rota pai como pode ser visto abaixo.
1
Trocando os papis do primeiro pai com o segundo pai dados, usando as mesmas posies
selecionadas, tem-se o segundo descendente:
2
5.5.2
Operadores de mutao
5.5.2.1
O operador de mutao por troca (exchange mutation EM) aleatoriamente seleciona duas
cidades na rota e troca suas posies.
Por exemplo, considere a rota representada pelo cromossomo
(1 2 3 4 5 6 7 8)
e suponha que a terceira e a quinta cidades so aleatoriamente escolhidas. A mutaao resulta no
cromossomo
(1 2 5 4 3 6 7 8)
como ilustrado pela figura 5.4.
Figura 5.4: Mutao por troca (EM).
5.5.2.2
O operador de mutao por inverso simples (simple inversion operator SIM) seleciona
aleatoriamente dois pontos de corte na seqncia, e reverte a subseqncia entre os dois pontos
de corte.
65
5.5.2.3
O operador de mutao por deslocamento (DM)3 tambm chamado de mutao por corte
primeiro seleciona uma subrota randomicamente. Esta subrota removida de sua rota e inserida
em um lugar randomicamente escolhido. Por exemplo, considere a rota representada por
(1 2 3 4 5 6 7 8),
e suponha que a subrota (3 4 5) seja selecionada. Consequentemente, aps a remoo da subrota
tem-se
(1 2 6 7 8)
Suponha que seja selecionada randomicamente a cidade 7 para ser a cidade aps a qual a
subrota seja inserida, conforme mostra a figura que se segue.
66
5.5.2.4
O operador de mutao por insero escolhe randomicamente uma cidade na rota, remove
ela desta rota e insere ela em um lugar escolhido randomicamente. Por exemplo, considere
novamente a rota
(1 2 3 4 5 6 7 8)
e suponha que o operador de mutao por insero seleciona a cidade 4, remove ela e randomicamente insere ela aps a cidade 7. Portanto, o descendente resultante pode ser visto na figura
seguinte.
5.5.2.5
O operador de mutao por inverso similar ao operador por deslocamento. Ele tambm
seleciona randomicamente uma subrota, remove ela da rota e a insere em uma posio selecionada randomicamente. Todavia, a subrota inserida em ordem reversa. Considere novamente o
exemplo de rota,
(1 2 3 4 5 6 7 8)
e suponha que a subrota (3 4 5) seja escolhida e que esta subrota inserida em ordem reversa
imediatamente aps a cidade 7, conforme a figura que se segue.
5.5.2.6
O operador de mutao scramble seleciona randomicamente uma subrota e mistura as cidades dentro dela. Por exemplo, considere a rota
(1 2 3 4 5 6 7 8)
e suponha que a subrota (4 5 6 7) seja escolhida. O resultado aparece na figura seguinte.
67
5.6
Hibridizao
Os algoritmos genticos so procedimentos de busca de propsito geral robustos. Eles podem rapidamente explorar um extenso espao de busca e encontrar aquelas regies que possuem
aptido acima da mdia. Entretanto, quando se trata de encontrar o timo global, os algoritmos
genticos algumas vezes, encontram dificuldades devido falta de foco na busca. Isto por sua
vez levanta a questo de at quanto o algoritmos genticos podem ser competitivos para aplicaes do mundo real quando comparados maioria dos algoritmos e heursticas especializadas.
A resposta reside nos algoritmos genticos hbridos.
Os algoritmos genticos hbridos incorporam um rpido e eficiente procedimento de busca
para o problema especfico. Eles tambm tendem a usar codificaes e operadores genticos
que so direcionados ao problema a ser resolvido. Desta forma, muitos algoritmos eficientes podem ser produzidos como demonstrado em alguns trabalhos recentes Cotta et al.; Kido, Kitano
e Nakanishi(41, 42) Algoritmos genticos hbridos so igualmente menos susceptvel anlises tericas do que algoritmos genticos padro, mas eles so muito interessantes na prtica e
seu uso est aumentando. Uma descrio mais legvel das motivaes que esto por trz dos
algoritmos genticos hbridos pode ser encontrada em Davis(43).
Portanto, experincias com algoritmos genticos para resolver problemas combinatoriais
mostraram que o esquema clssico do algoritmo, com mutao atuando como um operador
secundrio para perturbar as solues, no produz resultados competitivos. Para ser mais efetivo,
o algoritmo gentico precisa ser hibridizado com um mtodo de busca local, por exemplo, um
mtodo de descida Toth e Vigo(44).
No caso especfico do problema do caixeiro viajante a busca local relizada a cada iterao
do algoritmo gentico, imediatamente aps a formao de uma nova gerao. Toma-se a melhor
soluo e aplica-se o mtodo da descida Souza(45) tentando encontrar uma soluo melhor na
sua vizinhana. Se encontrada, a nova soluo substitui a antiga na populao.
68
Captulo 6
O Problema de Roteirizao de Veculos
6.1
Descrio do problema
69
1. o destino (cliente), e
2. a carga (como por exemplo o peso, o volume ou o nmero de pacotes).
Os dados dos pontos de entrega, dos veculos disponveis, e das entregas so armazenados
na forma de tabelas em arquivos texto, que podem ser facilmente editados em um editor de texto.
O problema otimizar a alocao das entregas para os veculos disponveis, levando em
considerao as restries de cada veculo, de tal forma que a distncia total percorrida por
todos eles seja mnima.
Para resolver o problema foram implementados os algoritmos genticos descritos por Haupt
e Haupt(46) e cannico Tomassini(47). A representao das solues e os operadores genticos
utilizados so baseados no problema do caixeiro viajante (captulo 5. No restante deste captulo
so descritas as caractersticas peculiares ao problema de roteirizao de veculos.
6.2
Cada soluo para o problema caracterizada pela lista dos veculos a serem usados nas
entregas. Para cada veculo necessrio conhecer o seu roteiro, isto , a seqncia dos pontos
de entrega a serem atendidos por ele.
Para exemplificar, consideremos o caso de 9 pontos de entrega, identificados pelos nmeros
1, 2, 3, 4, 5, 6, 7, 8 e 9. Vamos identificar o centro de distribuio pelo nmero 0. Um exemplo
de soluo a lista de roteiros que se segue.
veculo
roteiro
v1
v2
v3
652
4193
78
P2
A figura 6.1 mostra este roteiro graficamente. Neste exemplo o veculo v1 deve sair do centro de
distribuio e visitar os clientes 6, 5 e 2, e retornar ao centro de distribuio.
70
O primeiro passo para utilizao de um algoritmo gentico representar uma soluo como
um cromossomo. Para este problema o cromossomo representado por uma lista circular de
nmeros inteiros, onde cada nmero inteiro identica um ponto do roteiro (o centro de distribuio
(0) ou um ponto de entrega). Para o exemplo acima tem-se a lista circular
065203419078
O roteiro de um veculo comea em um 0 e termina no 0 seguinte, uma vez que 0 est representando o centro de distribuio e cada veculo deve partir do centro de distribuio, visitar os
pontos de entrega, e retornar ao centro de distribuio. Assim conseguimos extrair os roteiros
06520
034190
0780
da soluo acima, implicando na utilizao de trs veculos.
Esta representao pode ser tambm entendida como um roteiro a ser seguido por um nico
veculo com capacidade de carga limitada. Esta limitao faria com que este nico veculo atendesse alguns clientes (de acordo com a sua capacidade), e retornasse ao centro de distribuio
para recarregar antes de atender aos clientes restantes. No exemplo acima poderamos ento
interpretar a soluo da seguinte forma: o veculo sai da base (0) para atender os clientes 6, 5 e
2, retorna base (0) para recarregar e atender os clientes 3, 4, 1, e 9, e novamente retorna base
(0) para recarregar e atender agora os clientes 7 e 8, retornando definitivamente base.
O algoritmo gentico utilizado baseado no algoritmo utilizado para soluo do problema
do caixeiro viajante, no captulo 5, onde um cromossomo representado por uma permutao
de n nmeros naturais. Desta forma uma restrio na representao adotada a no repetio
de um nmero na lista circular, significando que cada ponto do roteiro no deve ser visitado
mais de uma vez. Porm o nmero que identifica o centro de distribuio pode ocorrer vrias
vezes. Cada ocorrncia adicional do centro de distribuio significa a utilizao de um veculo
adicional (ou de um retorno base para recarregar o veculo, na interpretao onde um nico
veculo utilizado).
Para adaptar a representao at ento proposta a esta condio de no repetio de nmeros
na lista circular, introduzimos novos pontos representando o mesmo centro de distribuio, um
para cada veculo adicional. As coordenadas destes novos pontos devem ser iguais s coordenadas do centro de distribuio, uma vez que eles o representam. Assim a soluo acima passaria
71
6.3
Funo custo
Cada possvel soluo avaliada por uma funo custo, indicando a qualidade da soluo.
Por meio do valor calculado pela funo custo para cada soluo disponvel, possvel comparar
as diversas solues disponveis e escolher a(s) melhore(s).
Dizemos que a funo custo utilizada para medir a aptido de cada cromossomo (que
representa uma soluo para o problema).
Para este problema a funo custo utilizada calcula a distncia total de todos os roteiros
includos no cromossomo.
tambm na funo custo que so consideradas as restries de capacidade dos veculos.
O custo de uma soluo a soma dos custos de todos os roteiros presentes na soluo.
O custo de um roteiro calculado pela soma das distncias dos percursos que formam o
roteiro. Ao calcular estas distncias, deve-se verificar quando a capacidade do veculo ultrapassada. Se isto acontecer, deve-se adicionar uma visita ao centro de distribuio para recarregar
o veculo. Por exemplo, considere o roteiro 0 5 6 9 4 7 0 para um veculo com
capacidade 26. Considere ainda os seguintes dados das entregas:
ponto de entrega
carga da entrega
14
11
Neste caso a carga total do roteiro 41, ultrapassando o limite do veculo, o que no permitido
em hiptese alguma. Para resolver este problema, o veculo dever dividir o seu roteiro em subroteiros, atendendo os clientes por etapas. Em cada etapa ele dever atender ao maior nmero
72
possvel de clientes do roteiro previsto, sem alterar a seqncia das visitas. Neste caso o roteiro
inicial 0 5 6 9 4 7 0 dever ser dividido em dois sub-roteiros: 0 5 6 9 0 e
0 4 7 0, com cargas de 24 e 17, respectivamente, e o custo do roteiro a soma dos custos
dos dois sub-roteiros.
O retorno ao centro de distribuio para recarregamento do veculo tem como conseqncia
o aumento da distncia total percorrida pelo veculo. Isto leva a um alto custo para a soluo. A
forma de funcionamento do algoritmo gentico se encarrega de escolher as solues com menor
custo. Portanto essa soluo com retorno ao centro de distribuio para recarregamento tem uma
grande chance de ser descartada pelo algoritmo gentico.
6.4
Operadores genticos
73
Captulo 7
Resultados Computacionais
Neste captulo apresentado o sistema desenvolvido, os problemas usados para teste para
validar o mtodo proposto, e os resultados obtidos.
7.1
Sistema desenvolvido
74
7.2
Problemas teste
cliente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
coordenadas
x
y
37
52
49
49
52
64
20
26
40
30
21
47
17
63
31
62
52
33
51
21
42
41
31
32
5
25
12
42
36
16
52
41
27
23
17
33
13
13
57
58
62
42
42
57
16
57
8
52
7
38
coordenadas
x
y
30
40
veculo
0
1
2
3
4
5
quantidade
cliente
7
30
16
9
21
15
19
23
11
5
19
29
23
21
10
15
3
41
9
28
8
8
16
10
28
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
77
capacidade
160
160
160
160
160
160
coordenadas
x
y
27
68
30
48
43
67
58
48
58
27
37
69
38
46
46
10
61
33
62
63
63
69
32
22
45
35
59
15
5
6
10
17
21
10
5
64
30
15
39
10
32
39
25
32
25
55
48
28
56
37
quantidade
7
15
14
6
19
11
12
23
26
17
6
9
15
14
7
27
13
11
16
10
5
25
17
18
10
Figura 7.2: Uma das melhores solues encontradas para o problema da tabela 7.1.
78
7.3
valor default
haupt
edge recombination
displacement
0.6
0.95
100
10000
As figuras descritas a seguir apresentam graficamente os resultados obtidos nos testes dos
parmetros do algoritmo gentico. Elas permitem as observaes que se seguem sobre a influncia dos parmetros nos resultados do programa.
A figura 7.1 mostra que o algoritmo gentico descrito por Haupt e Haupt(46) traz melhores
resultados do que a forma cannica do algoritmo gentico Tomassini(47).
A figura 7.2 mostra que os operadores de cruzamento no influenciam muito no resultado.
Observa-se que os CX e PMX foram os melhores Larraaga et al.(40).
A figura 7.3 mostra que os melhores operadores de mutao so deslocamento, inverso e
inverso simples Larraaga et al.(40).
A figura 7.4 mostra que uma taxa de cruzamento maior gera resultados melhores. Porm a
influncia no muito grande.
A figura 7.5 mostra que a freqncia de mutao um fator muito importante para o algoritmo gentico. Os melhores resultados foram obtidos para freqncias de mutaes altas,
prximas de 1.
A figura 7.6 mostra que os melhores resultados so obtidos com populaes menores.
79
668.52
660
626.12
640
620
cost
600
580
536.24
560
527.67
540
menor custo
520
custo mdio
Haupt
algorithm conception
80
Canonical
560.23
560.40
552.75
555.10
556.23
560
543.16
546.90
550
529.56
530
527.98
527.98
cost
540
520
menor custo
custo mdio
ERX
CX
OX
crossover operator
81
PMX
OBX
678.09
660
622.95
640
608.79
612.38
620
581.07
587.43
cost
600
559.22
556.30
536.13
545.47
549.99
560
572.50
580
540
menor custo
520
custo mdio
SIM
DM
EM
IM
mutation operator
82
IVM
SM
572.51
572.87
573.66
564.03
570
545.00
549.23
551.59
539.98
540.72
cost
544.55
550
549.56
549.15
553.02
557.05
560
524.61
524.61
530
524.93
527.67
533.09
533.39
540
520
menor custo
custo mdio
0.2
0.4
0.6
0.8
crossover rate
83
84
cost
1000
2000
3000
4000
0
551.78
4601.73
573.07
1611.67
542.10
1110.24
0.2
524.61
2097.18
524.61
1100.60
541.50
2592.09
524.81
1588.09
0.4
552.49
1597.45
mutation frequency
545.73
1083.21
527.67
561.91
524.61
533.84
0.6
524.61
535.33
524.61
534.02
524.61
532.98
524.61
531.59
0.8
524.61
533.23
524.61
535.60
524.61
532.32
524.61
535.19
524.61
1
530.79
custo mdio
menor custo
85
cost
520
540
560
580
0
524.61
529.62
524.61
530.92
524.61
529.04
524.61
528.66
524.61
533.60
531.02
541.90
531.02
539.97
524.61
533.37
530.29
544.27
100
531.02
543.97
534.91
541.36
524.61
548.23
533.00
population size
546.48
530.29
549.00
524.93
554.48
531.02
555.30
527.67
557.43
524.61
558.04
535.28
558.39
200
558.75
577.88
541.22
555.98
533.00
558.87
546.67
576.39
546.75
573.73
538.49
565.71
545.29
575.74
552.44
566.81
547.14
592.65
546.09
565.89
300
540.86
576.88
custo mdio
menor custo
7.4
A tabela 7.3 compara os resultados obtidos usando o algoritmo gentico com as melhores
solues conhecidas para vrias instncias do problema de roteirizao de veculosTaillard(49).
Tabela 7.3: Comparao dos resultados obtidos com as melhores solues conhecidas para vrias instncias do problema de roteirizao de veculos. O programa foi executado dez vezes
para cada instncia.
melhor
soluo proposta
soluo
instncia
conhecida
custo
custo custo mdio
desvio
desvio
mnimo
mnimo
mnimo
mdio
e-n022-k04
375
375.279787
383.315422
0.07 %
2.22 %
e-n023-k03
569
568.562501
568.799221
-0.08 %
-0.04 %
e-n030-k03
534
538.794686
544.672898
0.90 %
2.00 %
e-n030-k04
505.011079
505.011079
e-n033-k04
835
837.671552
860.084387
0.32 %
3.00 %
e-n051-k05
521
524.611147
544.461672
0.69 %
4.50 %
e-n076-k07
682
693.339272
704.960994
1.66 %
3.37 %
e-n076-k08
735
805.931519
883.797374
9.65 %
20.24 %
A tabela revela que o mtodo proposto produz resultados excelentes para as instncias do
problema de roteirizao de veculos testadas, com um desvio muito pequeno da melhor soluo
conhecida.
86
Captulo 8
Concluses e Trabalhos Futuros
A empresa participante da pesquisa possui uma carteira de clientes que esto agrupados
por regio. Cada um destes grupos atendido diariamente por um veculo. So os prprios
motoristas dos veculos que so responsveis por montar o seqenciamento das entregas de cada
grupo, levando em conta o conhecimento prvio da localizao dos clientes e a experincia
adquirida no atendimento dirio do grupo de clientes.
Diferentemente do roteamento clssico, onde as demandas so conhecidas previamente, o
encerramento de aceites de pedidos dos clientes pela empresa acontece depois do incio do
processo de montagem das cargas. O lead time do pedido inferior a doze horas. Por isto no
h tempo hbil para uma programao de rotas mais eficiente.
Assim proposta a utilizao de programas de computador para gerar automaticameante as
rotas de distribuio das mercadorias aos clientes, levando em considerao as restries em que
a distribuio acontece, como capacidade mxima de cada veculo e valor mximo transportado.
Com isto deseja-se gerar uma economia de recursos, principalmente de tempo.
O problema tratado aqui de natureza combinatorial com dimenso e complexidade elevadas, caractersticas que inviabilizam o uso de mtodos exatos. A escolha da abordagem utilizando algoritmos genticos justifica-se por algumas de suas caractersticas, bem como pelas
caractersticas do problema: so robustos no tratamento dos dados e informaes especficas relacionadas com o problema; um mtodo interativo e possuem alguma inteligncia no processo
de busca por solues que no param no primeiro timo local encontrado. Com ela foi possvel
a obteno de resultados de boa qualidade no prottipo implementado.
O mtodo proposto tambm pode ser melhorado. Sugere-se, por exemplo, a aplicao de
diferentes operadores de busca sempre que o processo evolutivo no conduzir a solues de
87
melhora. Uma idia seria lincar os operadores de busca na forma de Pesquisa em Vizinhana
Varivel (VARIABLE NEIGHBORHOOD SEARCH). Depois de um certo nmero de iteraes
sem melhora, seriam mudados os operadores de busca. O mtodo pararia quando no houvesse
melhora com nenhum operador.
A importncia tanto terica quanto prtica dos algoritmos genticos vem despertando o interesse de vrios pesquidadores no sentido de buscar algoritmos mais eficientes para resolver
problemas de natureza combinatorial com dimenses elevadas como o problema de roteirizao
de veculos. Este problema encontra grande aplicabilidade no mundo real. Um bom planejamento logstico tem o potencial de diminuir os custos e aumentar a competitividade da empresa.
No desenvolvimento do prottipo foi utilizada a linguagem de programao OCaml Leroy(48) em um ambiente Linux. Ocaml uma linguagem moderna que permite o desenvolvimento multiparadigma, com destaque para o paradigma funcional. Ocaml utiliza-se de um
sistema de tipos robusto, com polimorfismo e inferncia de tipos. As suas caractersticas permitem um desenvolvimento mais rpido, sujeito a menos erros, quando comparados a outras
linguagens comumente utilizadas no mercado, como C, C++ e Java. Em outras palavras, Ocaml
uma linguagem mais segura. O cdigo gerado pelo compilador de Ocaml eficiente, comparvel ao cdigo gerado por bons compiladores de C e C++.
O prottipo implementado demonstra que possvel automatizar a construo de roteiros
com custo otimizado, para atender a distribuio de medicamentos aos clientes, levando em
considerao diversas restries, como capacidade de volume e limitao do valor das mercadorias transportadas.
8.1
Trabalhos futuros
roteirizao incremental (dinmico). interessante que este aspecto do problema seja tambm
considerado.
89
Apndice A
Listagem de programas
A.1
90
i f i < p | | i >= q t h e n
c . ( i ) < map a . ( i )
else
c . ( i ) < b . ( i )
done ;
crom_check c ;
c
in
( offspring a b , offspring b a)
A.2
A funo displacement_mutation recebe um cromossomo (vetor de inteiros) como argumento e calcula como resultado um novo cromossomo aplicando o operador de mutao DM,
conforme descrito na seo 5.5.2.3.
let displacement_mutation (v : int array ) =
l e t n = Array . l e n g t h v in
l e t w = A r r a y . copy v i n
l e t ( p , q ) = s o r t ( Random . i n t n , Random . i n t n ) i n
l e t m = q p + 1 in
l e t k = Random . i n t ( n m + 1 ) i n
Array . b l i t w ( q + 1) w p ( n ( q + 1 ) ) ;
A r r a y . b l i t w k w ( k + m) ( n m k ) ;
A r r a y . b l i t v p w k m;
c r o m _ c h e c k w;
w
91
Referncias Bibliogrficas
1 ASSAD, A. A. Modeling and implementation issues in vehicle routing. In: GOLDEN, B. L.;
ASSAD, A. A. (Ed.). Vehicle Roting: Methods and Studies. North Holland - Amsterdam: [s.n.],
1988. p. 746. 3
2 PORTER, M. E. Estratgia Competitiva. [S.l.]: Campus, 1986. Rio de Janeiro. 7
3 ASSAD, A. et al. Routing and scheduling of vehicles and crews: the state of the art.
Computers and Operations Research, v. 10, n. 2, p. 63211, 1983. 8, 16, 17, 24, 25, 29, 30, 32,
54
4 CLARKE, G.; WRIGHT, J. Scheduling of vehicles from a central depot to a number of
delivery points. Operations Research, v. 12, p. 568581, 1964. 8
5 WREN, A.; HOLLIDAY, A. Computer scheduling of vehicles from one or more depots to a
number of delivery points. Operations Research Quarterly, v. 23, p. 333344, 1972. 8
6 GILLET, B. E.; MILLER, L. A heuristic algorithm for the vehicle dispatch problem.
Operations Research, v. 22, p. 240249, 1974. 8
7 FISHER, M. L.; JAIKUMAR, R. A generalized assignment heuristic for vehicle routing.
Networks, v. 11, p. 109124, 1981. 8
8 CORDEAU, J.-F. et al. A guide to vehicle routing heuristics. Journal of the Operational
Research Society, v. 53, p. 512522, 2002. 8, 30, 33
9 TEIXEIRA, T. R. B. A. Arquitetura Logstica Baseada em Modelos: Uma contribuio
gesto estratgica da logstica terceirizada. Tese (Doutorado) FGV, 2003. 9, 22
10 GOLDBERG, D. E. Genetic Algoritms in Search, Optimization, and Machine Learning.
[S.l.]: Addison-Wesley, 1989. 9
92
93
24 TAN, K. C.; LEE, L. H.; ZHU, K. Q. Heuristic methods for vehicle routing problem with
time windows. Artificial intelligence in Engineering, v. 15, p. 281295, 2001. 33
25 GOMES JNIOR, A. d. C.; SOUZA, M. J. F.; MARTINS, A. X. Simulated annealing
aplicado resoluo do problema de roteamento de veculos com janela de tempo. Transportes,
v. 14, n. 1, p. 112, 2006. Rio de Janeiro. 34
26 MORTATI, C. F. Busca Tabu aplicada ao problema de roteamento peridico de veculos.
Dissertao (Mestrado) UNICAMP, Junho 2005. So Paulo. 34
27 LAPORTE, G. et al. Classical and modern heuristics for the vehicle routing problem.
International Transactions in Operational Research, v. 7, n. 4/5, p. 285300, 2000. 34
28 BABA, C. M. et al. Otimizao da colnia de formigas aplicada ao problema da programao e roteirizao de veculos para o transporte de pessoas portadoras de deficinciaa. Novembro 2004. Http://www.producaoonline.ufsc.br/v04n04/artigos/PDF/Enegep0601_2073.pdf.
XXIV Encontro Nac. de Eng. de Produo - Florianpolis, SC, Brasil. 35
29 ROSS, R. K. The Data Warehouse Toolkit. 2002. Mondrian Open Source Project Available:
http://mondrian.sourceforge.net. John Wiley & sons, Inc. 37
30 YEPES, I. Sistemas Inteligentes: Uma Incurso aos Algoritmos Genticos. 2005. Projeto
ISIS UFRS. 37, 41
31 STEVENSON, W. J. Estatstica Aplicada Administrao. [S.l.: s.n.], 2001. 37, 38
32 HUGHES, A. M. Database Marketing Estratgico. [S.l.: s.n.], 1998. So Paulo. 38, 39
33 KROSE, J. A. B.; SMARGT, P. P. V. der. An Introduction to Neural Networks. 1993.
University of Amsterdam. Amsterdam, Germany. 40
34 FREEMAN, J. A.; SKAPURA, D. M. Neural networks: algorithms, applications, and
programming techniques. [S.l.: s.n.], 1991. Redwood City, California. 40
35 FOGEL, L. J. Autonomous automata. Industrial Research, v. 4, p. 1419, 1962. 41
36 BREMERMANN, H. J.; M., R.; S., S. Search by evolution. In: MAXFIELD, M.;
CALLAHAN, A.; FOGEL, L. J. (Ed.). Biophysics and Cybernetic Systems. Washington:
Spartan Books, 1965. p. 157167. 41
37 KOZA, J. R. Genetic Programming: On the Programming of Computers by Means of
Natural Selection (Complex Adaptive Systems). [S.l.]: The MIT Press, 1992. Hardcover. ISBN
0262111705. 41
94
95
96
Publicao da Autora
97