Você está na página 1de 113

UNIVERSIDADE FEDERAL DE UBERLNDIA

FACULDADE DE ENGENHARIA ELTRICA


PS-GRADUAO EM ENGENHARIA ELTRICA

Uso dos Algoritmos Genticos para a


Otimizao de Rotas de Distribuio

Neli Gomes Lisboa Malaquias

Uberlndia
Dezembro
2006

UNIVERSIDADE FEDERAL DE UBERLNDIA


FACULDADE DE ENGENHARIA ELTRICA
PS-GRADUAO EM ENGENHARIA ELTRICA

Uso dos Algoritmos Genticos para a


Otimizao de Rotas de Distribuio

Neli Gomes Lisboa Malaquias

Dissertao apresentada Universidade Federal


de Uberlndia, perante a banca de examinadores abaixo, como parte dos requisitos necessrios obteno do ttulo de Mestre em Cincias.
Aprovada em 24 de novembro de 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

Dados Internacionais de Catalogao na Publicao (CIP)

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

Elaborado pelo Sistema de Bibliotecas da UFU / Setor de Catalogao e Classificao

Uso dos Algoritmos Genticos para a


Otimizao de Rotas de Distribuio

Neli Gomes Lisboa Malaquias

Dissertao apresentada Universidade Federal de Uberlndia, como parte dos requisitos para
obteno do ttulo de Mestre em Cincias.

Prof. Dr. Keiji Yamanaka


Orientador

Prof. Dr. Darizon Alves de Andrade


Coordenador do curso de Ps-Graduao

A Deus que criou condies para a realizao deste trabalho.


Ao meu amado esposo Jos Romildo por seu apoio incondicional.
Aos meus queridos filhos, Ana Carolina, Felipe e Luza, pela compreenso e carinho.

Sumrio

Resumo

xv

Abstract

xvi

Introduo

1.1

Caracterizao geral do problema . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4

Um breve histrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

1.5

Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

1.5.1

Tcnicas adotadas na pesquisa terico-aplicada descritiva . . . . . . . .

13

Estrutura do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

1.6
2

O Problema e sua Contextualizao

16

2.1

Evoluo histrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

2.2

Farma Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.3

Ciclo do pedido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

2.4

Soluo atualmente utilizada . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.5

Caracterizao dos sistemas de roteirizao existentes no mercado . . . . . . .

23

Tcnicas de Otimizao

28

3.1

Otimizao combinatria . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.2

Mtodos utilizados para resoluo de problemas de roteirizao e programao


de veculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

vi

3.2.1

Mtodos heursticos . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

3.2.2

Algoritmos aproximados . . . . . . . . . . . . . . . . . . . . . . . . .

31

3.2.3

Relaxao lagrangeana . . . . . . . . . . . . . . . . . . . . . . . . . .

32

3.2.4

Heurstica clssica de Clarke e Wright

. . . . . . . . . . . . . . . . .

32

3.2.5

Meta-heursticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

3.2.6

Simulated annealing . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

3.2.7

Busca tabu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

3.2.8

Colnia de formigas no problema do dial-a-ride. . . . . . . . . . . . .

35

3.3

Inteligncia Artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

3.4

Data Warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

3.5

Anlise estatstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

3.6

Redes neurais artificiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

3.7

Algoritmos evolucionrios . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

Algoritmos Genticos

43

4.1

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

4.2

Representao das solues viveis . . . . . . . . . . . . . . . . . . . . . . . .

45

4.2.1

Representao binria . . . . . . . . . . . . . . . . . . . . . . . . . .

45

4.2.2

Representao em ponto flutuante . . . . . . . . . . . . . . . . . . . .

47

4.2.3

Representao por inteiros . . . . . . . . . . . . . . . . . . . . . . . .

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

O Problema do Caixeiro Viajante

53

vii

5.1

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

5.2

Representao de uma soluo . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Cruzamento de mapeamento parcial (PMX) . . . . . . . . .

59

5.5.1.2

Operador de Cruzamento Edge Recombination (ERX) . . . .

60

5.5.1.3

Cycle crossover (CX) . . . . . . . . . . . . . . . . . . . . .

62

5.5.1.4

Order Crossover (OX) . . . . . . . . . . . . . . . . . . . . .

63

5.5.1.5

Order Based Crossover (OX2) . . . . . . . . . . . . . . . . .

64

Operadores de mutao . . . . . . . . . . . . . . . . . . . . . . . . . .

65

5.5.2.1

Mutao por troca (EM) . . . . . . . . . . . . . . . . . . . .

65

5.5.2.2

Mutao por inverso simples (SIM) . . . . . . . . . . . . .

65

5.5.2.3

Displacement Mutation (DM) . . . . . . . . . . . . . . . . .

66

5.5.2.4

Insertion Mutation (ISM) . . . . . . . . . . . . . . . . . . .

67

5.5.2.5

Inversion Mutation (IVM) . . . . . . . . . . . . . . . . . . .

67

5.5.2.6

Scramble Mutation (SM) . . . . . . . . . . . . . . . . . . .

67

Hibridizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

5.5.2

5.6
6

O Problema de Roteirizao de Veculos

69

6.1

Descrio do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

6.2

Representao de uma soluo . . . . . . . . . . . . . . . . . . . . . . . . . .

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

Parmetros do algoritmo gentico . . . . . . . . . . . . . . . . . . . . . . . .

79

7.4

Comparao com resultados encontrados na literatura . . . . . . . . . . . . . .

86

viii

Concluses e Trabalhos Futuros

87

8.1

88

Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A Listagem de programas

90

A.1 Partial Mapped Crossover (PMX) . . . . . . . . . . . . . . . . . . . . . . . .

90

A.2 Displacement Mutation (DM) . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

ix

Lista de Figuras
2.1

Fluxo da cadeia de suprimentos para distribuio de medicamentos. . . . . . .

19

4.1

Fluxo de controle do algoritmo evolutivo. . . . . . . . . . . . . . . . . . . . .

44

5.1

Mapa das cidades em um problema do caixeiro viajante. . . . . . . . . . . . .

55

5.2

Exemplo de uma rota. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

5.3

Soluo tima encontrada para o exemplo. . . . . . . . . . . . . . . . . . . . .

58

5.4

Mutao por troca (EM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

5.5

Mutao por inverso simples (SIM). . . . . . . . . . . . . . . . . . . . . . . .

66

6.1

Exemplo de roteiros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

7.1

Tela de execuo do prottipo implementado. . . . . . . . . . . . . . . . . . .

75

7.2

Uma das melhores solues encontradas para o problema da tabela 7.1. . . . .

78

Lista de Tabelas
2.1

Principais caractersticas de alguns roteirizadores. . . . . . . . . . . . . . . . .

17

2.2

Classificao dos problemas de roteirizao pura. . . . . . . . . . . . . . . . .

25

4.1

Correspondncia entre seqncias binrias e valores no intervalo [0, 512[. . . .

47

5.1

Dimenso do espao de busca em funo do nmero de cidades no problema do


caixeiro viajante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

5.2

Coordenadas das cidades de um problema do caixeiro viajante. . . . . . . . . .

56

5.3

Distncias entre as cidades de um problema do caixeiro viajante. . . . . . . . .

57

7.1

Dados do problema teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

7.2

Valores defaul para os parmetros do algoritmo gentico. . . . . . . . . . . . .

79

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. . . . . . . . . . . . . . . . . . . . . . . .

86

xi

Lista de Grficos
4.1
7.1
7.2
7.3
7.4
7.5
7.6

Grfico de f (x) = x sin ( |x|) no intervalo [512, 512].


Comparao dos algoritmos genticos utilizados. . . . . . .
Comparao dos operadores de cruzamento. . . . . . . . . .
Comparao dos operadores de mutao. . . . . . . . . . . .
Comparao de diferentes taxas de cruzamento. . . . . . . .
Comparao de diferentes freqncias de mutao. . . . . .
Comparao de diferentes tamanhos de populao. . . . . .

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

pelo seu pronto atendimento quando solicitados.


Marli pela compreenso e competncia em tratar dos assuntos do meu interesse em momentos que estive incapaz de pensar ou lembrar dos compromissos e prazos.

Neli Gomes Lisboa Malaquias

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

Caracterizao geral do problema

De acordo com Assad(1), os problemas de roteirizao e programao de veculos (RPV)


podem ser classificados com base no conhecimento de quando as informaes sobre as demandas de entrega so conhecidas.
No problema de roteamento clssico, todas as demandas so conhecidas antecipadamente.
J no roteamento dinmico, surgem novas solicitaes ao longo da jornada, que resultam em
atendimentos, sendo as mesmas inseridas em tempo real nos roteiros em andamento.
Com base nas consideraes acima, o desenvolvimento do problema de roteirizao de veculos sendo abordado nesta pesquisa est diante de um desafio adicional que diz respeito
questo de quando as demandas so conhecidas, porque o momento em que as demandas so
conhecidas considerado tardio para o incio do planejamento da distribuio, isto , para o
incio da roteirizao.
O desafio adicional consiste ento em como considerar este aspecto, que caracterstico do
ramo de negcio, na otimizao do planejamento da distribuio.
O lead time do pedido considerado pequeno para a execuo do planejamento da distribuio se comparado com a resoluo de um problema de roteamento clssico, onde todas as
demandas so conhecidas a priori, o que, neste caso, existe o tempo hbil para o planejamento
da distribuio.
O processo de produo de pedidos (composio, montagem) 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.
Neste sentido, a no existncia do tempo hbil se torna um fator complicador para a realizao da roteirizao.
Diante deste cenrio, a previso de pedidos tem o seu principal objetivo em contribuir na
viabilidade da utilizao de um sistema de roteirizao e programao de veculos, dado que os
pedidos so encaminhados s suas rotas conforme vo sendo concludos, alm do fato de que o
horrio de fechamento de pedidos ocorre s 21 horas, horrio considerado tardio para o incio
do planejamento da distribuio.
Este problema do fechamento de pedidos no ser abordado neste trabalho, que se concentrar no projeto de um ncleo de roteirizao bsico.
Tcnicas de previso estatstica podem ser utilizadas para tentar antecipar os clientes que
3

faro pedidos no dia.


A soluo deste problema ser indicada para trabalhos futuros
Neste contexto, entende-se que para desenvolver um sistema de roteirizao e programao
de veculos, objetivando tambm, tratar as causas-razes do problema do atraso nas entregas dos
pedidos, faz-se necessria a aplicao de um conjunto de ferramentas, princpios e processos,
que integrados ao uso de mtodos de armazenamento, estruturao e tecnologias de gerao e
recuperao das informaes sobre o contexto logstico, evidenciam ao mximo os resultados
tanto no ambiente interno como no ambiente externo empresa.
Mediante levantamento de informaes realizado pela autora, para a identificao dos fatores crticos de sucesso no contexto da distribuio de medicamentos e tambm das causas de
outros problemas internos e externos da empresa , as variveis do ambiente externo tambm
afetam os eixos estratgicos. Como exemplo pode-se citar o surgimento de picos nas vendas,
decorrentes de fatores ambientais como: acidentes, epidemias, catstrofes naturais, ou outros
eventos que podem causar atrasos na entrega de novos pedidos, uma vez que, os imprevistos geram atrasos e falhas devido ao incremento no volume de trabalho e a desorganizao das rotinas
de composio de lotes para entrega.
Dada a complexidade deste problema, a pesquisa est envolvida com o desenvolvimento de
uma soluo utilizando a meta-heurstica algoritmos genticos, que pode melhor tratar o grande
nmero de particularidades existente no problema. As meta-heursticas possuem caractersticas diferentes dos mtodos heursticos tradicionais, elas englobam estratgias e tcnicas mais
avanadas e recentes.
Para uma verificao da realidade existente no contexto da empresa em estudo, ao realizar o
estudo de campo, a autora presenciou a operacionalizao do (NR-Routing), sendo utilizado por
uma empresa do grupo.
Apesar de a utilizao deste sistema trazer benefcios para a empresa que o utiliza, tendo
um lead time maior como aliado no planejamento de suas entregas, j no ramo da distribuio
de medicamentos no se pode dizer o mesmo. No que os algoritmos incorporados ao sistema
sejam frgeis, que so na maioria das vezes, testados e validados, com vrias histrias de sucesso
nos seus pases de origem, mas principalmente porque carecem de robustez, isto , devido serem
as caractersticas e condicionantes da distribuio de medicamentos diferentes daquelas para as
quais foram desenvolvidas anteriormente.
Neste contexto, o ncleo de roteirizao de veculos a ser desenvolvido nesta pesquisa pode
ser definido como um problema integrado de estoque e roteirizao, no qual a programao das
entregas deve levar em considerao no s aspectos espaciais e os custos dos roteiros, como
4

tambm questes como o nvel de estoque; problemas de faturamento e roteirizao, sendo


preciso definir simultaneamente quem vai ser atendido a cada dia.
O problema a ser solucionado nesta pesquisa deriva do clssico problema do caixeiro viajante e pode ser caracterizado como um problema de mltiplos caixeiros viajantes, cuja localizao dos clientes est caracterizada em ns, com restries de capacidade de carregamento dado
em cubagem do veculo e limite no transporte de valor da carga, com uma (1) base (centro de
distribuio) e demanda que devem ser conhecidas a priori.
A distribuio de medicamentos segue a regra da categoria de negcio de farmcias, que
restringe a estocagem da maioria dos tens entregues nos pontos de vendas.
Os clientes esperam receber seus produtos pela manh o quanto antes, devido ao fato de as
farmcias comprarem as faltas, isto , o que o consumidor vai comprar na farmcia e ela no
tem, exatamente o que o cliente farmacutico vai esperar que o distribuidor entregue no dia
seguinte o mais cedo possvel.
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.
Com base nas informaes levantadas no estudo de campo, a autora considera, neste trabalho, um conjunto de elementos para a caracterizao geral do problema de roteirizao de
veculos, que pode ser utilizado para a especificao dos atributos e requisitos do sistema a ser
desenvolvido:
natureza e caracterstica dos atendimentos somente entregas; mltiplos produtos; atendimento
total ou parcial da demanda; conhecimento da demanda a priori (determinstica); existncia de incerteza na demanda; necessidade de programao de entregas num prazo inferior
12 horas; prioridade de atendimento;
frota de veculos homognea; restries de capacidade (volumes); verificao da compatibilidade entre o tipo de veculo e o tipo de produto a ser transportado feita antes da contratao da frota; frota fixa; frota localizada em uma nica base;
requisitos de pessoal durao da jornada normal de trabalho (7 horas); horrio e local de incio
e trmino da jornada de trabalho do pessoal (das 5:00 ao 12:00);
requisitos de programao atendimento de clientes at um determinado horrio; tempos de
carga e descarga; horrios de abertura/fechamento dos compartimentos dos veculos;

requisitos de informaes disponibilidade de dados geogrficos; os prprios motoristas localizam os clientes; localizao dos veculos;

1.2

Motivao

O contexto em que este estudo apresentado de grandes transformaes organizacionais


como conseqncia da globalizao, das parcerias, da concentrao do varejo e do crescimento
do comrcio eletrnico.
Nesse contexto, com a introduo da filosofia de Gesto da Cadeia de Suprimentos (GCS),
os clientes tm se tornado cada vez mais exigentes quanto qualidade e ao cumprimento de prazos combinados de entrega. Isto gera uma competitividade crescente e uma busca por servios
mais customizados, o que, para os operadores logsticos, tem se tornado um fator importante
para alcanar a preferncia dos clientes como seu primeiro distribuidor e conseqentemente, a
obteno de vantagem competitiva e conquista de fatias maiores do mercado.
A logstica de distribuio de medicamentos complexa e dispendiosa. Esta realidade faz
com que as distribuidoras que trabalham com grandes distncias, pequenos volumes e cargas de
relativo risco busquem qualificar sua operao, reduzir o ndice de erros e gerir seus custos para
se manterem competitivas e lucrativas.
A importncia dos problemas de distribuio vinculados aos sistemas de roteirizao e programao de veculos, est diretamente relacionada magnitude dos custos associados a esta
atividade.
Segundo Ortega, presidente da Associao dos Proprietrios Oficiais e Profissionais de Farmcia do estado de So Paulo (APROFAR), em entrevista ao jornal eletrnico Pharma Online
(2005), o ndice de pequenas farmcias que fecharam as portas nesses ltimos anos grande.
Segundo ele, s em So Paulo, mais de 20 mil farmcias das 50 mil existentes no estado esto
em situao pr-falimentar. Em nvel nacional critica-se a padronizao na aplicao de leis
s farmcias, as quais no consideram o fato de que uma drogaria que vende R$ 700 mil em
So Paulo tem realidade muito diferente de outra que vende R$ 15 mil num rinco do Nordeste,
onde no h nem posto de sade e o farmacutico tem a responsabilidade de prestar importantes
servios de orientao comunidade.
Neste contexto de altos custos e competitividade para as organizaes que operam a distribuio de medicamentos aos estabelecimentos varejistas, torna-se importante identificar e analisar as variveis de deciso de compra das farmcias, quando da escolha de seus fornecedores e
distribuidores prefernciais e prioritrios, que so:
6

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

de vista terico e conceitual, o vasto nmero de artigos publicados na literatura especializada.

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

o cuidadosa de mtodos, tcnicas e outros procedimentos cientficos. Na realidade, a pesquisa


desenvolve-se ao longo de um processo que envolve inmeras fases, desde a adequada formulao do problema at a satisfatria apresentao dos resultados Gil(12).
A principal razo que determina a realizao desta pesquisa pode ser classificada como de
ordem prtica, pois decorre do desejo de conhecer com vistas a fazer algo de maneira mais
eficiente ou eficaz para ser posteriormente utilizado por empresas que prestam servios de distribuio de produtos farmacuticos.

1.5.1

Tcnicas adotadas na pesquisa terico-aplicada descritiva

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

Na seo 1.1 apresentada a caracterizao geral do problema abordado na pesquisa seguida


da descrio da motivao do trabalho e objetivos.
No captulo 2 apresentada uma evoluo histrica dos sistemas de roteirizao e programao de veculos, seguidos das descries do histrico da unidade de negcio, do ciclo de pedido,
da soluo atualmente utilizada pela empresa deste estudo e caracterizao geral dos programas
de roteirizao de veculos existentes no mercado.
No captulo 3 feita uma descrio sumria das principais tcnicas, mtodos, heursticas e
meta-heursticas que so utilizadas para a resoluo de problemas de roteirizao e programao
de veculos, e tambem a exemplificao de algumas aplicaes desses mtodos nos sistemas de

14

roteirizao de veculos que esto sendo utilizados no mercado.


No captulo 4 apresentada a metodologia e o funcionamento dos Algoritmos Genticos.
Discute-se representao de solues, populao inicial, funo de aptido e operadores genticos.
No captulo 5 a metodologia de algoritmos genticos aplicada ao problema do caixeiro
viajante.
No captulo 6 aborda-se o problema da roteirizao de veculos, e prope-se sua soluo
utilizando algoritmos genticos.
O captulo 7 apresenta os resultados computacionais obtidos com o sistema implementado,
comparando-os com resultados conhecidos na literatura.
No captulo 8 so apresentadas concluses obtidas com o trabalho. So tambm apresentadas propostas de trabalhos futuros relacionados com o tema da pesquisa.

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

Tabela 2.1: Principais caractersticas de alguns roteirizadores.


Software

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

Fonte: Golden e Bodin(15)

os impactos econmicos e operacionais decorrentes de alteraes manuais. No entanto, cabia ao


usurio propor as melhores alternativas, assim como selecionar a mais adequada.
Na segunda gerao, desenvolvida em meados dos anos 80, tais sistemas consideravam um
nmero maior de restries reais, sendo que alguns j apresentavam recursos grficos em suas
resolues. A tabela 2.1 apresenta um resumo das principais caractersticas de alguns deles.
Para maiores detalhes, consultar o trabalho Assad et al.(3).
Nos anos 90 o estrondoso avano tecnolgico em termos computacionais, associado s intensas pesquisas desenvolvidas na rea de pesquisa operacional, foram fundamentais tanto ao
desenvolvimento de melhores solues aos problemas de roteirizao e programao de veculos quanto maior e melhor integrao destes sistemas aos demais sistemas de negcios da
17

empresa (compras, vendas, produo etc.).


Nesse mesmo perodo muitos desses sistemas passaram a contar com o apoio da tecnologia
de Sistemas de Informao Geogrfica (SIG), permitindo, alm de uma perfeita visualizao e
edio de rotas e paradas em mapas j utilizados pelos motoristas, identificar e geocodificar todos os pontos de atendimento a partir dos prprios endereos dos clientes, bem como armazenar
quaisquer tipos de informaes referentes aos mesmos. A integrao dos SIG aos modelos de
roteirizao e programao permitiu a concepo dos chamados Sistemas de Apoio Deciso
Espacial (SADE).
Atualmente, a grande maioria dos roteirizadores disponveis j apresenta tecnologia baseada nos SADE, ou seja, so dotados de vrios recursos computacionais, matemticos e grficos
que proporcionam plataformas cada vez mais amigveis, em termos de interface com o usurio; flexveis, na adequao operacional da empresa; e robustas, na medida que seus algoritmos
resolvem problemas com nmeros de pontos de atendimento (clientes) cada vez maiores, considerando restries cada vez mais complexas (horrios de circulao e atendimento, capacidades
de veculos etc.).
Alm disso, o maior uso da Internet e a intensificao do comrcio eletrnico (e-commerce),
provocado por avanos na rea de comunicao intra e inter-empresarial, tem aquecido o mercado, provocando uma grande revoluo tecnolgica no sentido de melhoria de relacionamento
com o cliente final e, conseqente obteno de vantagem competitiva sobre a concorrncia.
Recentemente pode ser observada uma tendncia de muitos destes roteirizadores se apresentarem disponveis como parte de um conjunto de sistemas integrados de gesto empresarial
(ERPs e os Supply Chain Software) que possibilitaria, a partir da prpria internet, disponibilizar
a clientes finais informaes sobre carregamentos, localizao de veculos, previso de horrios
de chegada, servios de solicitao automtica de pedidos etc.

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

cadeia de suprimentos para a distribuidora de medicamentos.

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

status 1 pedidos em pr-notas,


status 2 pr-notas impressas,
status 3 pr-notas separadas e conferidas,
status 4 nota fiscal faturada,
status 5 emisso do romaneio (relao de notas fiscais para cada rota) e
status 6 posse do aceite ou boleto (comprovante de recebimento assinado pelo cliente).
Enquanto o pedido no for liberado para atendimento, o sistema mantm o registro do status
do pedido como Pedidos em operao , e ao mesmo tempo, as decises sobre viabilidade de
atendimento so tomadas durante o processo de anlise de crdito e em seguida comunicadas
aos clientes.
Na medida em que a situao de crdito do cliente for favorvel e o status do pedido acusar
liberao, eles so ento enviados ao sistema para estarem aguardando o incio da impresso de
O.Ss. (Ordem de Separao). O processo de produo ou montagem dos pedidos no depsito
(CAD) tem incio com a impresso das O.Ss.
O processo de impresso das O.Ss. obedece ordem de prioridade de produo, que
estabelecida de acordo com a distncia entre o centro de distribuio e as farmcias. A prioridade
de impresso e consequentemente a produo destinada para as rotas mais distantes.
De posse das O.Ss impressas, elas so colocadas em caixas de cubagem padro, gerando-se
um volume para cada caixa. Se a utilizao da caixa exceder a sua cubagem, gera-se outra O.S
e por conseguinte, outro volume.
Os produtos so organizados em locais de separao (endereos nas prateleiras) de acordo
com uma codificao para os diversos tipos comercializados:
1. medicamentos,
2. higiene e beleza,
3. tintura,
4. produtos volumosos e
5. produtos visados, que possuem alto valor agregado, tipo: viagra, xenical, levitra, vivanza,
etc.
21

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

Soluo atualmente utilizada

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

Caracterizao dos sistemas de roteirizao existentes no


mercado

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

Assad et al.(3), apresentaram o primeiro trabalho abrangente que retratava o estado-da-arte


da modelagem de problemas de roteirizao e programao de veculos e tripulaes, e ainda
hoje considerada uma das mais importantes referncias sobre o assunto.
Os sistemas de roteirizao e programao de veculos esto envolvidos com um conjunto
de grandes e diferentes tipos de problemas. Quando a definio dos roteiros envolve no s
aspectos espaciais ou geogrficos, mas tambm temporais, tais como restries de horrios de
atendimento nos pontos a serem visitados, os problemas so ento denominados roteirizao e
programao de veculos. Os problemas de roteirizao podem ser do tipo roteirizao pura ou
combinados de roteirizao e programao.
Em se tratando de roteirizao pura, condicionantes temporais como horrios de atendimento ou precedncias entre tarefas , no so considerados para a definio dos roteiros e das
seqncias de atendimento (entregas). As estratgias de soluo esto voltadas aos aspectos
espaciais da localizao dos pontos a serem visitados.
Os principais problemas de roteirizao pura esto relacionados na tabela 2.2.
Conforme Hall e Partyka(16), so encontrados na literatura problemas de roteirizao de
natureza mais ttica ou estratgica do que operacional, tais como: problemas integrados de localizao e roteirizao; problemas integrados de estoque e roteirizao, nos quais a programao
dos atendimentos deve levar em considerao no s aspectos espaciais e os custos dos roteiros, como tambm questes como o nvel de estoque; problemas de faturamento e roteirizao,
nos quais preciso definir simultaneamente quem vai ser atendido a cada dia de um perodo de
tempo pr-determinado; entre outros.
Os principais problemas tpicos apontados pelos autores so os seguintes:
o problema de roteirizao e programao de nibus escolares para atendimento de um
conjunto de escolas;
o problema de roteirizao e programao de cavalos mecnicos tracionando carretas com
carga completa: cada carreta tracionada individualmente de um ponto de origem para
um ponto de destino.
o problema de definio de roteiros e programao de servios de coleta de resduos domiciliares e de varrio de ruas, semelhante ao problema do carteiro chins, porm com
restries de capacidade dos veculos, de durao mxima da jornada e de janelas de
tempo associadas aos horrios de proibio de estacionamento, de forma a possibilitar a
execuo do servio de varrio.

24

Tabela 2.2: Classificao dos problemas de roteirizao pura.


Denominao

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

Limite de capacidade nos


veculos
no

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

Fonte: Assad et al.(3)

25

Nmero
bases

de

Demandas

o problema de roteirizao e programao de servios de transporte de pessoas conhecidos


como dial-a-ride, em geral para o transporte porta-a-porta de idosos e deficientes; cada
usurio possui local de origem e de destino distintos e eventualmente janelas de tempo; a
precedncia entre tarefas uma restrio fundamental a ser considerada.
problemas relativos ao transporte de carga (coleta e distribuio).
Todos os tipos de problemas citados acima so de natureza essencialmente operacional, ou
seja, fazem parte das tarefas rotineiras de programao de frota, realizadas regularmente com
periodicidade de curto prazo, em geral diria ou semanal.
Uma boa parte dos problemas de roteirizao e programao de veculos ocorre em circunstncias em que existe restries nos horrios de atendimento e de precedncia entre tarefas
(coleta deve preceder a entrega e ambas devem estar alocadas ao mesmo veculo).
Conforme Cunha(17), um aspecto importante a ser destacado que, embora a maioria dos
modelos se proponha a otimizar a roteirizao, na prtica nem sempre os algoritmos conseguem
levar em considerao todas as parcelas dos custos de operao, que compreendem no s os
custos variveis com a distncia percorrida, como tambm os custos fixos dos veculos e os
custos horrios da tripulao (incluindo a deciso de utilizar ou no horas extras da tripulao
para reduzir a necessidade de frota e a quilometragem percorrida).
Segundo este mesmo autor, algumas consideraes devem ser tratadas quanto utilizao
dos sistemas comerciais no contexto da distribuio no Brasil:
a definio dos roteiros em que mais vantajoso o uso de frota prpria ou melhor utilizar
servios de terceiros, de modo a otimizar o custo total (da utilizao da frota prpria e do
total de frete pago a terceiros) outro aspecto em que as especificidades da realidade brasileira na contratao de terceiros, particularmente nas operaes de coleta e distribuio
urbanas, no conseguem ser representadas nos softwares de roteirizao disponveis no
mercado
o problema ocorre porque nenhum software de roteirizao disponvel no mercado permite considerar esse tipo particular de estrutura de custo, desvinculada da distncia efetivamente percorrida, levando a solues onde os custos com a distncia e com a frota
prpria sejam minimizados, o que no necessariamente corresponde soluo de menor
custo quando h terceiros realizando parte dos atendimentos.
Conforme Cordeau at al.(2002), a maioria dos softwares comerciais e alguns softwares desenvolvidos pela prpria empresa, so fundamentados em metodologias pouco sofisticadas, algumas vezes datados da dcada de 1960. Isto ocorre principalmente por dois motivos:
26

o componente de otimizao do software considerado uma pequena parte do produto,


sendo que a maior parte do esforo direcionado ao desenvolvimento de sofisticadas
interfaces com o usurio
os analistas de negcios e desenvolvedores de software esto desatualizados quanto ao
desenvolvimento de algoritmos mais eficientes de roteirizao de veculos.
Os autores acreditam que o principal obstculo transferncia de tecnologia est mais profundamente enraizado. A maioria das heursticas disponveis nos softwares de roteirizao e
programao de veculos carece de alguns atributos necessrios para garantir sua adoo pelas
empresas.
Deve-se destacar ainda dificuldades na etapa de escolha de um sistema de roteirizao e
programao de veculos. O fato de a maioria desses sistemas serem verdadeiras caixas pretas
em termos dos seus algoritmos de soluo, e o pouco conhecimento tcnico especializado por
parte dos representantes locais, acabam levando escolhas que posteriormente se mostram equivocadas, uma vez que os sistemas nem sempre conseguem atender s necessidades para os quais
foram adquiridos Hall e Partyka(16).

27

Captulo 3
Tcnicas de Otimizao
3.1

Otimizao combinatria

Otimizao Combinatria um ramo da cincia da computao que estuda problemas de


otimizao em conjuntos. Em um problema de otimizao tem-se uma funo objetivo e um
conjunto de restries, ambos relacionados s variveis de deciso. O problema pode ser de
minimizao ou de maximizao da funo objetivo. A resposta para o problema, ou seja, o
timo Global, ser o menor (ou maior) valor possvel para a funo objetivo para o qual o valor
atribudo s variveis no viole nenhuma restrio. Em alguns casos, chega-se a valores cuja
alterao discreta no conduz a resultados melhores, mas que no so tambm o timo Global essas solues so chamadas de timos Locais.
Pode-se imaginar um problema de otimizao como uma caixa preta com n botes, onde
cada boto um parmetro do problema, e uma sada que o valor da funo objetivo, indicando se um determinado conjunto de parmetros bom ou no para resolver este problema
Miranda(18).
Modelos baseados em grafos so imensamente utilizados em muitos problemas de otimizao combinatria. Grafo uma forma de representar um conjunto de elementos e suas relaes.
Esse recurso muito utilizado para modelar os problemas por ser uma forma bastante intuitiva
para represent-los. Alm disso, na literatura podem ser encontrados algoritmos para resolver
diversos problemas em grafos.
Existem muitas classificaes possveis para o problema de otimizao, e algumas delas
apresentam mtodos exatos e eficientes de resoluo. Outras levam necessidade de utilizao de mtodos no-exatos (heursticas), uma vez que sua resoluo exata requeriria um tempo

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

Mtodos utilizados para resoluo de problemas de roteirizao e programao de veculos

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

Os problemas de roteirizao e programao de veculos, vistos sob a tica de otimizao,


incluindo o caso particular do caixeiro viajante, possuem ordem de complexidade exponencial,
ou seja, a demanda de esforo computacional para a sua resoluo cresce exponencialmente, na
medida que a dimenso do problema aumenta.
Os mtodos de soluo de todos os softwares e aplicativos comerciais para os problemas
de roteirizao de veculos encontrados no mercado so heursticos, isto , no asseguram a obteno da soluo tima do ponto de vista matemtico. As estratgias de soluo heursticas,
geralmente, se apoiam em uma abordagem intuitiva, na qual a estrutura particular do problema
precisa ser considerada e explorada de forma inteligente para a obteno de uma soluo adequada. Na maioria dos casos, as heursticas propostas so bastante especficas e particulares, e
carecem de robustez, isto , no conseguem obter boas solues para problemas com caractersticas, condicionantes ou restries s vezes um pouco diferentes daquelas para as quais foram
desenvolvidas anteriormente Cunha(17).
De acordo com Assad et al.(3), a abordagem heurstica para o problema do caixeiro viajante
pode ser classificada em trs classes gerais como:
30

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

Probabilsticos, Algoritmos On-Line e Relaxao Lagrangeana.

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

Heurstica clssica de Clarke e Wright

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

Meta-heursticas so paradigmas de desenvolvimento de algoritmos heursticos. Diversas


propostas de meta-heurticas surgiram nos ltimos anos impulsionadas pelos problemas pertencentes classe NP-difcil.
Dentre as meta-heursticas mais conhecidas pode-se destacar: Algoritmos Genticos, Scatter Search e Algoritmos Memticos, que so uma famlia de modelos computacionais, inspirados na evoluo natural dos seres vivos;
Diversas meta-heursticas foram aplicadas ao problema de roteirizao de veculos clssico
com janela de tempo. Entre elas apontamos o trabalho de Tan, Lee e Zhu(24), que usou Simulated Annealing, Busca Tabu e Algoritmos Genticos. As tcnicas implementadas tem um
procedimento de gerao da soluo inicial e um procedimento de dupla troca para refinar solues. O procedimento de gerao da soluo inicial procura gerar solues iniciais factveis
baseadas na insero, em cada iterao, de um cliente a uma rota, respeitando-se as restries
de capacidade do veculo e da janela de tempo de cada cliente.

33

3.2.6 Simulated annealing


Gomes Jnior, Souza e Martins(25) apresentaram uma metodologia baseada na metaheurstica Simulated Annealing1 , baseada originalmente em conceitos de Mecnica Estatstica considerando a analogia entre o processo fsico de recozimento de metais e a resoluo de problemas
de otimizao combinatorial, para resolver eficientemente o problema de roteirizao de veculos com janela de tempo.
Esta metodologia faz uso de mecanismos auto-adaptativos para determinar a temperatura
inicial e o nmero mximo de iteraes em uma dada temperatura. Por um determinado nmero
de vezes, sempre que a temperatura atinge um valor limiar, feito um reaquecimento para tentar
escapar de timos locais a baixas temperaturas. Alm disso, sempre que o mtodo encontra uma
melhor soluo, aplicado um mecanismo de busca local para refinar a soluo.

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

Colnia de formigas no problema do dial-a-ride.

So algoritmos baseados no comportamento das formigas para encontrar comida;


Baba et al.(28), apresentaram um trabalho com proposta de uma heurstica de soluo para
o problema da programao e roteirizao de veculos para o transporte de pessoas portadoras
de deficincia. Neste tipo de problema, conhecido na literatura como o problema do dial-a-ride,
os usurios fazem solicitaes de transporte de um ponto especfico de embarque para um ponto
especfico de desembarque.
O objetivo do problema determinar uma programao de rotas que atenda s solicitaes
de transportes sujeita s restries de nmero de veculos disponveis, janelas de tempo nos
pontos de coleta e entrega, capacidade do veculo, precedncia da coleta sobre a entrega e tempo
mximo de tolerncia do passageiro dentro do veculo.
O problema estudado nesse artigo aplica-se ao caso em que a frota de veculos finita,
heterognea e os veculos partem de diferentes garagens dispostas geograficamente na regio de
onde surgem as solicitaes.
A heurstica proposta no trabalho dos autores baseada na meta-heurstica colnia de formigas e procura maximizar o nmero de solicitaes atendidas ao menor custo possvel. Os
resultados computacionais, obtidos a partir da aplicao da heurstica em dados reais de um
operador da cidade de Sorocaba-SP, sugerem um desempenho promissor para a utilizao de
colnia de formigas no problema do dial-a-ride.

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

Para identificar e tratar as causas internas e externas empresa, recomenda-se a utilizao de


ferramentas complementares da tecnologia da informao, que, a partir de um Data Warehouse
bem alimentado, produz e distribui informaes teis. Este banco de dados funciona paralelo

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

A inferncia estatstica diz respeito anlise e interpretao de dados amostrais, efetuando


determinada mensurao sobre uma parcela pequena, mas tpica, de determinada populao
Stevenson(31).
Muitas organizaes mantm milhares de itens em estoque. Utilizando a tcnicas estatsticas
por amostragem, pode-se estimar o valor do inventrio, sem proceder contagem dos itens um
a um. Isto acontece porque a amostragem reduz a quantidade de dados a coligir e a analisar e
gera informaes teis, que devem ser usadas rapidamente para preservar seu valor.
Stevenson(31) afirma que os modelos estatsticos podem ajudar a reduzir o grau de complexidade de problemas, simplificando situaes da vida real, por meio da ilustrao de aspectos
de um determinado contexto, sem que para isso tenha que usar detalhes pouco relevantes do
problema.
Os modelos podem ser intuitivos, para transmitir conceitos e idias, sem dar muita ateno
ao que irrelevante; ou podem ser grficos, para criar imagens mentais; ou ainda, podem ser
tabelas e equaes que auxiliam na resoluo de problemas. Os modelos levam quantificao
e formalizao do que se sabe acerca de um problema.
Se informaes necessrias forem deixadas de lado e o problema no for corretamente identificado, quantificando todas as variveis relevantes, o modelo ser usado incorretamente e pode
levar a srios erros de julgamento no processo de tomada de decises. Informaes sobre um
determinado mercado devem ser apuradas de forma cientfica, por meio de um exame minucioso
e com definio clara dos objetivos Hughes(32).
Para este fim, Hughes(32) recomenda o uso de instrumentos de modelagem, que so processos de anlise de banco de dados por meio de dados matemticos e estatsticos, que vo
determinar algumas frmulas matemticas para explicar o comportamento de compra e de consumo dos clientes.
Geralmente, usa-se uma amostra estatstica (10% ou menos de todo o banco de dados) para
prever as respostas de todo o grupo. As vrias formas da modelagem podem contemplar o
uso de dados demogrficos, psicogrficos, freqncia e valor de compra, histrico de retorno a
promoes, recncia da ltima compra Hughes(32).
Esta previso pode ser utilizada para diminuir o nmero de promoes, reduzir custos, ampliar a porcentagem de respostas precisas, reduzir erros e ciclos de tempo e impulsionar lucros.
Estes instrumentos permitem ento que se defina, segmente e direcione as estratgias das organizaes aos clientes e parceiros com alto potencial de resposta.
38

As ferramentas de anlise estatstica de informaes complexas e volumosas visam facilitar


o entendimento, a descrio, a discusso e, sobretudo a correta interpretao de dados brutos,
os quais vo traduzir um padro de comportamento, cuja importncia em conhecer, est diretamente relacionada com o sucesso no atendimento ao cliente.
A criao de modelos estatsticos baseados em correlaes possvel a partir da utilizao dos registros de vendas, conhecimento da freqncia de compra dos clientes, resultados de
pesquisas de marketing, dados demogrficos e demais informaes sobre comportamentos de
consumo que podem ser adquiridos de bases de dados externas.
A funo do modelo encontrar a correlao existente entre estes dados, quantificar e dar
o devido tratamento a influncia dos diversos fatores, classific-los e aplicar esta anlise para a
previso de futuros retornos e vendas.
Hughes(32) afirma que, uma vez iniciado o modelo, ele deve ser usado com freqncia
para determinar as qualificaes dos clientes e parceiros. Esse tipo de processo - aplicao dos
dados, processamento das informaes, anlise e tomada de deciso - dispendioso, mas pode
levar perda de clientes se ineficaz e lento, pois impossvel para a equipe de trabalho analisar
isoladamente todos os casos com agilidade e preciso.
O xito na elaborao do modelo mais adequado ao negcio auxilia tambm na determinao do valor de tempo de vida dos clientes e estabelece um dilogo que vai beneficiar ambas as
partes.

3.6

Redes neurais artificiais

As redes neurais artificiais (RNA) foram originalmente desenvolvidas pelo Neuroanatomista


Warren McCulloch e pelo matemtico Walter Pitts, em 1943. No primeiro trabalho - A lgical
Calculus of the Ideas Immament In Nervous Activity -foi definida a base para o funcionamento
das redes lgicas de nodos e novas idias sobre as mquinas de estado finito. Esse trabalho teve
como principal objetivo apresentar a capacidade desse modelo artificial na resoluo de problemas computacionais. Mais tarde, a idia de aprendizado foi desenvolvida por Donald Hebb, em
1949, que demonstrou que isso seria possvel por meio da variao dos pesos sinpticos, como
nas redes neurais biolgicas.
Com base na analogia da natureza, as redes neurais artificiais, tm o comportamento semelhante ao dos neurnios do crebro, e so adequadas para a resoluo de problemas cujos
dados so de natureza fuzzy, isto , opinies pessoais de categoria mal definida, ou sujeitas a erros. Portanto, indicada para lidar com informaes oscilantes, como por exemplo, as do cenrio
39

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

O captulo 4 apresenta de forma detalhada o funcionamento dos algoritmos genticos. A


soluo proposta para o problema considerado neste trabalho baseia-se em algoritmo gentico.
A aplicao dos algoritmos genticos para o planejamento da distribuio constri um modelo otimizado ao considerar as restries do problema de roteirizao de veculos , pois os
algoritmos genticos so robustos no tratamento das restries que determinam este tipo de problema.
Assim, de posse das informaes sobre:
1. volume de pedidos,
2. quantidade de itens por pedido,
3. nmero de rotas,
4. quantidade de clientes,
5. variedade de percursos,
6. tempo de carga e descarga, e
7. das ocorrncias de devolues totais ou parciais de pedidos,
a aplicao dos algoritmos genticos na anlise e tratamento dos problemas que afetam a entrega
de medicamentos poder ser eficaz para a identificao de rotas otimizadas.

42

Captulo 4
Algoritmos Genticos
4.1

Introduo

Os primeiros trabalhos relacionados com algoritmos genticos surgiram em meados de 1950


quando vrios pesquisadores comearam a utilizar computadores para simular sistemas biolgicos. Entretanto o seu desenvolvimento se iniciou de fato somente a partir de 1970 com uma srie
de trabalhos publicados por um grupo de pesquisadores da Universidade de Michigan coordenados pelo Prof. John Holland. A partir da surgiram tcnicas de soluo de problemas baseados
em programao evolutiva, dentro da qual se enquadram os algoritmos genticos. Apenas recentemente a aplicao dos algoritmos genticos em problemas de otimizao combinatria se
tornou um tpico de pesquisa.
Os algoritmos genticos permitem uma simplificao na formulao e soluo de problemas
de otimizao, pois incorporam uma soluo potencial para um problema especfico numa estrutura semelhante de um cromossomo e aplicam operadores de seleo e cruzamento a essas
estruturas de forma a preservar informaes crticas relativas soluo do problema.
Os algoritmos genticos mais simples normalmente trabalham com descries de entrada
formadas por cadeias de bits de tamanho fixo. Outros tipos de algoritmos genticos podem
trabalhar com cadeias de bits de tamanho varivel, como por exemplo os algoritmos genticos
usados para programao gentica. Algoritmos genticos possuem um paralelismo implcito decorrente da avaliao independente de cada uma dessas cadeias de bits, ou seja, pode-se avaliar a
viabilidade de um conjunto de parmetros para a soluo do problema de otimizao em questo
Normalmente os algoritmos genticos so vistos como otimizadores de funes, embora a
quantidade de problemas para o qual os algoritmos genticos se aplica seja bastante abrangente.

43

Programao evolutiva um algorimto gentico probabilstico iterativo que mantm a cada


iterao t, uma populao de indivduos (cromossomos) P (t):
P (t) = (pt1 , pt2 , . . . , ptn )
Em termos matemticos cada indivdulo pt representa uma soluo do problema associado. A
cada iterao t existe um mecanismo que permite a renovao da populao obtendo P (t) a
partir de P (t 1).
Tambm a cada iterao t cada indivduo pt avaliado segundo uma funo que mede o nvel
da sua aptido por critrios pr-definidos. Desta forma aqueles indivduos considerados mais
aptos sobrevivem, ou seja, passam para a populao da iterao seguinte, e aqueles considerados
menos aptos, sero descartados.
Estes procedimentos nos conduzem ento a um processo de renovao iterativa das populaes de modo a tentar melhorar as qualidades genticas de cada indivduo.
Superficialmente um programa gentico pode ser descrito pelo algoritmo mostrado na figura 4.1. Inicialmente escolhida uma populao inicial e a qualidade desta populao determinada. Em seguida, em cada iterao, pais so escolhidos da populao para produzir filhos,
que so adicionados populao. Cada indivduo da populao resultante pode ento sofrer
alguma mutao, que uma alterao aleatria no cromossomo.
Figura 4.1: Fluxo de controle do algoritmo evolutivo.
incio
inicializao da populao
clculo da aptido
soluo encontrada?
nao
seleo
reproduo
mutao

44

sim

m

4.2

Representao das solues viveis

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

Grfico 4.1: Grfico de f (x) = x sin ( |x|) no intervalo [512, 512].


f (x)
-500

-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

valor correspondente a uma seqncia binria de tamanho n, equivalente ao nmero inteiro


decimal d, dado por
xmax xmin
xmin + d
2n
Geralmente para se obter uma preciso aceitvel requer-se muitos bits e o problema torna o
espao de amostra muito grande.
A representao binria suficientemente geral para ser aplicada em qualquer problema,
mas nem sempre a representao mais natural ou mais adequada para um problema. Pode ser
o caso de problemas baseados em parmetros numricos, ou na ordem. A natureza especfica
do problema pode sugerir uma representao mais apropriada, com operadores de cruzamento e
mutao prprios.

4.2.2

Representao em ponto flutuante

Na representao em ponto flutuante um indivdulo codificado como uma seqncia de


nmeros em ponto flutuante.
No exemplo de minimizao de funo discutido na seo 4.2.1, pode-se representar cada
indivdulo pelo prprio valor real do domnio da funo. No caso de funes de varaveis mltiplas, pode-se representar o indivdulo por uma seqncia de nmeros em ponto flutuante, sendo
que cada elemento da seqncia corresponde a uma varivel.

47

4.2.3

Representao por inteiros

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

Em virtude de os parmetros do problema serem conflitantes, ou seja, na medida que um


aumenta o outro diminui, a funo de aptido construda para encontrar o ponto timo.
Esta funo tem o papel de avaliar o nvel de aptido de cada cromossomo gerado pelo
algoritmo gentico. Em problemas de otimizao, ela pode simplesmente representar a funo
objetivo do problema.

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

desde procedimentos aleatrios at algoritmos heursticos para este fim.


Uma vez gerada, a populao avaliada pela funo de aptido, a fim de medir a sua qualidade.

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

A primeira etapa na formao de uma nova populao a gerao de novos indivdulos


a partir de indivduos existentes na populao atual. Esta operao chamada de cruzamento
(crossover). Ela realizada pela escolha de pares de indivduos, os pais, que produziro dois
outros indivduos, os filhos, que apresentaro caractersticas herdadas dos pais. Os filhos produzidos formaro a nova populao.
Por meio do cruzamento espera-se aumentar a qualidade mdia da populao. Desta forma
o operador de cruzamento deve ser escolhido de tal forma que o algoritmo gentico resulte em
uma soluo prxima da soluo tima em um nmero razovel de iteraes.
A probabilidade de o indivduo ser selecionado para o cruzamento proporcional sua
aptido.

49

4.6.1

Seleo

O mtodo de seleo utilizado denominado de amostragem estocstica, mais popularmente


conhecido como mtodo da roleta russa, que pode ser entendido da seguinte forma: considere
um crculo dividido em n regies (tamanho da populao) onde a rea de cada regio proporcional aptido do indivduo. Coloca-se sobre este crculo uma roleta com n cursores igualmente
espaados. Depois de girar a roleta, a posio dos cursores indica quais os indivduos selecionados. Evidentemente, os indivduos cujas regies possuem maior rea tero maior probabilidade
de serem selecionados vrias vezes. Em consequncia disso, a seleo de indivduos pode conter
vrias cpias de um mesmo indivduo enquanto outros podem desaparecer.

4.6.2

Operadores de cruzamento

Os operadores do tipo crossover so baseados em mecanismos determinsticos, adicionando


uma deciso probabilstica somente quando for gerada uma soluo invivel.
A idia do operador crossover clssico, a de efetuar cruzamentos entre dois ou mais
cromossomos pais para obter cromossomos filhos (offsprings), que so adicionados populao.
A lista dos indivduos selecionados embaralhada aleatoriamente, criando-se desta forma,
uma segunda lista, chamada lista de parceiros. Cada indivduo selecionado ento cruzado com
o indivduo que ocupa a mesma posio na lista de parceiros.
Estes cruzamentos na sua verso clssica, consistem em efetuar inicialmente cortes nos
cromossomos pais. Por exemplo:
P1 = (101|010) = (P1 1 |P1 2 )
P2 = (111|000) = (P2 1 |P2 2 )
Um novo cromossomo (offspring) gerado permutando-se a metade inicial de um cromossomo com a metade final do outro.
O1 = (P1 1 |P2 2 ) = (101|000)
P2 = (P2 1 |P1 2 ) = (111|010)
Infelizmente, o simples uso de operadores clssicos conduzem frequentemente solues
50

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

Os operadores de mutao introduzem uma alterao aleatria no indivduo. No caso da


representao binria suficiente alterar aleatoriamente alguns bits da seqncia de bits.
Assim, se tivermos um cromossomo
p = (x1 x2 x3 ...x7 ) = (1010101)
A deciso de alterar o gene x2 = 0 para x2 = 1 ser definida a partir de uma funo probabilidade associada ao operador. Se esta funo aplicada ao gene x2 fornecer valor maior ou igual
taxa de aceitao ento a atualizao de x2 efetivada, obtendo o novo cromossomo
p = (1110101)

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

O primeiro problema de roteirizao a ser estudado foi o problema do caixeiro viajante


(em ingls traveling salesman problem ou TSP). O objetivo deste problema encontrar o menor
caminho (rota) para um caixeiro viajante que, partindo de uma cidade origem, deve visitar todas
as cidades de uma dada lista precisamente uma vez, e ento retornar cidade origem.
As tcnicas para soluo do problema do caixeiro viajante podem ser aplicadas em vrias
reas, como por exemplo:
a Logstica, como na operao de frotas de veculos, e
a Eletrnica, como no problema onde se deseja encontrar o roteiro de distncia mnima
para um equipamento cuja tarefa soldar todos os componentes de uma placa eletrnica;
o menor percurso total do equipamento para percorrer todos os pontos da placa est diretamente associado ao desempenho da linha Souza(39).
Para resolver o problema necessrio conhecer as distncias entre todas as cidades. Quando
a distncia entre duas cidades quaisquer independe do sentido da viagem, dizemos que o problema simtrico.
Na prtica, as distncias entre as cidades devem ser calculadas considerando o trajeto entre
elas atravs de vias de acesso reais. Um sistema de informaes geogrficas pode ser utilizado
para fornecer estas distncias. Para efeito de simplificao sero consideradas distncias lineares
calculadas em um sistema de coordenadas cartesianas, onde cada cidade i representada or suas
q
coordenadas (xi , yi ). A distncia entre duas cidades i e j dada por (xi xj )2 + (yi yj )2 .
53

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

Representao de uma soluo

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

A figura 5.1 mostra um exemplo de um problema do caixeiro viajante, onde mostrado


o mapa das cidades a serem visitadas, e a cidade origem, cujas coordenadas so mostradas na
tabela 5.2. Para simplificar, ser considerada a distncia em linha reta entre as cidades. Quando
mapeadas em um plano cartesiano, esta distncia a distncia euclidiana entre os pontos. A
seqncia
0 1 3 2 4 5 9 7 6 8
representa a soluo em que o caixeiro parte da origem 0, visita as cidades 1, 3, 2, 4, 5, 9, 7, 6 e
8 nesta ordem, e retorna origem 0, como ilustra a figura 5.2.
1

Em ingls, Path representation.

55

Tabela 5.2: Coordenadas das cidades de um problema do caixeiro viajante.


cidade abcissa ordenada
0
5
4
1
2
0.3
2
1
5
3
3
4
4
2
8.8
5
5
9.2
6
6
6
7
8.5
1
8
8
4
9
9
5
Figura 5.2: Exemplo de uma rota.
5

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 funo de custo para um determinado roteiro (soluo do problema do caixeiro viajante)


dada pela distncia total percorrida pelo caixeiro viagente ao visitar as cidades do roteiro,
retornando cidade de origem.
O objetivo do problema encontrar uma soluo que minimize esta funo de custo.
Tabela 5.3:
0
0 0.00
1 4.76
2 4.12
3 2.00
4 5.66
5 5.20
6 2.24
7 4.61
8 3.00
9 4.12

Distncias entre as cidades de um problema do caixeiro viajante.


1
2
3
4
5
6
7
8
9
4.76 4.12 2.00 5.66 5.20 2.24 4.61 3.00 4.12
0.00 4.81 3.83 8.50 9.39 6.96 6.54 7.05 8.43
4.81 0.00 2.24 3.93 5.80 5.10 8.50 7.07 8.00
3.83 2.24 0.00 4.90 5.57 3.61 6.26 5.00 6.08
8.50 3.93 4.90 0.00 3.03 4.88 10.15 7.68 7.96
9.39 5.80 5.57 3.03 0.00 3.35 8.92 6.00 5.80
6.96 5.10 3.61 4.88 3.35 0.00 5.59 2.83 3.16
6.54 8.50 6.26 10.15 8.92 5.59 0.00 3.04 4.03
7.05 7.07 5.00 7.68 6.00 2.83 3.04 0.00 1.41
8.43 8.00 6.08 7.96 5.80 3.16 4.03 1.41 0.00

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

Figura 5.3: Soluo tima encontrada para o exemplo.


5

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

Os operadores genticos aplicados ao cromossomo no problema do caixeiro viajante devem


preservar a condio de que toda cidade deve ser visitada exatamente uma vez pelo caixeiro
viajante. Isto significa que os novos cromossomos geradas pela aplicao dos operadores devem
ser permutaes de nmeros naturais.
58

Vrios algoritmos foram propostos para os operadores. Neste trabalho so apresentados


apenas alguns poucos algoritmos de cruzamento e de mutao. Maiores detalhes podem ser
encontrados em Larraaga et al.(40).

5.5.1

Operadores de cruzamento

5.5.1.1

Cruzamento de mapeamento parcial (PMX)

O operador de cruzamento de mapeamento parcial (partially-mapped crossover PMX)2


informaes de ordem e de posio das rotas dos pais para as rotas dos filhos. Uma parte da
seqncia de um dos pais mapeada a uma parte da seqncia do outro pai, e preservada no
fiho. A informao restante trocada entre os pais.
Considere, por exemplo, os pais dados pelas rotas
(1 2 3 4 5 6 7 8)
e
(3 7 5 1 6 8 2 4)
O operador PMX primeiramente seleciona aleatoriamente dois pontos de corte nas seqncias
que representam as rotas dos pais. Suponha que o primeiro ponto de corte selecionado entre o
terceiro e o quarto elementos, e o segundo entre o sexto e o stimo elementos de cada seqncia
pai. As subseqncias entre os pontos de corte so chamadas de sees de mapeamento. No
exemplo eles definem os mapeamentos 4 1, 5 6 e 6 8.
pai 1

pai 2

Em seguida a seo de mapeamento do primeiro pai copiada no segundo filho, e a seo de


mapeamento do segundo pai copiada para o primeiro filho, resultando
2

A seo A.1 mostra uma implementao do operador PMX.

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

Operador de Cruzamento Edge Recombination (ERX)

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

(1, 2), (6, 1), (4, 1)


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

Neste caso supe-se que (ij) = (ji).


Neste operador, pode-se a partir de dois cromossomos pais gerar um ou dois filhos. A
verso para gerar um filho a seguinte: Selecionar a cidade inicial de um dos pais (cidade 1
ou cidade 3 no exemplo acima). Pode-se pensar em relacionar a cidade inicial com o menor
nmero de arestas (no exemplo acima deu empate, escolhe-se ento a cidade 1). A cidade 1 est
diretamente ligada s cidades 2, 4 e 6. A prxima cidade no cromossomo filho ser dentre essas
cidades, aquele que possui o menor nmero de arestas (no nosso exemplo escolhe-se a cidade
4). A rota parcial ser:
O1 = (1 4 X X X X)
Observa-se as cidades conectadas diretamente com a cidade 4 e dentre elas seleciona-se aquela
que possui o menor nmero de arestas e que ainda no esteja na rota parcial O1 . Caso no
existam candidatos, a seleo da prxima aresta feita aleatoriamente dentre as no pertencentes
rota parcial. No exemplo, os vizinhos de 4 so: 3, 5 e 1, mas 1 j est na rota, ento escolho
entre 3 e 5; como 3 possui menos arestas, ento seleciona-se 3, obtendo:
O1 = (1 4 3 X X X)
61

E assim secessivamente escolhe-se a cidade 2:


O1 = (1 4 3 2 X X)
a cidade 6:
O1 = (1 4 3 2 6 X)
e finalmente a cidade 5:
O1 = (1 4 3 2 6 5)
Observa-se que o cromossomo filho O1 foi neste exemplo, constrdo inteiramente de arestas
de um dos pais sem a necessidade de gerar arestas aleatoriamente. Isto em parte se deve ao
critrio de escolha da prxima cidade. Escolhendo a cidade com o menor nmero de arestas, a
tendncia obter um rota com arestas herdadas de um dos pais.
A idia iniciar com cidades com pucas arestas, j que no incio dificilmente necessita-se
gerar arestas aleatoriamente e deixa-se para o final cidades com um nmero maior de arestas
(vizinhos), j que no final o risco de ter que gerar um aresta aleatoriamente cresce, devido ao
maior nmero de cidades j includas na rota parcial.

5.5.1.3

Cycle crossover (CX)

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

Analogamente, escolhe-se o segundo e o quarto elementos do pai1, resultando em:


P1

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

Em mdia, a posio absoluta da metade dos elementos dos pais preservada.

5.5.1.4

Order Crossover (OX)

O operador order crossover explora a propriedade de representao do caminho, em que


a ordem das cidades (no suas posies) importante. Ele constri um filho escolhendo um
subroteiro de um dos pais e preservando a ordem relativa das cidades do outro pai.
Por exemplo, considere os dois roteiros abaixo
1

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

Order Based Crossover (OX2)

O operador order based crossover seleciona randomicamente vrias posies de um pai e


a ordem das cidades nas posies selecionadas desse pai imposta ao outro pai. Por exemplo,
considere os seguintes pais:
1

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

Mutao por troca (EM)

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

Mutao por inverso simples (SIM)

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

Por exemplo, considere a rota representada pelo cromossomo


(1 2 3 4 5 6 7 8)
e suponha que o primeiro ponto de corte escolhido entre as cidades 1 e 2, e o segundo ponto
de corte entre as cidades 5 e 6. A mutaao resulta no cromossomo
(1 5 4 3 2 6 7 8)
como ilustrado pela figura 5.5.
Figura 5.5: Mutao por inverso simples (SIM).

5.5.2.3

Displacement Mutation (DM)

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.

A seo A.2 mostra uma implementao do operador DM em ocaml.

66

5.5.2.4

Insertion Mutation (ISM)

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

Inversion Mutation (IVM)

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

Scramble Mutation (SM)

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

Queremos resolver o problema de roteirizao na distribuio de produtos farmacuticos de


um distribuidor para os seus diversos clientes.
Existem um centro de distribuio e vrios pontos de entrega (clientes). No prottipo implementado para resolver o problema eles so representados pelas suas coordenadas cartesianas em
um mapa. Estas coordenadas permitem o clculo da distncia linear entre dois pontos quaisquer.
As distncias entre os pontos sero utilizadas para o clculo da distncia total percorrida pelos
veculos.
No sistema final desejvel substituir as distncias lineares entre os pontos pelas distncias
percorridas pelos veculos, melhorando a preciso das solues obtidas. Para tanto, o centro
de distribuio e os pontos de entrega devem ser representados por suas coordenadas geogrficas (latitude e longitude), e um sistema auxiliar de mapeamento geogrfico dever fornecer as
distncias entre os pontos considerando as vias pblicas utilizadas no percurso.
Existem vrios veculos disponveis para realizar as entregas. Cada veculo deve atender
a um conjunto de restries. Neste prottipo considerada apenas a restrio de capacidades
de carga dos veculos, como por exemplo o peso mximo ou volume mximo, ou a quantidade
mxima de pacotes. O valor mximo transportado no veculo uma restrio cuja implemntao
similar limitao de capacidade dos veculos, e portanto pode ser facilmente integrada ao
sistema.
Assim, para cada entrega deve-se conhecer:

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

Representao de uma soluo

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

Figura 6.1: Exemplo de roteiros.


P1

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

a ser representada, por exemplo, como


0 6 5 2 10 3 4 1 9 11 7 8
onde os locais 0, 10 e 11 identificam o mesmo centro de distribuio (tm as mesmas coordenadas).
De forma geral, para o caso de um nico centro de distribuio, n pontos de entrega, e
k veculos, uma soluo representada por uma permutao dos (n + k) primeiros nmeros
naturais. Os nmeros do conjunto {1, 2, . . . , n} representam os pontos de entrega, e os nmeros
do conjunto {0, n + 1, n + 2, . . . , n + k 1} representam o centro de distribuio.

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

Os operadores genticos utilizados para cruzamento e mutao so aqueles propostos na


literatura para a soluo do problema do caixeiro viajante, e discutidos na seo 5.5.

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

O mtodo proposto foi implementado na linguagem Objective Caml (OCaml) Leroy(48),


em um ambiente Linux de computao.
Objective Caml uma linguagem recente. Ela descendente remota de Lisp e foi desenvolvida no INRIA1 e conta com a longa experincia dos conceitos de linguagens na famlia
ML. uma linguagem funcional de propsito geral para a expresso de algoritmos simblicos
e numricos. ainda orientada a objetos e tem um sistema de mdulos parametrizados. Ela
suporta o desenvolvimento de aplicaes concorrentes e distribudas. Ojective Caml oferece excelente segurana de execuo graas ao seu sistema de tipos estticos, ao seu mecanismo de
excees, e seu coletor de lixo. Sua implementao permite a gerao de programas executveis
de alto desempenho. Ela est disponvel para vrios sistemas de computao, oferecendo uma
boa portabilidade.
A figura 7.1 mostra o programa em execuo.
O ncleo do sistema a implementao de algoritmos genticos para resolver o problema
de roteirizao de veculos, conforme discutido em captulos anteriores. Na seqncia tem-se
alguns comentrios detalhando alguns aspectos da implementao.
1

Institute National de Recherche en Informatique et Automatique (Instituto Nacional de Pesquisa em Informtica


e Automao).

74

Figura 7.1: Tela de execuo do prottipo implementado.

Foram implementados vrios operadores de cruzamento:


edge recombination crossosver (ERX)
cycle crossover (CX)
order crossover (OX1)
partially-mapped crossover (PMX)
order based crossover (OX2)
A seleo dos cromossomos que participam de cruzamento feito pelo mtodo da roleta russa.
Este mtodo usado para selecionar uma nova populao onde dada preferncia aos cromossomos mais bem adaptados para participar da formao da nova populao.
Tambm foram implementados vrios operadores de mutao:
displacement mutation (DM)
exchange mutation (EM)
75

insertion mutation (ISM)


simple inversion mutation (SIM)
inversion mutation (IVM)
scramble mutation (SM)
Alm disso, sempre que uma gerao no consegue produzir uma soluo melhor do que a
melhor soluo da gerao anterior, a freqncia de mutao ligeiramente aumentada, dando
mais chances de mutao e diversificao dos indivduos da populao.
O melhor cromossomo sempre preservado de uma gerao para a gerao seguinte, o que
caracteriza o elitismo.
O critrio de parada do algoritmo o nmero de geraes.
No sistema desenvolvido, o usurio tem a chance de especificar vrios parmetros do algoritmo gentico, como o tamanho da populao, o nmero de geraes, a taxa de cruzamento e a
freqncia de mutao desejados.
Ao final da execuo do algoritmo gentico, produzida a melhor rota de cada veculo.
Estas rotas podem ento ser utilizadas para a produo na empresa.
O apndice A contm partes do programa implementado em Ocaml para ilustrao.

7.2

Problemas teste

Para testar o sistema foram utilizados problemas conhecidos na literatura Taillard(49).


A instncia E051-05e de Christofides, Mingozzi and Toth foi utilizada para avaliar os diversos parmetros do algoritmo gentico. Esta instncia do problema descrita pela tabela 7.1, que
mostra as informaes de localizao geogrfica dos depsitos e clientes, a demanda de cada
cliente, e a capacidade dos veculos da frota disponvel. Neste caso so 50 clientes e 5 veculos
com igual capacidade. A melhor soluo conhecida para este problema tem um custo de 524.61.
A figura 7.2 apresenta uma das boas solues encontradas pelo programa para este problema.
Nos testes realizados o programa foi executado dez vezes para cada situao e foram anotados o custo mnimo e custo mdio obtidos nestas execues. O nmero de geraes (iteraes)
em todos os testes do algoritmo gentico foi dez mil. A tabela 7.2 mostra os valores default
utilizados no programa quando o parmetro no era objeto de estudo. Por exemplo, exceto nos
76

Tabela 7.1: Dados do problema teste.


depsito
0

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

casos em que se estudava a efeito do tamanho da populao no resultado do algoritmo (figura


7.6), foi utilizado uma populao de 100 indivduos nas execues do algoritmo gentico.
Tabela 7.2: Valores defaul para os parmetros do algoritmo gentico.
parmetro
algoritmo
operador de cruzamento
operador de mutao
taxa de cruzamento
freqncia de mutao
tamanho da populao
nmero de geraes

7.3

valor default
haupt
edge recombination
displacement
0.6
0.95
100
10000

Parmetros do algoritmo gentico

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

Grfico 7.1: Comparao dos algoritmos genticos utilizados.

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

Grfico 7.2: Comparao dos operadores de cruzamento.

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

Grfico 7.3: Comparao dos operadores de mutao.


680

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

Grfico 7.4: Comparao de diferentes taxas de cruzamento.

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

Grfico 7.5: Comparao de diferentes freqncias de mutao.

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

Grfico 7.6: Comparao de diferentes tamanhos de populao.

7.4

Comparao com resultados encontrados na literatura

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

A continuidade deste estudo pode ser feita a partir da aquisio ou desenvolvimento de


um bom software de anlise estatstica para previso de pedidos, cuja importncia e aplicao
esto diretamente relacionadas com o planejamento da produo e a utilizao do software de
roteirizao de veculos. Para o desenvolvimento do sistema de previso de pedidos, faz-se
necessrio conhecer a frequncia de compra de cada cliente farmacutico.
Um sistema de previso de demanda tambm pode ser feito utilizando redes neurais artificiais no tratamento de dados quantitativos e qualitativos do mercado farmacutico.
Um aspecto do trabalho que no foi abordado no prottipo o incio do processo de montagem das cargas antes do encerramento de aceites de pedidos. necessrio fazer um estudo
de como este mecanismo interage com o programa de roteirizao, levando a um esquema de
88

roteirizao incremental (dinmico). interessante que este aspecto do problema seja tambm
considerado.

89

Apndice A
Listagem de programas
A.1

Partial Mapped Crossover (PMX)

A funo pmx_crossover recebe dois cromossomos (vetores de inteiros) como argumentos


e calcula os dois cromossomos que resultam do cruzamento deles usando o operador PMX,
conforme descrito na seo 5.5.1.1.
l e t pmx_crossover ( a : i n t a r r a y ) ( b : i n t a r r a y ) =
l e t n = Array . l e n g t h a in
l e t ( p , q ) = s o r t ( Random . i n t n , Random . i n t n ) i n
let offspring a b =
l e t c = A r r a y . make n 0 i n
l e t r e c map x =
l e t rec loop i =
i f i == q t h e n
x
else
i f x == b . ( i ) t h e n
map a . ( i )
else
loop ( i + 1)
in
loop p
in
f o r i = 0 t o n 1 do

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

Displacement Mutation (DM)

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

11 BOWERSOX, D. J.; CLOSS, D. J. Logstica Empresarial. So Paulo: Atlas, 2001. 11


12 GIL, A. C. Como Elaborar Projetos de Pesquisa. quarta edio. So Paulo: Atlas, 2002.
13, 14
13 WESTFALL, B. J. H. W. Pesquisa mercadolgica. terceira edio. [S.l.]: Fundao Getlio
Vargas, 1984. 13
14 FERREIRA FILHO, V. J. M.; MELO, A. C. da S. Sistemas de roteirizao e programao
de veculos. In: Pesquisa Operacional. Rio de Janeiro: [s.n.], 2001. v. 21, n. 2, p. 223232. 16,
32
15 GOLDEN, B.; BODIN, L. Microcomputer-based vehicle routing and scheduling software.
Computers and Operations Research, v. 13, n. 2/3, p. 277285, 1986. 17
16 HALL, R.; PARTYKA, J. G. On the road to efficiency. In: OR/MS Today. [S.l.: s.n.], 1997.
p. 3847. 24, 27
17 CUNHA, C. B. da. Aspectos prticos da aplicao de modelos de roteirizao de veculos
a problemas reais. In: Revista Transportes da ANPET Associao Nacional de Pesquisa e
Ensino em Transportes. [S.l.: s.n.], 2000. v. 8, n. 2, p. 5174. 26, 30
18 MIRANDA, M. N. de. Algoritmos Genticos: Fundamentos e Aplicaes.
Http://www.gta.ufrj.br/ marcio/genetic.html. Acesso em: 3 de agosto de 2006. 28
19 HOLLAND, J. Adaptation in natural and artificial systems. In: . [S.l.: s.n.], 1975.
University of Michigan Press. 29, 41
20 LOBO, D. da S. et al. Uma aplicao da heurstica de clark e wright para captao de
produtos de agronegcios. In: CNMAC Congresso Nacional de Matemtica Aplicada e
Computacional. [S.l.: s.n.], 2005. Anais do. 29
21 DOWSLAND, K. A. Genetic algoritms - a tool for or ? Journal of Operational Research
Society, v. 47, n. 4, p. 550561, 1996. 30
22 CUNHA, C. B. da. Uma Contribuio para o Problema de Roteirizao de Veculos com
Restries Operacionais. Tese (Doutorado) Escola Politcnica da Universidade de So
Paulo, 1997. 32
23 HELD, M.; KARP, R. M. The traveling salesman problem and minimum spanning trees:
Part ii. In: Mathematical Programming. [S.l.: s.n.], 1971. v. 1, p. 625. 32

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

38 RECHENBERG, I. Optimierung technischer systeme nach prinzipien der biologischen


information. In: . Stuttgart: Fromman Verlag, 1973. 41
39 SOUZA, P. S. Asynchronous organizations for multi-algorithms problems. Tese
(Doutorado) Pittsburgh: Carnegie Mellow University, Department of Electrical and
Computer Engineering, 1993. 139p. 53
40 LARRAAGA, P. et al. Genetic algorithms for the travelling salesman problem: A
review of representations and operators. Articial Intelligence Review, v. 13, p. 129170, 1999.
Disponvel em: <citeseer.ist.psu.edu/article/naga99genetic.html>. 54, 59, 79
41 COTTA, C. et al. Hybridizing genetic algorithms with branch and bound techniques for
the resolution of the tsp. In: PEARSON, D. W.; STEELE, N. C.; ALBRECHT, R. F. (Ed.).
Proceedings of the International Conference on Artificial Neural Nets and Genetic Alorithms.
[S.l.]: Spring-Verlag, 1995. p. 277. 68
42 KIDO, T.; KITANO, H.; NAKANISHI, M. A hybrid search for genetic algorithms:
Combining genetic algorithms and simulating annealing. In: FORREST, S. (Ed.). Proceedings
of the fifth International Conference on Genetic Algorithms. CA: Morgan Kaufmann, 1993.
p. 641. 68
43 DAVIS, L. Handbook of Geneti Algorthms. New York: Van Nostrand, 1991. 68
44 TOTH, P.; VIGO, D. The vehicle routing problems. In: . [S.l.]: Siam Monographs on
Discrete Mathematics and Aplications, 2002. Philadelphia. 68
45 SOUZA, M. J. F. Inteligncia computacional para otimizao. Universidade Federal de
Ouro Preto, n. 2, p. 138, 2005. Http://www.decom.ufop.br/prof/marcone. 68
46 HAUPT, R. L.; HAUPT, S. E. Practical Genetic Algorithms. Second edition. [S.l.]: John
Wiley & Sons, Inc., 2004. 70, 79
47 TOMASSINI, M. A survey of genetic algorithms. 1995. Disponvel em: <citeseer.ist.psu.edu/tomassini95survey.html>. 70, 79
48 LEROY, X. The Objective Caml system release 3.09. [S.l.], 2004. http://caml.
inria.fr/pub/docs/manual-ocaml/index.html. 74, 88
49 TAILLARD ric. Vehicle routeing instances. http://ina2.eivd.ch/
collaborateurs/etd/problemes.dir/vrp.dir/vrp.html. 76, 86

95

50 MALAQUIAS, N. G. L.; SILVA, V. V. da; TEIXEIRA, T. R. B. A. Avaliao do processo


logstico como alavancador da competitividade: Um estudo de caso em um distribuidor de
medicamentos. CLADEA, 2005. Santiago, Chile.
51 AAKER, D. A.; KUMAR, V.; DAY, G. S. Marketing Research. Stima edio. [S.l.]: John
Wiley & Sons, Inc., 2000.
52 FAUSETT, L. (Ed.). Fundamentals of neural networks: architectures, algorithms, and
applications. Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 1994. ISBN 0-13-334186-0.
53 LOUIS, S. J.; YIN, X.; YUAN, Z. Y. Multiple vehicle routing with time windows
using genetic algorithms. In: ANGELINE, P. J. et al. (Ed.). Proceedings of the Congress on
Evolutionary Computation. Mayflower Hotel, Washington D.C., USA: IEEE Press, 1999.
v. 3, p. 18041808. ISBN 0-7803-5537-7 (Microfiche. Disponvel em: <citeseer.ist.psu.edu/louis99multiple.html>.
54 TAVARES, J. et al. On the influence of gvr in vehicle routing. In: SAC 03: Proceedings of
the 2003 ACM symposium on Applied computing. New York, NY, USA: ACM Press, 2003. p.
753758. ISBN 1-58113-624-2.
55 GOLDENR, B. et al. The fleet size and mix vehicle routing. Computers and Operations
Research, v. 11, n. 1, p. 4966, 1984. Gr-Bretanha.
56 FISHER, M. An applications oriented guide to lagrangian relaxation. In: Interfaces. [S.l.:
s.n.], 1985. v. 15, n. 2, p. 1021.
57 M., G.; A., H.; G., L. New insertion and postoptimization procedures for the travelling
salesman problem. Operations Research, v. 40, p. 10861093, 1992.
58 HALL, R.; PARTYKA, J. G. On the road to integration. In: . [S.l.: s.n.], 2006. p. 5057.
OR/MS.
59 LAPORTE, G. The vehicle routing problem: an overview of exact and approximate
algorithms. European Journal of Operational Research, v. 59, n. 3, p. 345358, 1992.

96

Publicao da Autora

Avaliao do Processo Logstico como Alavancador da Competitividade: Um estudo de


caso em um Distribuidor de Medicamentos
Neli Gomes Lisboa Malaquias
Valeria Vieira Da Silva
Tania Regina Brasileiro Azevedo Teixeira
Trabalho apresentado na
XL ASAMBLEA ANUAL DE CLADEA, Santiago, Chile, 2005

97

Você também pode gostar