HEURÍSTICAS PARA O PROBLEMA DE BIN-PACKING COM BINS DE DIFERENTES TAMANHOS NO CONTEXTO LOGÍSTICO



Documentos relacionados
Journal of Transport Literature, 9(1), 40-44, Jan

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Complemento IV Introdução aos Algoritmos Genéticos

Uma Heurística para o Problema de Redução de Padrões de Corte

Algoritmos Genéticos

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

APLICAÇÃO DE MÉTODOS HEURÍSTICOS EM PROBLEMA DE ROTEIRIZAÇÃO DE VEICULOS

A Otimização Colônia de Formigas

Inteligência Computacional Aplicada a Engenharia de Software

Uma Heurística Gulosa para o Problema de Bin Packing Bidimensional

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Modelo Cascata ou Clássico

Figura 1.1: Exemplo de links patrocinados no Google

INF 1771 Inteligência Artificial

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

PLANEJAMENTO DA MANUFATURA

6 Construção de Cenários

Inteligência de Enxame: ACO

Módulo 4. Construindo uma solução OLAP

4 Segmentação Algoritmo proposto

Dadas a base e a altura de um triangulo, determinar sua área.

2 Atualidade de uma base de dados

Otimização de Funções Não Lineares por Meio do Algoritmo Árvore da Montanha

Além de minimizar o número de objetos processados, problema de corte unidimensional

Armazenamento de Arquivos Grandes em Dvds

1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3.

01/05/2016. Danillo Tourinho Sancho da Silva, MSc ROTEIRIZAÇÃO TEORIA DOS GRAFOS MOTIVAÇÃO

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 *

2 Diagrama de Caso de Uso

Algoritmos Genéticos (GA s)

Disciplina: Suprimentos e Logística II Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

ALGORITMOS GENÉTICOS

Meta-heurísticas. Métodos Heurísticos José António Oliveira meta-heurísticas

Arquiteturas RISC. (Reduced Instructions Set Computers)

Exercícios Teóricos Resolvidos

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

PÓS GRADUAÇÃO EM CIÊNCIAS DE FLORESTAS TROPICAIS-PG-CFT INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA. 09/abril de 2014

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Utilização do SOLVER do EXCEL

GesToc Gestão de Transferências entre Estoques Versão 7.1 Roteiro: Programação Diária

Localização dos inquéritos de rua para Arroios e Gulbenkian

5 Experiência de implantação do software de roteirização em diferentes mercados

Análise e Projeto de Algoritmos

Orientação a Objetos

Avanços na transparência

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

GASTAR MAIS COM A LOGÍSTICA PODE SIGNIFICAR, TAMBÉM, AUMENTO DE LUCRO

Síntese das discussões do fórum Livro-APF: Julho/2010

Balanceamento de Carga

UMA HEURÍSTICA GRASP PARA O PROBLEMA ESTENDIDO DE SEQUENCIAMENTO DE CARROS

Sistemas Operacionais

4 Avaliação Econômica

UM CONCEITO FUNDAMENTAL: PATRIMÔNIO LÍQUIDO FINANCEIRO. Prof. Alvaro Guimarães de Oliveira Rio, 07/09/2014.

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

IA Colônia de Formigas. Prof. Ricardo Britto DIE-UFPI

MINIMIZANDO O NÚMERO DE DIFERENTES PADRÕES DE CORTE - UMA ABORDAGEM DE CAMINHO MÍNIMO

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

A presente seção apresenta e especifica as hipótese que se buscou testar com o experimento. A seção 5 vai detalhar o desenho do experimento.

4 Arquitetura básica de um analisador de elementos de redes

Batalha Naval Algoritmos de Busca. Correlações curriculares Matemática: Números: maior que, menor que, iguais a.

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

2. Método de Monte Carlo

7. Análise e comparação dos programas VMI nas empresas XYZ e DEF

Disciplina: Unidade III: Prof.: Período:

A UTILIZAÇÃO ADEQUADA DO PLANEJAMENTO E CONTROLE DA PRODUÇÃO (PCP), EM UMA INDÚSTRIA.

ALGORITMO INTERATIVO PARA O PROBLEMA DE EMPACOTAMENTO UNIDIMENSIONAL

MANUAL RASTREAMENTO 2013

MELHORAMENTO DE PLANTAS AUTÓGAMAS POR HIBRIDAÇÃO

Uso de SAS/OR para diminuir o tempo de resposta com um melhor posicionamento de ambulâncias.

2 Problema das p-medianas

1. Introdução. 1.1 Introdução

Terceira Avaliação Visualg & Pascal

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Introdução. 1. Introdução

Busca. Pesquisa sequencial

Jogos Olímpicos de Verão - Londres 2012

MÓDULO 5 Movimentações

Este material traz a teoria necessária à resolução das questões propostas.

Especificação de Requisitos

4 Metodologia da Pesquisa

ESTRATÉGIAS DE RESOLUÇÃO DE PROBLEMAS DE PESQUISA OPERACIONAL

Análise e Complexidade de Algoritmos

CI165 Introdução. André Vignatti. 31 de julho de 2014

Manutenção de Arquivos

7.Conclusão e Trabalhos Futuros

INVESTIGAÇÃO OPERACIONAL EM AÇÃO

Sistema de avaliação da tarefa 47 da fase 5

Um Esquema de Aproximação Eficiente para o Problema do Bin Packing Unidimensional

BUSCA LOCAL ITERADA (ILS ITERATED LOCAL SEARCH)

Árvores Binárias de Busca

O QUE É E COMO FUNCIONA O CREDIT SCORING PARTE I

Transcrição:

HEURÍSTICAS PARA O PROBLEMA DE BIN-PACKING COM BINS DE DIFERENTES TAMANHOS NO CONTEXTO LOGÍSTICO Rafael Rosin Programa de Mestrado em Engenharia de Sistemas Logísticos Escola Politécnica da USP rafael.rosin@poli.usp.br Cauê Sauter Guazzelli Programa de Mestrado em Engenharia de Transportes Escola Politécnica da USP caue.guazzelli@poli.usp.br Claudio Barbieri da Cunha Programa de Mestrado em Engenharia de Sistemas Logísticos Escola Politécnica da USP Caixa Postal 61548 CEP 05424-970 São Paulo - SP cbcunha@usp.br RESUMO O problema de bin packing com bins heterogêneos, ou de tamanho variável (do inglês variable sized bin packing problem ) é uma generalização do tradicional problema de bin packing no qual bins de diferentes capacidades (e diferentes custos) estão disponíveis para a alocação de um conjunto de objetos cujos pesos são conhecidos. O objetivo é alocar todos os objetos ou itens de modo a minimizar o custo total dos bins utilizados. Ao contrário do problema de bin packing tradicional, em que os bins são idênticos, este é um problema mais complexo e ainda pouco explorado na literatura. Motivados pela sua aplicação em problemas de distribuição de produtos e mercadorias, nos quais entregas devem ser alocadas a veículos de uma frota heterogênea de tal forma que o custo da frota requerida para atendimento de todas as entregas seja minimizado e as capacidades dos veículos não sejam violadas, neste artigo são propostas três heurísticas para a solução desse problema: duas baseadas em algoritmos genéticos e a outra híbrida, baseada em algoritmos genéticos, scatter search e busca local. São apresentados resultados de experimentos computacionais com problemas teste derivados de instâncias benchmark da literatura. PALAVRAS CHAVE: Bin packing com bins heterogêneos, VSBPP, algoritmo genético, scatter search. ABSTRACT The variable sized bin packing problem is a generalization of the traditional bin packing problem where bins of different capacities (and different costs) are available for packing a set of items. The objective is to pack all items aiming to minimize the total cost associated with the bins. It is a complex problem and much less studied than the version where all bins are identical. Motivated by its application to problems related to physical distribution of products and goods in which deliveries must be assigned to vehicles such that the total cost of the required fleet is minimized and vehicle capacities are respected, in this paper we propose three heuristics to solve it: two based on genetic algorithms and an hybrid heuristic, based on genetic algorithms, scatter search and local search. We present the results of computational experiments with newly generated problem instances derived from benchmark instances. KEYWORDS: variable sized bin packing problem, VSBPP, genetic algorithms, scatter search XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1155

1. Introdução Problemas de bin-packing constituem um grupo de problemas desafiadores de otimização combinatória que pertencem a uma classe mais geral denominada problemas da mochila (do inglês knapsack problems), e que vêm sendo intensamente estudados há várias décadas, atraindo teóricos e práticos. O interesse dos teóricos deve-se, principalmente, à estrutura simples do problema, o que permite, além da exploração de diversas propriedades do mesmo, a sua resolução como parte de problemas mais complexos. Já do ponto de vista prático, estes problemas aparecem em diversas aplicações reais, incluindo, entre outros, carregamento de veículos (Eilon e Christofides, 1971; Gehring et al., 1990) e corte e empacotamento (Dyckhoff, 1990; Marques e Arenales, 2007; Hoto et al., 2007). O problema de bin-packing (BPP) pode ser descrito da seguinte forma: dados j = 1,..., n objetos ou itens com seus respectivos pesos w j e i = 1,..., n bins (ou mochilas) idênticas de capacidade finita c, determinar a alocação (ou designação) dos n itens aos bins (sendo wj c, j ), de tal modo que o número de bins utilizados seja mínimo, e respeitando-se as restrições de capacidade em cada um dos bins. Conforme apontam Cunha et al. (2008), o problema de bin-packing é importante, entre outros, no contexto logístico da distribuição de produtos para um certo destino (ou destinos próximos entre si), quando se busca otimizar o agrupamento de entregas nos veículos de modo a reduzir a frota necessária e o custo com o frete pago aos transportadores. Muitos sistemas de distribuição física, tais como a entrega de cimento ou aço para construção abrangem inúmeros clientes, localizados em municípios distintos e atendidos a partir de uma única base de origem dos veículos. Em muitos casos a distância de deslocamento entre base de origem, onde o veículo é carregado, até um município ou região onde são realizadas as entregas é muito superior às distâncias de percurso em rota (i.e, entre entregas consecutivas). Características da carga, tempos envolvidos (de entregas e de deslocamento do veículo) podem acarretar um número de entregas não elevado para cada veículo (geralmente cerca de até 10); conseqüentemente, normalmente é necessário despachar vários veículos a um município ou a municípios vizinhos, próximos entre si, de forma a realizar as entregas para todos os clientes ali localizados (Miura, 2008). Deve-se destacar que, na prática, não se admite que as entregas possam ser divididas (ou fracionadas) em mais de um veículo (estratégia conhecida como split deliveries), de modo a facilitar a sua acomodação e o melhor aproveitamento das capacidades dos veículos. Isso ocorre porque é indesejável para os clientes receber a mercadoria picada, em mais de uma entrega, uma vez que isso dificulta e até impede sua a conferência em termos dos itens e respectivas quantidades em conformidade com o pedido; já para os embarcadores, o fracionamento da carga implica na multiplicação de tarefas administrativas e operacionais, tais como a emissão de mais documentos e a maior dificuldade de conferência da carga sendo embarcada. A forma peculiar de contratação do transporte no Brasil, e de remuneração dos transportadores, favorece esse agrupamento por município, uma vez que, usualmente, o valor do frete a ser pago ao transportador não é determinado com base na distância total da rota (apurada ou estimada), como é prática usual em muitos países, principalmente os mais avançados, onde grande parte de literatura de roteirização e programação de veículos se origina. Segundo a prática no mercado brasileiro, existe uma tabela pré-acordada entre o embarcador e o transportador que define um valor fixo diário por município e tamanho de veículo ao qual são alocadas entregas, independente do número de entregas e da sua ocupação; nesse caso, um custo adicional é incorrido apenas quando as entregas ocorrem em municípios distintos e mais distantes entre si (em geral, distâncias superiores a 10-20 km), uma vez que o veículo deve percorrer um trajeto rodoviário maior a fim de concluir as entregas. Além do custo envolvido, esse trajeto rodoviário entre entregas prejudica a produtividade do veículo, em razão do menor tempo disponível para as entregas (que geralmente se restringem ao horário comercial), decorrente do percurso rodoviário extra. Em muitos problemas pode-se assumir produto único ou homogêneo, como é o caso, por exemplo, do cimento (Miura, 2008), permitindo desconsiderar a questão do arranjo espacial das cargas nos veículos. Assim, esse problema de distribuição pode ser modelado como um problema XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1156

de bin-packing, em que se deseja determinar, para cada município ou região composta por municípios para o qual o frete é o mesmo, quantos veículos idênticos serão necessários (correspondendo aos bins), e a alocação dos pontos de entrega (que correspondem aos objetos) aos mesmos, de modo que a frota total utilizada seja mínima. No caso mais geral, a frota de distribuição pode ser composta por veículos de diferentes tamanhos e capacidades (em geral, de dois a cinco tipos), aos quais estão associados custos diferentes. Nesse caso, busca-se não mais minimizar o número total de veículos, mas sim o custo total dos veículos utilizados; normalmente o frete dos veículos maiores, embora maior, costuma ser menor em termos unitários (por unidade de capacidade) do que o dos veículos menores, uma vez que o custo fixo diário do veículo não é diretamente proporcional à sua capacidade de carga (por exemplo, o custo do motorista é o mesmo, independente do tamanho do veículo). Esse problema mais geral com frota heterogênea dá origem ao chamado problema de binpacking com bins heterogêneos, ou de tamanho variável (do inglês variable sized bin packing problem, ou simplesmente VSBPP), que é objeto do presente trabalho. Assim, motivados pela resolução de problemas reais de distribuição física de produtos, são propostas, neste trabalho, três diferentes heurísticas para o problema de bin-packing com bins heterogêneos: duas heurísticas baseadas em algoritmos genéticos e uma heurística populacional híbrida que utiliza conceitos de algoritmos genéticos, scatter search e busca local. As heurísticas propostas são avaliadas e comparadas considerando novas instâncias derivadas de instâncias benchmark na literatura. Busca-se encontrar um método de solução eficiente, que produza boas soluções em tempos de processamento reduzidos, a fim de permitir a sua aplicação na programação diária da distribuição de produtos aos pontos de entrega. Tal programação compreende a definição, para cada município ou região de destino, de quantos veículos de qual tipo serão necessários, e a alocação dos pontos de entrega aos mesmos, de modo que o custo total da frota utilizada seja mínimo. Tendo em vista a sua aplicação à programação diária de entregas, e ao prazo reduzido para essa atividade, o tempo de processamento, assim como a qualidade das soluções, são aspectos importantes para a avaliação das heurísticas propostas. Este artigo está organizado da seguinte forma: na próxima seção é apresentada a formulação matemática do problema e uma breve revisão da literatura sobre o assunto. Em seguida, na seção 3 são descritas as heurística baseadas em algoritmos genéticos, enquanto a heurística populacional híbrida, baseada em algoritmos genéticos, scatter search e busca local é detalhada na seção 4. Já na seção 5 são apresentados os resultados dos experimentos computacionais realizados, incluindo uma comparação dos resultados com aqueles obtidos através de uma ferramenta de mercado. Por fim, as conclusões e recomendações são apresentadas na seção 6. 2. Formulação Matemática e Revisão da Literatura O problema de bin-packing com bins heterogêneos (VSBPP) pode ser descrito da seguinte forma: dados j = 1,..., n objetos ou itens com seus respectivos pesos w j, e i = 1,..., m bins (ou mochilas) para os quais são conhecidos seus respectivos custos f i e suas capacidades b i, determinar a alocação (ou designação) dos n itens aos m bins, de tal modo a minimizar o custo total dos bins utilizados, e respeitado-se as restrições de capacidade nos bins. Assume-se, sem perda de generalidade, que os objetos j estejam ordenados em ordem não crescente de peso (w 1 w 2... w n ) e que os bins i estejam ordenados em ordem não decrescente de tamanho (b 1 b 2... b m ); adicionalmente, assume-se ainda que w n b m e que o número de bins m seja suficientemente elevado a fim de assegurar a viabilidade do problema. Assim, a formulação matemática do VSBPP pode ser escrita da seguinte forma: Minimizar: sujeito a: m i= 1 n j = 1 w f i y i j x ij b y i i (1) para i = 1,..., m (2) XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1157

m x ij i= 1 = 1 para j = 1,..., n (3) y i e x ij, binários para todo i e j (4) onde y i indica se o bin i é utilizado e x ij se o item j é alocado/designado ao bin i ou não. A função objetivo (1) busca minimizar o custo total dos bins utilizados. As restrições (2) asseguram que a capacidade de cada bin utilizado não seja violada, enquanto que as restrições (3) impõem que cada objeto j seja alocado a exatamente um bin. Já as restrições (4) asseguram a integralidade das variáveis de decisão. O VSBPP é NP-hard, uma vez que se reduz ao BPP no caso particular em que todos os bins são idênticos, que é NP-hard (Garey e Johnson, 1979). Para o BPP, diversas heurísticas têm sido propostas para a sua resolução. As mais populares são as que os objetos são ordenados em ordem não-crescente de peso (w j ) e aplicadas regras para a alocação dos objetos aos bins, tais como first-fit, best-fit ou next-fit (Coffman et al., 1997). Uma boa revisão dos principais trabalhos na literatura para o BPP é apresentada por Scholl (1997), que também propõe um algoritmo exato para a sua resolução. Carvalho (1999) propôs um algoritmo exato baseado em geração de colunas e branch-and-bound. Gupta e Ho (1999) propõem uma heurística construtiva baseada na melhor folga do Bin, denominada minimum bin slack (MBS), com resultados superiores. Fleszar e Hindi (2002) propõem alterações na heurística MBS proposta por Gupta e Ho (1999), possibilitando encontrar resultados melhores com tempos computacionais menores; adicionalmente é também proposto um algoritmo baseado em VNS (variable neighborhood search). Motivados pela sua aplicação em problemas de distribuição física, no trabalho de Cunha et al. (2008) foram propostas três heurísticas para a solução desse problema: duas baseadas em GRASP e uma baseada em Busca em Vizinhança Variável (VNS). Experimentos computacionais realizados usando problemas benchmark evidenciaram que as três heurísticas, que são simples e facilmente implementáveis, fornecem resultados de boa qualidade em tempos de processamento reduzidos, possibilitando a sua aplicação a problemas práticos em logística Já no caso do VSBPP, a literatura é bem mais restrita, e só mais recentemente esta generalização do problema clássico passou a atrair a atenção dos pesquisadores. Segundo Zhang (1997) as heurísticas clássicas para o BPP não fornecem bons resultados. O trabalho de Friesen e Langston (1986) é um dos pioneiros sobre o VSBPP definindo bounds e apontando a direção de pesquisas futuras com a utilização de heurísticas. Burkard e Zhang (1997) e Kang e Park (2003) propõem algoritmos aplicados ao problema de VSBPP e determinam o desempenho no pior caso dos algoritmos para casos específicos. Correia, Gouveia e Saldanha-da-Gama (2006) utilizam uma reformulação do modelo de otimização discreta para sua solução. Mais recentemente, Haouari e Serairi (2009) analisam o desempenho empírico de seis heurísticas baseadas em otimização em conjuntos de dados randomicamente gerados, evidenciando o sucesso da heurística baseada em cobertura de conjunto ( set covering ). 3. Heurísticas baseadas em Algoritmos Genéticos Em linhas gerais, a metaheurística denominada Algoritmo Genético (AG) corresponde a uma heurística populacional baseada no conceito de evolução das espécies. Os algoritmos genéticos fazem parte da classe de algoritmos denominados algoritmos populacionais. Segundo Beasley (1999), pertencem a uma classe geral de algoritmos de busca probabilística inteligente, que se baseiam no processo evolucionário de organismos biológicos na natureza, ou seja, no tratamento de uma população de soluções, e na combinação destas entre si, de tal forma a gerar novas soluções. Em linhas gerais, algoritmos genéticos trabalham com um grupo (ou população) de soluções. Cada indivíduo é representado por um cromossomo, que armazena as informações genéticas. Os cromossomos são compostos por genes, os quais são responsáveis pelas características dos seres e são trocados ou transmitidos durante o processo de reprodução. A cada iteração, indivíduos da população são selecionados para reprodução, sendo os mais aptos transmitidos para a geração seguinte e os demais menos aptos simplesmente eliminados de acordo com o princípio darwiniano de seleção natural e sobrevivência do mais forte. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1158

A Figura 1 apresenta o pseudo-código para o AG. Esta heurística exige que a solução do problema seja representada por meio de um cromossomo, o qual vai representar um indivíduo no processo. Estes indivíduos são então cruzados entre si, dando origem aos indivíduos filhos. Na nova população são escolhidos os melhores indivíduos (cromossomos) conforme sua aptidão, diretamente relacionada à função objetivo do problema. Uma vez atribuída as aptidões para os indivíduos, são então selecionados os melhores que serão os pais da próxima geração. A mutação tem a finalidade de assegurar variabilidade na nova população. procedimento ALGORITMO_GENETICO(); início Read_Input() Geração da População Inicial; enquanto critério de parada não é atingido Cruzamento e geração dos indivíduos filhos; Mutação da população; Pais Seleção dos melhores indivíduos da População; Retorna melhor indivíduo da população de acordo com função objetivo fim; Figura 1: Pseudo-código do Algoritmo Genético Foram propostas duas heurísticas baseadas em AG para o VSBPP, descritas a seguir. 3.1. Heurística AG1 Na heurística AG1 o algoritmo genético é usado para dividir o problema em subproblemas do tipo BPP, que são resolvidos de forma independente. Assim, um cromossomo indica o tipo/tamanho do bin atribuído a cada item. Para tanto, os m bins são divididos em dois ou mais tipos ou grupos de bins de mesmo tamanho/capacidade e custo. Na prática das aplicações reais que motivam a resolução do VSBPP no âmbito do presente trabalho, os veículos disponíveis (que correspondem aos bins) podem ser divididos em dois ou mais tipos ou tamanhos; por exemplo, veículos do tipo leve, médio e pesado, com capacidades e custos distintos. A fim de ilustrar esse idéia, considere-se, por exemplo, os seguintes itens a serem carregados (identificados de A a I) e seus respectivos pesos: A (20); B (70); C (80); D (10); E (30); F (80); G (40); H (70) e I (90). Considerem-se ainda três tipos/tamanhos de veículos disponíveis: leve (1), médio (2) e pesado (3). Assim, a representação de um possível indivíduo para o AG1 seria: 2; 3; 2; 1; 2; 3; 3; 1; 2, indicando o tipo/tamanho de veículo alocado a cada item. Ou seja, o item A seria alocado em um veículo do tipo 2, o item B em um veículo do tipo 3, o item C em um veículo do tipo 2, e assim por diante. Para cada indivíduo da população, em que fica definido o tipo/tamanho de bin atribuído a cada item j, é aplicada heurística best-fit decrease (BFD) a fim de determinar o menor número de veículos daquele tipo necessários para atender todos os itens para os quais o AG designou bins daquele tipo/tamanho. A heurística BFD (Coffman et al., 1997), em que os itens em ordem decrescente de tamanho são alocados no veículo em que existe um menor espaço disponível para o mesmo, foi escolhida em virtude de fornecer bons resultados em tempos de processamento bastante reduzidos. Deve-se ressaltar que na heurística AG1, o algoritmo genético tem por função separar os itens alocados a cada tipo/tamanho de veículo. Assim, para cada novo indivíduo gerado, a heurística BFD é aplicada para solucionar cada subproblema correspondente a um tipo de veículo; no caso do nosso exemplo acima, a heurística BFD seria aplicada três vezes: para encontrar a solução para os itens D e H, alocados a veículos do tipo 1; idem para os itens A, C, E e I, alocados a veículos do tipo 2; e itens B, F e G alocados a veículos do tipo 3. A população inicial é gerada de maneira aleatória, ou seja, para cada indivíduo é sorteado aleatoriamente o tipo de veículo atribuído a cada um dos objetos. A aptidão dos indivíduos corresponde ao custo total dos veículos alocados, com base nos resultados da aplicação da heurística BFD. Foi usado o método da roleta para a seleção de indivíduos para cruzamento, XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1159

sendo a probabilidade de escolha proporcional à sua aptidão. Inicialmente foi definido cruzamento em um único ponto a fim de combinar dois indivíduos selecionados; posteriormente verificou-se que o cruzamento em múltiplos pontos proporcionava melhores resultados, uma vez que aumentava a probabilidade de troca de informações dos extremos do cromossomo. 3.2. Heurística AG2 A heurística AG2 foi inspirada nos resultados do processamento da heurística AG1. Em particular, notou-se que, para algumas instâncias, na melhor solução havia uma predominância da utilização de um tipo/tamanho de veículo, em geral aquele de melhor relação (f i / b i ). Verificou-se ainda que o AG1 demorava a convergir, e que o perfil da frota na melhor solução obtida era muito dependente do tamanho da população e do número total de gerações. Observou-se ainda que um dos fatores que levava a essa convergência lenta era a população inicial gerada aleatoriamente, e de qualidade muito ruim. Assim, modificou-se, no AG2, a forma de geração da população inicial, que passou a ser gerada de forma que tivéssemos uma população heterogênea (com todos os tipos de bins), mas com indivíduos homogêneos (apenas um tipo de Bin por indivíduo). Abaixo um exemplo desta população: Indivíduo 1 1; 1; 1; 1; 1; 1; 1; 1; 1; 1 Indivíduo 4 2; 2; 2; 2; 2; 2; 2; 2; 2; 2 Indivíduo 2 1; 1; 1; 1; 1; 1; 1; 1; 1; 1 Indivíduo 5 3; 3; 3; 3; 3; 3; 3; 3; 3; 3 Indivíduo 3 2; 2; 2; 2; 2; 2; 2; 2; 2; 2 Indivíduo 6 3; 3; 3; 3; 3; 3; 3; 3; 3; 3 Com isso, esperava-se iniciar o problema já partindo do pressuposto que a solução ótima contempla apenas um tipo de veículo, aquele de melhor relação (f i / b i ), mas ainda com a possibilidade de termos diversificação ao longo das iterações. Adicionalmente, nas gerações iniciais, todos os indivíduos têm igual probabilidade de serem selecionados para cruzamento. Isso foi feito a fim de se avaliar o potencial de estimular o cruzamento entre indivíduos que apesar de terem uma aptidão baixa, poderiam ser interessantes para transmitir características desejáveis para gerar indivíduos de boa qualidade nas gerações futuras. Apenas da metade para frente do número total de gerações (que corresponde ao critério de parada), é considerada a aptidão de cada indivíduo na seleção através do método da roleta. 4. Heurística populacional híbrida Uma heurística populacional híbrida, denominada AGSS, foi proposta para a solução do VSBPP, e que utiliza conceitos de tipos de heurísticas conhecidas, como AG, Scatter Search (SS) e busca local para melhoria de cada um dos indivíduos. De acordo com Laguna e Martí, (2003), o scatter search, à semelhança dos algoritmos genéticos, corresponde a um algoritmo evolucionário, na medida em que em ambos um conjunto de soluções (população) é gerado, mantido e evolui. O scatter search opera sobre um conjunto de soluções chamado conjunto de referência, combinando estas soluções para criar novas soluções, de modo a melhorar a solução original. Um gerador de permutações, cujo foco é a diversificação e não a qualidade das soluções geradas, é usado no início da busca para construir um conjunto de soluções diversas. Um método de melhoria é então aplicado às soluções, a fim de se obter um conjunto de soluções viáveis de razoável qualidade, e também diversidade. Mais especificamente, a heurística AGSS não é uma heurística de SS e sim uma heurística populacional baseada em AG com mecanismos de SS que asseguram a diversificação de soluções. Adicionalmente, o AGSS também engloba um mecanismo de busca local aplicado a cada novo indivíduo gerado, como num algoritmo genético híbrido, também conhecido na literatura como algoritmo memético (Moscato, 1989). Como no AG, a heurística AGSS considera população composta de muitos indivíduos, e operadores de cruzamento e mutação, com esquema probabilístico para seleção dos pais para cruzamento. Por outro lado, utiliza conceitos do SS no mecanismo de evolução, buscando assegurar diversidade da população. A heurística AGSS é dividida em três partes principais, que são gerenciadas de acordo com o fluxo de processos indicado na Figura 2, cujo pseudocódigo é detalhado na Figura 3: - Geração de Indivíduos - Iterações de geração de novos indivíduos XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1160

- Funções de melhoria de soluções Cada um desses processos é detalhado a seguir. 4.1. Criação de Indivíduos Tendo em vista ser uma heurística populacional, um fator importante é a criação da população inicial. Ela deve ter uma variabilidade, que possibilite que o as soluções não convirjam muito rapidamente para um ponto de ótimo local. Mas, além disso, ela tem de apresentar soluções com uma qualidade razoável para facilitar o direcionamento à solução ótima. Foram utilizadas três formas principais de construções das soluções iniciais, as quais são descritas a seguir. Leitura de dados FFD com cada tipo de veículos para definição de número total de bins Criação de soluções Iniciais aleatórias e semialeatórias Viabilização e Definição de Qualidade Sim N rodadas sem melhoria > 47? Não Criação de Novas Soluções a partir das Existentes segundo critérios Viabilização e Definição de Qualidade N N rodadas sem melhora > > 3? 2? Não Sim Aplicação de Procedimentos de Melhoria Definição da Nova População Não N rodadas sem melhora > 50? Sim Finalizao o Processo e Mostra os Resultados Figura 2 Fluxo dos processos da Heurística AGSS Procedimento AGSSDR início Definição de dados e parâmetros iniciais; Criação de Indivíduos; n 0; n2 0; enquanto (n2 < 50) faça enquanto (n < 3) faça Avalia qualidade das soluções; Seleciona quais são as soluções pais; se (houve alterações em alguma das soluções pais) faça n=0; Gera novas soluções; n n + 1; Aplica melhoria em todas as soluções; Define qualidade das soluções; se (foi encontrada solução melhor que a melhor anterior) faça Atualiza melhor solução; n2 0; n2 n2 + 1; fim Figura 3: Pseudo-código da heurística AGSS XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1161

4.1.1. FFD1 O método FFD1 para obtenção das soluções iniciais consiste numa adaptação da heurística first-fit decrease (FFD) (Martello e Toth, 1990) para o problema BPP, em que os bins são homogêneos. Ela consiste em tentar inserir uma dada entrega ao primeiro veículo, no segundo veículo, e assim por diante, de modo que a restrição de capacidade seja respeitada. Um novo veículo é adicionado caso a uma dada entrega não possa ser alocada a nenhum dos veículos anteriormente selecionados em função da restrição de capacidade. Isso equivale a designar cada um dos objetos, seqüencialmente em ordem decrescente de peso w j, ao bin de menor capacidade ociosa que ainda o comporte. A diferença para o problema com bins homogêneos consiste em sortear aleatoriamente o tipo de veículo cada vez que se torna necessário adicionar um novo veículo. 4.1.2. FFD2 O método FFD2 para obtenção das soluções iniciais difere do anterior na medida em que inicialmente é selecionado aleatoriamente um tipo/tamanho de bin, percorrendo-se toda a lista de objetos ainda não atribuídos a um bin, em ordem decrescente de peso w j, e alocados ao bin corrente se a sua capacidade não for violada. Após serem percorridos e testados todos os objetos, e se houver ainda um ou mais objetos não alocado, é sorteado um novo tipo/tamanho de bin, tentando-se alocar esses objetos remanescentes, em ordem, de forma análoga ao FFD1. Nos experimentos realizados o método FFD2 proporcionou, em geral, soluções com melhor qualidade do que o FFD1, porém não apresentou tanta variabilidade, característica desejável para uma heurística populacional, em que a diversidade de soluções permite gerar soluções combinadas de melhor qualidade. Assim, optou-se por utilizar os dois métodos concomitantemente. 4.1.3. Soluções aleatórias, ponderadas pelo volume disponível Foi também utilizado um método de criação de soluções totalmente aleatórias, onde os objetos são alocados aleatoriamente aos bins, com probabilidade proporcional à sua capacidade. A quantidade de soluções iniciais geradas depende de cada problema. Quando o número de objetos do problema proposto é menor que 100, a população de indivíduos é de 100. Quando, o número de objetos for maior, a população é igual ao número de objetos. 4.2. Iterações para Geração de Novos Indivíduos 4.2.1. Seleção de indivíduos O procedimento para a seleção de indivíduos baseia-se nos princípios de Algoritmos Genéticos, embora tenham sido utilizadas algumas idéias normalmente presentes na heurística Scatter Search. Inicialmente todas as soluções são ordenadas, segundo um critério de qualidade baseado em uma medida de custo, dada pela soma, para todos os bins utilizados, da seguinte s 2 f, onde s i corresponde à folga de capacidade do bin i e f i ao custo fixo do bin i. expressão: ( i ) i A folga s i pode ser obtida através da seguinte expressão: si = bi j = w j x 1 ij. Essa medida de qualidade das soluções baseia-se no princípio de que maiores sobras de capacidade s i dos bins permite melhoria das soluções. Adicionalmente, essa medida foi utilizada para a identificação e eliminação de soluções idênticas ou iguais, sem necessidade de comparação de todos os objetos um a um, evitando-se assim a duplicidade de soluções no conjunto de soluções, que poderiam levar à convergência prematura a ótimos locais. Seguindo os princípios do Scatter Search, o procedimento para geração de novos indivíduos também considerou a variabilidade/diversidade como fator importante; para tanto são selecionadas para fazer parte do conjunto de soluções de referência aquelas que diferiam ao máximo das outras soluções, selecionadas anteriormente. Isso é feito com base em uma medida de diversidade que leva em conta, para cada indivíduo não selecionado para compor as soluções de elite, uma contagem do número total de bins utilizados que não se encontram nas soluções de elite. Por exemplo, para uma dada solução candidata a diversa, em que os bins 7 e 19 são utilizados, e eles não aparecem, respectivamente, em 5 e 10 das soluções de elite, o grau de n XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1162

diversidade dessa solução é 15. Os indivíduos são ordenados em ordem crescente, e os com grau de diferenciação menor são selecionados como indivíduos mais diferentes dos até então selecionados. 4.2.2. Geração de novos indivíduos Tendo em vista a ordenação dos objetos em ordem decrescente de peso w j, optou-se por utilizar um operador de cruzamento em múltiplos pontos, para a combinação de indivíduos da população e geração de novos indivíduos. Para distribuir os pontos de corte, os vetores solução foram divididos em 5 intervalos iguais. Para cada parte, um número randômico é gerado e um ponto de corte é alocado neste intervalo. Dessa forma, garantem-se cruzamentos com grande variabilidade, sem a interferência da ordenação dos objetos. Para o critério de seleção das soluções que geram outras soluções, inicialmente foi definido o critério de escolha de roleta, com a probabilidade de seleção da solução era inversamente proporcional ao seu custo (quanto melhor a solução, mais chances de ser escolhida). Esse critério tinha o intuito de simular uma seleção natural, onde os melhores indivíduos têm mais chances de gerar descendentes. Entretanto, durante a realização dos experimentos computacionais, verificouse que as soluções apresentavam melhores soluções quando a probabilidade de escolha da solução era proporcional ao seu custo, isto é, quanto pior era a solução, mais chances ela tinha de ser escolhida. Este fato mostrou mais uma vez a importância da diversidade no algoritmo. 4.3. Procedimento de Melhoria de Soluções Optou-se por aplicar o procedimento de melhoria a todos os indivíduos gerados. Isso se deve ao fato de que mesmo soluções de baixa qualidade têm potencial de se tornarem boas soluções, uma vez que o procedimento de melhoria baseado em trocas é iterativo, e repetido até que não seja mais possível a troca de nenhum outro objeto. Mais especificamente, o procedimento de melhoria de soluções baseia-se na eliminação do bin de menor ocupação (medida em peso), identificando possíveis trocas de objetos com os outros bins, a fim de que o tamanho médio dos objetos do bin sendo examinado diminua, e assim seja possível encaixar seus objetos em outros bins, esvaziando-o. Inicialmente seleciona-se o bin com menor peso total alocado. Os objetos alocados a este bin são ordenados em ordem decrescente de peso, com a finalidade de se buscar remover primeiro os objetos mais difíceis, em virtude do peso, e assim reduzir o peso médio dos objetos alocados. Os objetos do bin selecionado são percorridos nessa ordem, testando-se sua inserção nos demais bins considerando-se a primeira inserção viável em ordem crescente de folga; dessa forma, busca-se alocar o objeto maior (mais difícil) no bin onde haverá a menor folga possível. O procedimento é repetido para todos os objetos do bin selecionado, em ordem. Caso não se encontre um bin para inserção de um dado objeto, o mesmo permanece no bin original, sendo então ativada a segunda parte do algoritmo de melhoria, onde na mesma ordem, são testadas trocas do maior objeto do bin mais vazio (i.e., com menos peso) com objetos menores dos outros bins. Nessa fase, quando uma troca é realizada, o peso médio dos objetos do bin mais vazio diminui, e os objetos são reordenados. O processo de teste de alocação então recomeça. Quando todos os objetos do bin com menor peso puderem ser retirados, e o mesmo esvaziado, o procedimento recomeça com o próximo bin com menor peso total alocado. Esse procedimento de melhoria é repetido, enquanto forem possíveis trocas ou alocações desse tipo. Os experimentos computacionais realizados indicaram que este procedimento de melhoria de soluções é efetivo, sendo verificadas melhorias significativas na qualidade das soluções que foram obtidas com o processo de cruzamento e geração de novos indivíduos. 5. Experimentos Computacionais As três heurísticas propostas foram codificadas em C++ e avaliadas em um PC Pentium IV com clock de 2,8 GHz e 512 MB de memória RAM. Os experimentos computacionais realizados compreenderam instâncias de teste derivadas de instâncias da literatura e a análise comparativa utilizando ferramenta computacional de mercado. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1163

5.1. Resultados das heurísticas para as instâncias de testes Para a sua avaliação foram geradas novas instâncias derivadas das instâncias benchmark do BPP disponíveis na OR Library (http://people.brunel.ac.uk/~mastjjb/jeb/orlib/binpackinfo.html), originalmente propostas por Falkenauer (1994) para o BPP, em que os bins são idênticos, e que haviam sido utilizadas para teste por Cunha et al. (2008). A diferença básica das novas instâncias foi a geração de mais dois tipos/tamanhos de bins além do de capacidade igual a 150, considerada pelo autor. Tomando por base o tamanho de bin correspondente à capacidade igual a 150 conforme proposto por Falkenauer (1994), e atribuindo um custo de 1000, foram criados mais dois tipos de bins da seguinte forma: um tipo de bin com capacidade 30% inferior (105) e custo 20% inferior (800) e um tipo de bin com capacidade 30% superior (195) e custo 20% superior (1200). Dessa forma, o bin de maior tamanho é o que apresenta o menor custo por unidade de capacidade, tal como ocorre na prática onde veículos maiores são os de menor custo unitário. As instâncias estão divididas em dois grandes grupos. O primeiro grupo compreende 80 instâncias em que os itens têm pesos variando entre 20 e 100 seguindo uma distribuição uniforme. Esse grupo está dividido em quatro classes, segundo o número de objetos (n = 120, 250, 500, 1000), com 20 instâncias cada, identificadas por U_120, U_250, U_500 e U_1000, respectivamente. Os resultados são apresentados na Tabela 1, divididos por grupo de instância. Para cada grupo é indicado o número de instâncias e o peso total. Para cada heurística é indicado o custo total de cada grupo de instâncias, o custo unitário obtido (Custo/Peso) e o desvio em relação ao menor custo teórico que poderia ser obtido por cada uma das instâncias (Lower Bound). Este custo (LB) foi obtido multiplicando o peso total de cada uma das instâncias pelo menor custo min unitário considerando os três veículos utilizados, ou seja: ( i i ) j = i f b n 1 w j. O menor custo unitário é atribuído ao veículo maior, com custo unitário de 6,15, enquanto o veículo do tipo médio possui custo unitário de 6,67 e o veículo do tipo grande 7,52. Não foi possível obter as soluções ótimas nem mesmo para as instâncias menores, com 120 itens, utilizando o ILOG/CPLEX. Instância nº inst. Peso Total Tabela 1 - Melhores resultados para as três heurísticas avaliadas Custo Total AG1 AG2 Scatter Search Custo Unitário % Acima Custo % Acima Custo do LB Custo Total Unitário do LB Custo Total Unitário % Acima do LB U_120 20 145.370 936.600 6,44 4,70% 918.400 6,32 2,66% 924.800 6,36 3,38% 894.585 U_250 20 303.223 1.945.800 6,42 4,28% 1.903.400 6,28 2,00% 1.913.600 6,31 2,55% 1.865.988 U_500 20 601.906 3.872.400 6,43 4,55% 3.773.000 6,27 1,86% 3.788.400 6,29 2,28% 3.704.037 U_1000 20 1.200.019 7.762.200 6,47 5,11% 7.515.000 6,26 1,76% 7.545.200 6,29 2,17% 7.384.732 TOTAL 80 2.250.518 14.517.000 6,45 4,82% 14.109.800 6,27 1,88% 14.172.000 6,30 2,33% 13.849.342 Os resultados da Tabela 1 indicam que os melhores resultados foram obtidos pela heurística AG2 para todas as instâncias de teste, com desvio de 1,88% em relação ao Lower Bound do total das instâncias avaliadas. A heurística SSAG obteve também um bom desempenho, com desvio de apenas 2,33% em relação ao Lower Bound total. Para as instâncias U_120, após mais de uma hora de processamento, o CPLEX havia consumido toda a memória total RAM (2GB), e o gap entre a melhor solução ótima solução estava acima de 2%, o que dá uma indicação da qualidade das soluções obtidas. Deve-se destacar que não existem na literatura outros resultados para essas novas instâncias com bins de tamanhos variados. A Tabela 2 mostra os custos e os tempos de processamento dos grupos de instância para cada uma das heurísticas propostas. O campo Desvio Tempo corresponde ao desvio em relação ao melhor tempo de cada uma das instâncias avaliadas. Os resultados da Tabela 2 indicam que a heurística AGSS obteve os melhores tempos de processamento nas três primeiras instâncias e no tempo total. As heurísticas AG1 e AG2 obtiveram melhores tempos de processamento no grupo de instâncias U_1000. LB XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1164

Tabela 2 Custos e tempos de processamento para as três heurísticas avaliadas AG1 AG2 Scatter Search Instância N. de Tempo Desvio Tempo Desvio Tempo Desvio Custo Custo Custo Instâncias (s) Tempo (%) (s) Tempo (%) (s) Tempo (%) U_120 20 936.600 297 516,96% 918.400 309 541,78% 924.800 48 0,00% U_250 20 1.945.800 627 273,34% 1.903.400 656 290,94% 1.913.600 168 0,00% U_500 20 3.872.400 1.245 85,78% 3.773.000 1.298 93,66% 3.788.400 670 0,00% U_1000 20 7.762.200 2.506 0,00% 7.515.000 2.544 1,52% 7.545.200 3.775 50,61% TOTAL 80 14.517.000 4.675 0,30% 14.109.800 4.807 3,14% 14.172.000 4.661 0,00% 5.2. Análise comparativa dos resultados com uma ferramenta de mercado. Como mencionado anteriormente, o problema de bin packing, onde se deseja determinar a melhor alocação de itens de forma a minimizar o número de bins surge em problemas reais de distribuição física onde se deseja determinar a menor frota para atender pedidos para um determinado destino. Assim, foi feita uma avaliação comparativa do desempenho das heurísticas aqui propostas com uma ferramenta líder de mercado em roteirização, que por razões de sigilo não poderá ser identificada e nomeada neste trabalho, para os cinco primeiros problemas da primeira classe de instâncias (U_120). Foram cadastrados no roteirizador os três tipos de veículos com as mesmas capacidades e custos. Por limitações da licença do programa quanto ao porte dos problemas que podem ser resolvidos, foram considerados apenas os cinco primeiros problemas da primeira instância (U_120). A Tabela 3 apresenta os resultados obtidos pelo roteirizador comparado com os resultados obtidos pelas heurísticas para os problemas analisados. Tabela 3 Análise comparativa com ferramenta de mercado AG1 AG2 Scatter Search Roteirizador Instância Peso Custo Desvio (%) Custo Desvio (%) Custo Desvio (%) Custo Desvio (%) U120_00 7,078 45,800 2.23% 44,800 0.00% 45,200 0.89% 45,200 0.89% U120_01 7,205 46,400 2.65% 45,400 0.44% 45,600 0.88% 45,200 0.00% U120_02 6,794 43,800 2.34% 42,800 0.00% 43,200 0.93% 42,800 0.00% U120_03 7,285 47,200 2.61% 46,000 0.00% 46,400 0.87% 46,400 0.87% U120_04 7,354 47,200 2.16% 46,200 0.00% 46,800 1.30% 46,400 0.43% TOTAL 35,716 230,400 2.31% 225,200 0.09% 227,200 0.89% 226,000 0.36% Como se pode verificar na tabela acima, os melhores resultados das heurísticas ficaram igual, ou melhor (por uma pequena diferença), do roteirizador com exceção apenas da instância U120_01, onde a melhor heurística ficou com custo 0,44% superior ao do roteirizador. Vale lembrar que o roteirizador trata problemas muito mais complexos que a alocação de pedidos com a mesma origem e destino, e que por isso não deve ser questionado para este problema em específico, mas serve para mostrar que os resultados obtidos por meio das heurísticas mostraramse satisfatórios. 6. Conclusões e Recomendações Este trabalho abordou o problema de bin-packing com bins heterogêneos (VSBPP) no contexto logístico da distribuição de produtos, motivado pela necessidade de otimizar o agrupamento de entregas nos veículos de modo a reduzir a frota necessária e o custo com o frete pago aos transportadores. Trata-se de um problema ainda pouco estudado na literatura, ao contrário do problema com bins idênticos. Foram propostas três heurísticas simples e fáceis de implementar, sendo duas baseadas em algoritmos genéticos e uma heurística populacional híbrida, baseada em algoritmo genético, scatter search e busca local. Para a avaliação das heurísticas foram consideradas instâncias de teste derivadas de instâncias benchmark da literatura para o BPP, adaptadas para o VSBPP. Também foi feita uma comparação com os resultados de uma ferramenta de roteirização de mercado. Os resultados indicam que as heurísticas apresentaram boas soluções, destacando-se a AG2 em termos de qualidade das soluções, A codificação das três heurísticas permite o seu uso em ambientes XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1165

empresariais, até mesmo integradas em soluções desktop em linguagem VBA de forma integradas com planilhas eletrônicas. Inúmeras são as possíveis extensões para a continuidade desta pesquisa, tendo em vista o número reduzido de trabalhos na literatura, incluindo a investigação de novos métodos de solução e a aplicação e validação dos métodos propostos a problemas reais que envolveram o agrupamento de cargas no contexto da distribuição física de produtos. Referências Beasley, J. E. (1999). Population Heuristics. The Management School, Imperial College, London. Békési J., Galambos G. e Kellerer H. (2000), A 5/4 linear time Bin-Packing Algorithm, Journal of Computer and System Sciences, 60, 145-160. Burkard, R.E., Zhang, (1997), Bounded space on-line variable-sized bin packing. Acta Cybernetica 13, 63-76. Carvalho, J.M.V. (1999), Exact solutions of bin-packing problems using column generation and branch-and-bound, Annals of Operations Research, 86, 629-659. Coffman, E.G., Garey e M.R., Johnson, D.S. (1997) Approximation algorithm for bin-packing: a survey. In: Hochbaum D (eds) Approximation algorithm for NP-hard problems. PWS Publishing, Boston, 46 93. Correia, I., Gouveia, L. e Saldanha-da-Gama, F. (2008), Solving the variable size bin packing problem with discretized formulations. Computers & Operations Research, 35, 2103-2113. Cunha, C. B, Mainieri, G., Yoshizaki, H. T. Y., Maluta, L., Henriques, L.R.S. (2008) Heurísticas para o Problema de Bin-Packing no Contexto da Distribuição Física de Produtos. In: XL SBPO - 40o Simpósio Brasileiro de Pesquisa Operacional, 2008, João Pessoa. Anais (CD-ROM) p. 712-723. Dyckhoff, H. (1990), A typology of cutting and packing problems. European Journal of Operational Research, 44, 145-159. Eilon, S. e Chrisfofides, N. (1971), The loading problem, Management Science, 17, 259-268. Fleszar, K. e Hindi, K.S. (2002), New Heuristics for one-dimensional bin-packing, Computers and Operations Research, 29, 821-839. Friesen, D.K. e Langston, M.A. (1986), Variable-sized bin packing. SIAM J. Comput. 15, 222 230. Garey, M.R. e Johnson, D.S. (1979) Computers and intractability: a guide to the theory of NPcompleteness. W. H. Freeman, San Francisco Gehring, H., Menschner M. e Meyer, M. (1990), A computer-based heuristic for the packing pooled shipment containers, European Journal of Operational Research, 44, 277-288. Gupta, J.N.D. e Ho, J.C. (1999), A new heuristic algorithm for the one-dimensional bin-packing problem. Production Planning & Control, 10, 598 603. Haouari, M., Serairi, M. (2009), Heuristics, for the variable sized bin-packing problem, Computers and Operations Research, 36, 2877-2884. Hoto, R., Arenales, M. e Maculan, N. (2007), The one dimensional Compartimentalized Knapsack Problem: A case study. European Journal of Operational Research 183, 1183-1195. Kang, J., Park, S. (2003), Algorithms for the Variable Sized Bin-packing Problem, European Journal of Operation Research, 147, 365-372. Laguna, M. e Martí, R. (2003). Scatter Search: Methodology and Implementations in C, Kluwer Academic Publishers: Boston Marques, F. P. e Arenales, M. N. (2007). The constrained compartimentalized knapsack problem. Computers and Operations Research, 34, 2109-2129. Martello, S. e Toth, P. (1990), Knapsack problems: algorithms and computer implementations Wiley, Chichester, UK. Miura, M. (2008) Modelagem heurística no problema de distribuição de cargas fracionadas de cimento. Dissertação de Mestrado. Escola Politécnica da USP, São Paulo. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1166

Moscato, P. 1989. On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts: Towards Memetic Algorithms. Caltech Concurrent Computation Program, C3P Report 826. Scholl, A., Klein, R. e Jürgens, C. (1997), BISON: a fast hybrid procedure for exactly solving the one-dimensional bin-packing problem. Computers & Operations Research, 24(7), 627-645. Singh, A. e Gupta, A. K. (2006), Two heuristics for the one-dimensional bin-packing problem, OR Spectrum, 29 (4): 765-781. Sinha, K.C e Kaji T., Liu, C.C. (1981), Optimal allocation of funds for highway safety improvement projects. Transportation Research Record, 808, 24-30. Schwerin, P. e Wascher, G. (1997), The bin-packing problem: A problem generator and some numerical experiments with FFD packing and MTP, Int. Transp. Opl. Res., 4 (5/6), 377 389. Zhang, G. (1997), A New Version of On-line Variable-sized Bin-packing, Discrete Applied Mathematics, 72, 193-197. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 1167