Scientia Forestalis, volume 41, n. 99
p.299-305, setembro de 2013

Clustering Search e Simulated Annealing para resolução do problema de escalonamento de motoristas no transporte de madeira

Clustering Search and Simulated Annealing to solve the driver scheduling problem for timber transport

Marcos Favero Costa1
Nilton Cesar Fiedler2
Geraldo Regis Mauri3

1Mestre em Ciências Florestais. UFES - Universidade Federal do Espírito Santo – Av. Gov. Lindemberg, 316 – Centro – Jerônimo Monteiro, ES – CEP 29.550-000 – E-mail: mfaveroc@gmail.com.
2Professor Doutor. UFES - Universidade Federal do Espírito Santo – Departamento de Ciências Florestais e da Madeira - Av. Gov. Lindemberg, 316 – Centro – Jerônimo Monteiro, ES – CEP 29.550-000 – E-mail: fiedler@pq.cnpq.br
3Professor Doutor. UFES - Universidade Federal do Espírito Santo - Departamento de Computação – Alto Universitário, s/n C.P. 16 – Guararema – Alegre, ES – CEP 29.500-000 – E-mail: mauri@cca.ufes.br

Recebido em 21/05/2012 - Aceito para publicação em 14/05/2013

Resumo

O transporte de cargas no setor florestal brasileiro é realizado em sua maior parte pelo modal rodoviário. Atualmente, o problema de escalonamento de motoristas é considerado um dos principais entraves à otimização em empresas de transporte, pois apresenta uma grande quantidade de restrições físicas e técnicas. Este estudo teve como objetivo aplicar duas meta-heurísticas (Clustering Search – CS e Simulated Annealing – SA) para solucionar um problema real de escalonamento de motoristas no transporte de madeira de uma empresa florestal localizada no Vale do Rio Doce – MG. Para validação da abordagem proposta, foi utilizada uma entrada de dados gerada a partir da pesquisa qualitativa e de estudos de tempos e movimentos, na qual foi medido o tempo do ciclo de viagem dos veículos e fracionado em trechos os pontos onde são permitidas as trocas de turno. Os resultados indicam que os métodos (CS e SA) conseguiram uma redução de 1/3 do quadro de 150 motoristas além de eliminar médias diárias de horas extras e excedentes.
Keywords: transporte florestal, escala de motoristas, meta-heurísticas.

Abstract

The transportation of cargo in Brazilian forestry is mostly done by roads. Currently the driver scheduling problem has been a major obstacle to optimize activities in transport companies, due to severe physical and technical constraints. This research aimed to apply two meta-heuristics (Clustering Search -CS and Simulated Annealing -SA) to solve problems of driver scheduling for timber transportation in a forestry company located at Vale do Rio Doce - MG. We used input generated from a qualitative research and time and motion studies to validate the proposed approach, measuring the travel times of the vehicles and defining the points where driver exchanges are done. Computational results indicate that the methods (CS and SA) succeeded in reducing the150 drivers by 1/3 and in eliminating all of the daily overtimes and extra hours.
Palavras-chave: forest transport, driver’s schedule, meta-heuristics


INTRODUÇÃO

O transporte é um dos fatores de composição do custo logístico de maior valor, e nas nações desenvolvidas, somente os fretes costumam consumir aproximadamente 60% do gasto logístico total e entre 9% a 10% do produto nacional bruto, remetendo a buscar sempre uma eficiência e qualidade em todas as fases do processo (RODRIGUES, 2008).

As companhias têm capacidade de se tornarem mais competitivas no mercado se conseguirem atribuir aos motoristas, peças principais da atividade, uma escala de serviços durante um determinado período de tempo aliada aos objetivos da empresa. Para isso lança-se mão de técnicas científicas como a pesquisa operacional e o estudo de tempos e movimentos servindo de ferramentas para auxiliar nesse planejamento.

Segundo Mauri (2005) o problema de criação de escalas de motoristas é pouco estudado e aplicado em países “em desenvolvimento”. Além disso, o problema, em geral, é modelado por meio de variáveis inteiras e é classificado como um problema NP-difícil, o que torna inviável a sua resolução por métodos exatos (KARP, 1972). Logo, uma maneira de resolvê-los é a aplicação de meta-heurísticas como o ClusteringSearch(CS) e o SimulatedAnnealing(SA).

Neste trabalho, buscou-se a utilização dessas duas meta-heurísticas (CS e SA) para solucionar um caso real de escalonamento de motoristas no transporte de madeira de uma empresa florestal localizada no Vale do Rio Doce – MG. Para isso, foi realizada, in loco, uma pesquisa qualitativa e de estudos de tempos e movimentos, a partir da qual foi gerada uma entrada de dados com as informações necessárias para aplicação das meta-heurísticas.

Experimentos computacionais foram realizados, e os resultados obtidos pelas duas meta-heurísticas foram comparados entre si e também com os dados do atual modelo de operação da empresa em questão.

O restante deste artigo está estruturado como segue. Na Seção 2 é apresentada uma breve revisão da literatura. Uma descrição do problema e detalhes de sua modelagem são apresentados na Seção 3. A Seção 4 apresenta a descrição das meta-heurísticas (CS e SA) implementadas, e os experimentos computacionais são apresentados na Seção 5. Por fim, na Seção 6 são apresentadas algumas conclusões sobre o trabalho.


REVISÃO DE LITERATURA

A maioria dos trabalhos que tratam da otimização florestal empregando meta-heurísticas estão voltados aos casos de regulação florestal, sendo ainda escassos trabalhos direcionados a problemas logísticos de entrega de matéria-prima florestal. Dentre as pesquisas nessa área, são apresentadas a seguir algumas das mais recentes e correlacionados a este trabalho.

Lacowicz et al. (2002) estudaram a minimização de custos do transporte rodoviário florestal por meio da otimização dos tempos de ciclo de transporte. Leite (2002) desencadeou um trabalho que minimizou os custos de transportes para a colheita de reflorestamentos, com enfoque nos aspectos operacionais que definem as características técnicas das estradas.

Souza et al. (2002) objetivaram analisar e avaliar a eficiência do transporte principal de madeira comparando os resultados gerados pela programação matemática com o transporte de madeira.

Berger et al. (2003) comentam que a complexidade do planejamento do transporte florestal de madeira leva ao desenvolvimento de métodos que auxiliem na determinação das melhores rotas a serem seguidas por caminhões, para se conseguir um menor custo possível para um máximo volume de madeira no pátio.


DESCRIÇÃO E MODELAGEM DO PROBLEMA

Este estudo foi desenvolvido em uma prestadora de serviços responsável pelo transporte de madeira de uma empresa de celulose localizada no Vale do Rio Doce, na região leste do Estado de Minas Gerais.

Foi realizado um levantamento das distâncias e dos tempos consumidos entre cada etapa do ciclo operacional do veículo; do número de motoristas ativos; do número de veículos disponíveis para a atividade; dos locais onde são realizadas as trocas de turno; de quantos motoristas e a que horas eles realizam as trocas de turnos em cada ponto (Tabela 1).

Tabela 1. Pontos de trocas de turno.
Table 1. Drivers exchange points.
Local da troca de turno Intervalo (horas) Quantidade de composição veicular de carga (CVC)
Pátio da fábrica 02h00min às 07h00min
14h00min às 19h00min
17
Ponto de Apoio 00h00min às 07h00min
12h00min às 19h00min
23
Açucena 01h00min às 03h00min
13h00min às 15h00min
3
Belo Oriente 02h00min às 04h00min
14h00min às 16h00min
4
Sapucaia 02h00min às 03h00min
14h00min às 15h00min
3
Total 50

O ciclo operacional do transporte inicia-se no pátio da empresa terceirizada (ponto 1). As 50 trocas de turnos são realizadas e distribuídas da seguinte maneira: 17 trocas no pátio da empresa terceirizada, quatro no município de Belo Oriente (ponto 2), três em Açucena (ponto 3), três em Sapucaia (ponto 4) e 23 no ponto de apoio (ponto 5).

Saindo do pátio, o motorista chega ao ponto de apoio onde o controlador faz o encaminhamento da CVC ao ponto de carregamento no campo (ponto 6). No local definido a CVC é carregada, o motorista faz a conferência e amarração da carga e procede ao caminho de volta. Nesse trajeto o veículo realizará duas pesagens na balança do pátio Pompéu (ponto 7) e do Departamento de Estradas e Rodagem (ponto 8) até chegar na indústria (ponto 9), onde será obtido o Peso Bruto Total da Composição (PBTC) e determinado o local para realizar o descarregamento. Em seguida, a CVC é limpa, abastecida e novamente pesada, obtendo o peso líquido transportado. O motorista chega então ao pátio onde é realizada a manutenção (lubrificação, calibragem, regulagem de freio e conserto de avarias), encerrando assim o ciclo operacional de transporte apresentado na Figura 1 juntamente com as distâncias entre cada trecho.


Figura 1. Fluxograma do ciclo operacional.
Figure 1. Operational cycle flowchart.

A empresa possui um quadro de 150 motoristas, divididos entre 50 CVC’s, trabalhando em turnos alternados na escala 4 x 2. A carga horária diária do motorista é de 12h de trabalho com uma hora de refeição. No contrato de terceirização do serviço, a velocidade média deve ser entre 30 e 35 km/h. O tempo de carregamento entre o intervalo de 00h50min a 01h12min, o de descarregamento entre 1h a 01h20min e eficiência operacional de 83 a 90%.

Utilizando o conjunto de números naturais (inteiros positivos), excluindo o zero, N* (N* = N – {0}), atribuíram-se códigos de identificação a todos os locais do ciclo de viagem, aos motoristas ativos, os veículos disponíveis para realização da atividade e o grupo a qual pertence à equipe de acordo com seu ponto de troca.

A distância média de transporte (DMT) entre indústria e projetos é obtida através de uma média ponderada da distância e volume transportado de todos os projetos da regional e seu valor é de 270 km (ida e volta). Com as distâncias mensuradas e com base nos valores estipulados no contrato entre empresa prestadora de serviço (velocidade média, eficiência operacional, tempo de carregamento e descarregamento e tempos acessórios), chegou-se ao tempo que um veículo leva para deslocar-se de um ponto à outro.

Com base nos dados de saída dos veículos e motoristas em cada ponto, foi elaborada uma planilha, apresentada na Tabela 2.

Tabela 2. Exemplo de viagens realizadas por um motorista.
Table 2. Example of travels performed by a driver.
Trechos Nº Veículo Ponto Inicial Ponto Final Hora Saída Hora Chegada Duração Grupo
69 18 Belo Oriente Ponto apoio 02h00min 04h31min 02h31min 2
70 18 Ponto apoio Ponto apoio 04h31min 09h43min 05h12min 2
71 18 Ponto apoio Belo Oriente 09h43min 12h14min 02h31min 2
72 18 Belo Oriente Pátio 12h14min 14h43min 02h29min 2
73 18 Pátio Pátio 14h43min 15h07min 00h24min 2
74 18 Pátio Belo Oriente 15h07min 15h52min 00h45min 2

Esta planilha contém os trechos correspondentes à divisão em etapas da viagem realizada. É importante salientar que os motoristas que compõem cada uma das frotas estão reunidos em grupos de acordo com suas moradias. Devido a isso, eles, obrigatoriamente, devem iniciar e finalizar seus turnos no seu grupo, mas nada impede que no meio de suas tarefas ele atenda um trecho que pertença a um grupo diferente. Esta contém, ainda, o código do veículo, o ponto inicial e final, seus respectivos horários de saída e chegada de cada trecho de sua viagem e o grupo a qual pertencem.

A planilha relacionando os trechos conduzidos pelos motoristas foi exportada em formato “*.txt”, servindo de entrada de dados para resolução do problema pelas diferentes meta-heurísticas. A função objetivo a ser otimizada pelo CS e SA é apresentada a seguir:

em que: MU = número de motoristas utilizados para atender todos os trechos; HEi= quantidade de horas extras do motorista i; TOi= quantidade de horas ociosas do motorista i; TVi= número de trocas de veículos do motorista i; HTi= quantidade de horas que excedem o limite permitido ao motorista i; TPi= número de trocas de pontos (termina uma viagem em um ponto e começa a próxima em outro) do motorista i; TGi = número de trechos atendidos pelo motorista i cujos grupos são diferentes do seu; TSi= quantidade de horas de sobreposição (um motorista realizando duas ou mais viagens simultâneas) para o motorista i, e ωi (i = 1,...,8)= pesos caracterizando a importância dos 8 objetivos distintos.

Na função f(S), busca-se reduzir ao máximo os quatro primeiros termos, pois os mesmos refletem os custos operacionais da empresa, ex.: quanto menor o número de motoristas e de horas extras menores serão os custos de pessoal da empresa e quanto menor o número de horas ociosas, menos improdutiva será a atividade. Como horas ociosas, foi considerado o tempo em que os motoristas ficam parados, desconsiderando os intervalos legais de pausa para descanso ou refeição. Já para os quatro últimos termos da função f(S), procurou-se a eliminação dos mesmos, pois caracterizam uma solução inviável em termos práticos.


MÉTODOS UTILIZADOS


Clustering Search (CS)

O CS é uma evolução da meta-heurística proposta por Oliveira (2004) chamada de Evolutionary Clustering Search (busca evolutiva de agrupamentos). De acordo com Chaves (2009), durante o processo de busca realizado por um algoritmo, há uma maior concentração de indivíduos em regiões nas quais estão os melhores avaliados. Então, o CS procura dividir o espaço de busca e localizar regiões promissoras por meio do enquadramento dessas em clusters, que possuem três atributos: ci (centro do cluster i), vi (quantidade de soluções agrupadas no cluster i) indica que cluster se torna promissor quando o volume atingir certo limitante e ri (índice de ineficácia da busca no cluster i) que é uma variável de controle para identificar se a “busca local” está ou não melhorando o centro do cluster i. Depois de encontrada essas regiões promissoras, é intensificada a busca por ótimos locais.

O CS utilizado neste trabalho para resolução do problema de escalonamento de motoristas foi baseado no mesmo proposto por Oliveira et al. (2012), sendo considerada a função objetivo apresentada na seção anterior.


Simulated Annealing (SA)

O SA é um método de busca local que aceita movimentos de piora para escapar de ótimos locais. Proposto originalmente por Kirkpatrick et al. (1983), se fundamenta em uma analogia com a termodinâmica, ao simular o processo de “recozimento” de metais. O algoritmo de busca é empregado numa sequência de temperaturas decrescentes para gerar soluções. Ele começa com um valor T elevado e a cada T geram-se soluções até que o equilíbrio àquela temperatura seja alcançado. Então, a temperatura é rebaixada e o processo segue até o congelamento, ou seja, chega-se ao ponto onde não se obtém mais melhoras. A cada iteração do método, é gerado aleatoriamente um novo estado a partir do estado corrente e, se esse novo estado for de energia menor, ele passa a ser o estado corrente. Este procedimento é repetido até se atingir o equilíbrio térmico.

O SA utilizado neste trabalho para resolução do problema de escalonamento de motoristas foi baseado no mesmo proposto por Ribeiro et al. (2011), sendo considerada a função objetivo apresentada na seção anterior.


EXPERIMENTOS COMPUTACIONAIS

Por meio do levantamento realizado, a empresa prestadora de serviço,responsável pelo transporte de madeira, tem em seu quadro uma frota de 50 veículos conduzidos por 150 motoristas distribuídos na proporção de três motoristas para cada veículo.

A jornada de serviços, combinada em comum acordo entre empresa terceirizada e os motoristas é de oito horas acrescidas de quatro horas extras, totalizando 12h, já inclusa uma hora para refeição. Porém, pelas condições levantadas pelo estudo, onde consideraram os limites superiores estipulados em contrato,a jornada de trabalho é de 13h52min. Portanto, verificando a realidade atual, a empresa terceirizada consegue um rendimento superior ao contratado. Em relação às horas extras realizadas por todos os motoristas, tem-se uma média diária total de 01h03min enquanto que a média de horas excedentes (além das 12 horas) no dia de todos os motoristas é de 00h51min.

Com o intuito de gerar diferentes soluções para o problema, ou seja, apresentar alternativas distintas ao tomador de decisões, foram definidos 5 cenários distintos, com diferentes objetivos. Os cenários são diferenciados por meio da utilização de valores diversos para cada termo na função objetivo. A Tabela 3 apresenta a configuração dos parâmetros para cada cenário.

Tabela 3. Cenários.
Table 3. Scenarios.
Cenário ω1 ω2 ω3 ω4 ω5 ω6 ω7 ω8 Objetivo
1 1 0 0 0 100 1500 1500 100 Reduzir núm. de motoristas
2 0 1 0 0 100 1500 1500 100 Reduzir horas extras
3 0 0 1 0 100 1500 1500 100 Reduzir horas ociosas
4 0 0 0 1 100 1500 1500 100 Reduzir troca de veículos
5 10 5 2 10 100 1500 1500 100 Solução “equilibrada”*

Os métodos CS e SA foram implementados em C++ e os parâmetros usados foram obtidos empiricamente. Para o CS,os parâmetros utilizados são os seguintes: Clt: quantidade de clusters utilizados = 10;vmax: volume máximo dos clusters = 7, rmax: índice de ineficácia = 3, T0: temperatura inicial = 20000, Tc: temperatura de congelamento = 0,01, SAmax: número de iterações para atingir o equilíbrio térmico = 1000 e a: taxa de resfriamento = 0,975. Já para o SA, os parâmetros foram: SAmax = 1000; T0= 20000; Tc= 0,01; e α = 0,975. Os testes foram realizados em um PC com processador Intel Core i5 de 2,66 GHz e 4GB de RAM e cada método foi executado 100 vezes para cada cenário.

Um resumo dos resultados obtidos pelo CS e SA é apresentado nas Tabelas 4 e 5, respectivamente. Essas tabelas apresentam, para cada cenário, a melhor função objetivo obtida (f(S)*) nas 100 execuções, a função objetivo média (f(S)m), o desvio da função objetivo, em porcentagem (D(%)), e o tempo médio de execução, em segundos (Tm).

Nas Tabelas 4 e 5, pode-se observar que tanto o CS quanto o SA encontraram as mesmas soluções (valor da função objetivo – f(S)*) para os cenários 2, 3, 4 e 5, sendo o tempo de execução do SA (62,19) ligeiramente inferior ao do CS (76,58). Entretanto, nota-se também que o CS foi mais robusto, pois nas 100 execuções para esses cenários (2, 3, 4 e 5), as mesmas soluções foram encontradas (desvio de 0%), enquanto que o SA apresentou desvios, mesmo que pequenos, para os cenários 3, 4 e 5.

Tabela 4. Resultados obtidos pelo CS.
Table 4. Results obtained by CS.
Cenário f(S)* f(S)m D (%) Tm (seg.)
1 89,00 89,87 0,978 79,37
2 0,00 0,00 0,000 78,12
3 0,00 0,00 0,000 77,35
4 0,00 0,00 0,000 77,15
5 1000,00 1000,00 0,000 70,91
Média 217,80 217,97 0,20 76,58

Tabela 5. Resultados obtidos pelo SA.
Table 5. Results obtained by SA.
Cenário f(S)* f(S)m D (%) Tm (seg.)
1 91,00 92,55 1,703 60,22
2 0,00 0,00 0,000 61,43
3 0,00 1,12 1,12 64,81
4 0,00 0,46 0,46 60,97
5 1000,00 1024,13 2,413 63,54
Média 218,20 223,65 1,14 62,19

Já para o cenário 1, ambos os métodos apresentaram desvios, porém tanto o desvio quanto as soluções obtidas pelo CS foram melhores que o SA.

A Tabela 6 apresenta de forma detalhada as melhores soluções obtidas para cada método em cada cenário. Nessa tabela, foi inserido o tempo médio de trabalho por motorista, apenas para ilustrar ainda mais os resultados obtidos. Em relação aos quatro últimos termos da função objetivo (que indicam inviabilidades na solução), os valores obtidos tanto pelo CS quanto pelo SA, em todos os experimentos para todos os cenários, foram eliminados (HTi = TPi = TGi = TSi = 0, Ñi = 1,...,m).

Tabela 6. Melhores soluções obtidas pelo CS e SA.
Table 6. Best solutions obtained by CS and SA.
Método Cenário Nº Motoristas Horas extras Horas ociosas Nº troca de veículos Tempo médio de trabalho
CS 1 89 95,47 89,98 74 08h48min
2 110 0 26,22 58 06h32min
3 100 45,43 0 0 06h56min
4 100 39,88 0 0 06h56min
5 100 0 0 0 06h54min
SA 1 91 91,16 87,85 79 08h35min
2 139 0 53,10 51 05h22min
3 139 29,71 0 0 04h59min
4 138 25,66 6,83 0 05h04min
5 100 0 0 0 06h54min

Na Tabela 6, é possível perceber que, no geral, as soluções encontradas pelo CS foram melhores que as obtidas pelo SA. Para o cenário 1, cujo objetivo é reduzir apenas o número de motoristas, o CS encontrou uma solução com 2 motoristas a menos, ou seja, melhor devido ao objetivo. Porém, nota-se que as horas extras, ociosas e o tempo médio de trabalho aumentaram, o que faz sentido devido ao menor número de motoristas.

Já no cenário 2 (reduzir horas extras), ambos os métodos encontraram o mesmo objetivo (0 horas extras), porém com os demais valores distintos. Nesse caso, apesar dos demais termos terem sido ignorados na função objetivo (ωi= 0), as soluções do CS, de uma foram geral, ainda foram melhores.

Nos cenários 3 e 4 (reduzir horas ociosas e troca de veículos, respectivamente), ambos os métodos encontraram os mesmos valores para a função objetivo (0 em todos os casos). Porém, os demais termos foram diferentes, apresentando alternativas distintas para o tomador de decisão. No cenário 3, por exemplo, o CS apresenta 45,43 horas extras com 100 motoristas. Já no SA, são 29,71 horas extras, porém com 139 motoristas. O mesmo se repete para o cenário 4.

Por fim, para o cenário 5, que busca por uma solução que minimize todos os termos da função objetivo, ambos os métodos encontraram a mesma solução, com 100 motoristas e nenhuma hora extra ou ociosa e nem troca de veículos. Nesse caso, fazendo uma comparação direta com os dados da operação realizada pela empresa, pode-se notar que a solução obtida, tanto pelo CS quanto pelo SA, reduz em 50 unidades do quadro de motoristas (150 para 100), além de não apresentar horas extras (01h03min para 0 – por dia) e excedentes (00h51min para 0 – por dia) e de reduzir a jornada de trabalho para menos da metade (13h52min para 06h54min).

De uma forma geral, analisando os resultados obtidos, percebe-se que ambos os métodos utilizados foram eficientes para solucionar o problema. Considerando uma visão mais prática do problema, tem-se o cenário 5, cujo objetivo é minimizar todos os termos da função f(S). Nesse caso, percebe-se que a melhor solução encontrada pelos dois métodos foi a mesma, em 100 execuções de cada um. Logo, apesar de não podermos afirmar que essa solução é ótima (pois os métodos não são exatos), fica evidente que a solução obtida é aproximada da ótima e, em termos gerais, de boa qualidade.


CONCLUSÕES

Este artigo apresentou a aplicação das meta-heurísticas Clustering Search (CS) e Simulated Annealing (SA) para resolução de um problema real de escalonamento de motoristas no transporte de madeira de uma empresa florestal localizada no Vale do Rio Doce – MG, cujos dados reais foram gerados a partir da pesquisa qualitativa e de estudos de tempos e movimentos;

Em comparação com a atual operação da empresa em questão ambos os métodos apresentaram boas soluções, tendo o CS se destacado pelos baixos desvios e o SA pelos tempos computacionais ligeiramente inferiores. Logo, pode-se afirmar que ambos foram eficazes, e surgem como boas alternativas para resolver o problema;

É importante destacar que os resultados obtidos tomaram como base os dados obtidos a partir do cronograma de planejamento da empresa, o que na prática é alterado constantemente. Assim, os métodos devem ser constantemente aprimorados e/ou adaptados para tratar o problema de uma forma em que o mesmo represente a realidade da operação da empresa. Nesse caso, o baixo tempo computacional dos métodos é um fator relevante, que permite que novas alterações sejam otimizadas e avaliadas em um tempo hábil;

Por fim, a proposta para modelagem do problema e a aplicação do CS e do SA para resolvê-lo surgem como potenciais alternativas para solução de problemas encontrados no crescente e promissor setor florestal brasileiro.


AGRADECIMENTOS

Os autores agradecem aos revisores anônimos pelos comentários e sugestões, e ao Conselho Nacional de Desenvolvimento Científico e Tecnológico - CNPq (processos 300747/2010-1 e 477148/2011-5) pelo apoio financeiro dado ao desenvolvimento deste trabalho.


REFERÊNCIAS BIBLIOGRÁFICAS

BERGER, R.; TIMOFEICZYK JUNIOR, R.; CARNIERI, C.; LACOWICZ, P. G.; SAWINSKI JUNIOR, J.; BRASIL, A. A. Minimização de custos de transporte florestal com a utilização da programação linear. Floresta, Curitiba, v. 33, n. 1, p. 33-50, 2003.

CHAVES, A. A. Uma meta-heurísticas híbrida com busca por agrupamentos aplicada a problemas de otimização combinatória. 2009. 197 p. Tese (Doutorado em Computação Aplicada) – Instituto Nacional de Pesquisas Espaciais, São José dos Campos. 2009.

KARP, R. Reducibility Among Combinatorial Problems. In: MILLERT, R.;  THATCHER, J., (Ed.). Complexity of computer computations, New York: Plenum Press , 1972. p. 85–103.

KIRKPATRICK, S.; GELATT, C. D.; VECCHI, M. P. Optimization  by simulated annealing. Science, Washington, v. 220, n. 4598, p. 671-680, mai. 1983.

LACOWICZ, P. G.; Berger, TIMOFEICZYK JUNIOR, R.; SILVA, J. C. G. L. Minimização dos custos de transporte rodoviário florestal com o uso da programação linear e otimização do processo. Floresta, Curitiba, v. 32, n. 1, p. 75-87, 2002.

LEITE, J. M. A otimização dos custos do transporte rodoviário de madeira roliça oriunda de reflorestamento. 2002. 273 p. Tese (Doutorado em Ciências Florestais) – Universidade Federal do Paraná, Curitiba, 2002.

MAURI, G. R. Novas heurísticas para o problema de escalonamento de tripulações. 2005. 103 p. Dissertação (Mestrado em Computação Aplicada) – Instituto Nacional de Pesquisas Espaciais, São José dos Campos, 2005.

OLIVEIRA, A. C. M. Algoritmos evolutivos híbridos com detecção de regiões promissoras em espaços de busca contínuo e discreto. 2004. 79 p. Tese (Doutorado em Computação Aplicada) – Instituto Nacional de Pesquisas Espaciais, São José dos Campos, 2004.

OLIVEIRA, R. M.; MAURI, G. R.; Lorena, L. A. N Clustering search for the berth allocation problem. Expert Systems with Applications, v. 39, n. 5, p. 5499-5505, 2012.

RIBEIRO, G. M.; MAURI, G. R.; LORENA, L. A. N. A simple and robust simulated annealing algorithm for scheduling workover rigs on onshore oil fields. Computers & Industrial Engineering, v. 60, n. 4, p. 519-526, 2011.

RODRIGUES, P. R. A. Introdução aos sistemas de transporte no Brasil e à logística internacional. São Paulo: Aduaneiras, 2008. 248p.

SOUZA, R. A. T. M.; RODRIGUES, L. C. E.; SEIXAS, F.; CAIXETA FILHO, J. V. Eficiência e otimização do transporte principal de toras curtas de eucalipto. Scientia Forestalis, Piracicaba, n. 62, p. 130-146, dez. 2002.