Acessibilidade / Reportar erro

Sistema de apoio à decisão para a otimização da roteirização da separação manual de peças em armazém utilizando planilhas eletrônicas

The order-picking routing problem for low-level order picker in a warehouse

Resumos

O presente trabalho trata do problema da determinação de rota de separação manual de peças em armazéns que minimize a distância total percorrida pelo separador. O problema abordado é prático e comum a várias empresas, com impacto nos custos operacionais e relevância para a assertividade em relação aos itens coletados. Ainda assim, o tema é pouco explorado nos estudos de roteirização disponíveis em língua portuguesa e muitas empresas optam por confiar nas rotas criadas empiricamente pelos separadores. O método de roteirização proposto é baseado em programação dinâmica e foi implementado em ambiente de planilha eletrônica. O algoritmo utilizado como método de solução é eficiente, flexível e genérico para ser utilizado em armazéns com dois corredores transversais, independente da política de localização ou separação adotada e, por sua facilidade de implementação e utilização, representa uma alternativa de roteirização eficiente e de baixo custo para pequenas e médias empresas.

Logística; Roteirização; Armazéns; Separação


This work deals with the problem of finding the route that minimizes the total distance traveled by individuals working in the picking process in a warehouse. This problem is practical and common to several companies impacting their operational costs, and it is relevant for reducing miss-picking. Despite its importance, this issue has been little explored in the scientific literature in Portuguese, and thus many companies still rely on their picking personnel to subjectively determine the best routes to be followed. We propose a solution algorithm based on dynamic programming, which was implemented in spreadsheet environment. It is flexible and generic thus allowing its use in any warehouse with two traverse corridors, independent of the localization policy or separation strategy adopted. Furthermore, due to its easy implementation and utilization, this algorithm represents an efficient low cost routing alternative for small and average size companies.

Logistics; Routing; Warehousing; Picking


Antonio Carlos Bonassa; Claudio Barbieri da Cunha

Programa de Mestrado em Engenharia de Sistemas Logísticos, Escola Politécnica, Universidade de São Paulo - USP, CP 61584, CEP 05424-970, São Paulo - SP, Brasil, E-mails: antonio_bonassa@yahoo.com; cbcunha@usp.br

RESUMO

O presente trabalho trata do problema da determinação de rota de separação manual de peças em armazéns que minimize a distância total percorrida pelo separador. O problema abordado é prático e comum a várias empresas, com impacto nos custos operacionais e relevância para a assertividade em relação aos itens coletados. Ainda assim, o tema é pouco explorado nos estudos de roteirização disponíveis em língua portuguesa e muitas empresas optam por confiar nas rotas criadas empiricamente pelos separadores. O método de roteirização proposto é baseado em programação dinâmica e foi implementado em ambiente de planilha eletrônica. O algoritmo utilizado como método de solução é eficiente, flexível e genérico para ser utilizado em armazéns com dois corredores transversais, independente da política de localização ou separação adotada e, por sua facilidade de implementação e utilização, representa uma alternativa de roteirização eficiente e de baixo custo para pequenas e médias empresas.

Palavras-chave: Logística. Roteirização. Armazéns. Separação.

ABSTRACT

This work deals with the problem of finding the route that minimizes the total distance traveled by individuals working in the picking process in a warehouse. This problem is practical and common to several companies impacting their operational costs, and it is relevant for reducing miss-picking. Despite its importance, this issue has been little explored in the scientific literature in Portuguese, and thus many companies still rely on their picking personnel to subjectively determine the best routes to be followed. We propose a solution algorithm based on dynamic programming, which was implemented in spreadsheet environment. It is flexible and generic thus allowing its use in any warehouse with two traverse corridors, independent of the localization policy or separation strategy adopted. Furthermore, due to its easy implementation and utilization, this algorithm represents an efficient low cost routing alternative for small and average size companies.

Keywords: Logistics. Routing. Warehousing. Picking.

1 Introdução

Este artigo aborda um problema real de roteirização da coleta (também conhecido como picking) ou separação manual de peças, isto é, utilizando pessoas percorrendo a pé os corredores paralelos de um armazém destinado à estocagem de peças e componentes (denominados genericamente de itens ou partes) a fim de suprir as necessidades de linhas de produção. A solução proposta tem por finalidade diminuir o tempo necessário à coleta de cada pedido de separação mediante a minimização do comprimento da respectiva rota de separação a ser percorrida, proporcionando assim redução no tempo gasto no processo de separação.

Mais especificamente, trata-se de um problema real de uma empresa de manufatura de equipamentos médicos de alta tecnologia. Os equipamentos produzidos são utilizados em unidades de tratamento intensivo (UTI) de hospitais públicos e particulares de todo o País. Os processos da manufatura integram peças, transformando-as em produtos intermediários, os quais são agrupados para formar o produto final. O almoxarifado da empresa é dedicado ao armazenamento e à separação de componentes para suprir as necessidades das linhas de produção. As peças necessárias à montagem de cada um dos diferentes subsistemas do produto final devem ser coletadas de suas localizações de armazenamento, agrupadas e entregues separadamente à linha de produção.

Os produtos montados na manufatura da empresa chegam a ter mais de 500 diferentes componentes, em sua maioria, pequenos (vários componentes têm volume menor que 10 cm3), frágeis (muitos deles são feitos de alumínio), com alta precisão de encaixe e alguns utilizados em diferentes partes do mesmo produto final, o qual segue rígida sequência de montagem. Assim, uma mesma peça pode ser utilizada em mais de um nível de montagem e em vários subconjuntos da estrutura do produto.

Visando evitar que os montadores necessitem reorganizar as peças recebidas do almoxarifado de acordo com o Produto Intermediário (PI) que irão produzir, os separadores coletam as peças observando a estrutura do produto, formando conjuntos de peças de acordo com os produtos intermediários ao qual pertençam. O resultado do processo de separação é composto de vários conjuntos de peças, cada um referente a um subconjunto, produto intermediário do produto final, que devem ser coletadas de suas localizações de armazenamento, agrupadas e entregues separadamente à linha de produção. Não pode haver mistura de peças pertencentes a diferentes subsistemas.

Tal situação pode ser encontrada em outras indústrias, principalmente naquelas em que existem subsistemas complexos na estrutura do produto, como por exemplo, na montagem dos subsistemas de um avião. Outras indústrias, como a farmacêutica, podem ser obrigadas a utilizar a coleta por pedido de cliente, gerando uma situação análoga à da separação de peças por subsistemas.

O armazém apresenta dois corredores transversais, um em cada uma de suas extremidades. Os corredores transversais conectam todos os corredores de separação, os quais são perpendiculares aos transversais e paralelos entre si.

O problema de determinação do melhor roteiro de coleta em armazéns pode ser visto como um caso particular do tradicional Problema do Caixeiro Viajante (PCV). Segundo Cunha, Bonasser e Abrahão (2002), o PCV pertence à categoria conhecida como NP-difícil (do inglês NP-hard), o que significa que possui ordem de complexidade exponencial. Em outras palavras, o esforço computacional para a sua resolução cresce exponencialmente com o tamanho do problema (dado pelo número de pontos a serem visitados).

Diferentemente do PCV, em que o caixeiro pode se deslocar a qualquer ponto ainda não visitado, no caso da coleta em armazéns, a configuração paralela dos corredores de armazenamento naturalmente leva a que, no trajeto mais curto, durante a coleta, os corredores de separação sejam percorridos de maneira sequencial, de uma extremidade à outra do armazém. Assim, depois da última coleta em um corredor j qualquer, o conjunto de pontos candidatos a ser imediatamente visitado na sequência é definido pelo corredor seguinte onde há itens a serem coletados, e não por todos os demais pontos ainda não visitados. Dessa forma, o menor número de possíveis destinos candidatos diminui as possibilidades de combinações para a formação de rotas e, consequentemente, a complexidade intrínseca do problema em comparação com o PCV. A solução apresentada para o problema baseia-se em um eficiente algoritmo de programação dinâmica proposto por Roodbergen (2001), o qual analisa as rotas mais curtas para alcançar cada corredor intermediário, permitindo descartar as opções de maior distância percorrida. Esse algoritmo, inspirado no trabalho de Ratliff e Rosenthal (1983), possibilita encontrar a solução eficiente em tempos de processamento reduzidos.

É também descrito um Sistema de Apoio à Decisão (SAD), em ambiente de planilha Excel, utilizando-se VBA, cujo núcleo central é o algoritmo proposto. O mesmo pode ser parametrizado de acordo com as características de leiaute e da operação específica para a qual as rotas serão programadas.

Trata-se de um tema relevante, embora relativamente pouco estudado na literatura, principalmente no Brasil, apesar da importância prática da otimização dos processos de picking e separação para a eficiência e lucratividade das operações das empresas.

Este artigo está organizado da seguinte forma: a próxima seção apresenta a revisão bibliográfica, com foco no problema da roteirização da separação manual de partes, produtos ou peças em armazém de matéria-prima. Na sequência, são apresentados a caracterização detalhada do problema, o algoritmo de solução proposto, os resultados da sua aplicação prática, os experimentos computacionais realizados e as considerações finais.

2 Revisão bibliográfica

A roteirização da viagem de coleta dos separadores foi dissociada do clássico problema do caixeiro viajante quando Ratliff e Rosenthal (1983) desenvolveram um algoritmo eficaz, baseado em programação dinâmica, subdividindo o problema de roteirização em partes menores e, consequentemente, diminuindo a complexidade do método de solução. Segundo os autores, o problema de separação em armazéns retangulares, com corredores paralelos e interligados por dois corredores transversais nas suas extremidades, pode ser modelado por meio de sua representação em grafo. Dessa forma, a coleta de itens num determinado corredor pode resultar em seis diferentes subgrafos, os quais representam seis diferentes sub-rotas de coleta passando por todos os seus vértices. A rota final é formada pela união dos subgrafos de menor distância utilizados em cada corredor, conectados de forma a manter as características de um subgrafo equivalente e encontrar o caminho mais curto possível. Segundo Cornuéjols, Fonlupt e Naddef (1985), a solução de Ratliff e Rosenthal (1983) é eficiente para resolver o problema da roteirização da separação para problemas em armazéns retangulares com até dois corredores de transição, um frontal e outro traseiro, como é o caso do problema aqui tratado.

Petersen II (1997) comparou o comprimento das rotas criadas por cinco políticas de roteirização com o resultado obtido pelo algoritmo desenvolvido por Ratliff e Rosenthal (1983) para a formação das rotas de coletas em armazém com alocação randômica dos itens, com diferentes localizações para o ponto início e para o ponto de término da rota, e diferentes tamanhos de listas de separação. As cinco políticas de roteirização consideradas por esse autor são Passagem, Retorno, Maior Distância, Ponto Médio e Composta. Estas políticas de roteirização atuam como padrões ou regras pré-determinadas de direção de movimentação dos separadores. Em outras palavras, essas políticas pré-definem o comportamento do separador em cada corredor; por exemplo, na política de Passagem o separador deve percorrer um corredor com localizações a serem visitadas de um extremo ao outro, jamais saindo de um corredor pelo qual houver entrado.

O autor conclui que a utilização da estratégia de roteirização Composta gera rotas, em média, 8,9% maiores daquelas obtidas pelo algoritmo de Ratliff e Rosenthal (1983) e, quando a estratégia de Retorno é utilizada, as rotas são 41,1% maiores em comparação com as geradas pelo algoritmo considerado como base de comparação. O estudo também mostrou que quanto maior o número de itens a serem coletados, melhor será o desempenho das heurísticas que utilizam a política de roteirização de Passagem. Para todos os algoritmos utilizados, armazéns mais profundos que largos apresentam rotas mais curtas que armazéns mais largos que profundos.

De Koster e Poort (1998) avaliaram o desempenho de uma variante do algoritmo de Ratliff e Rosenthal (1983) em relação ao desempenho da política de roteirização de Passagem. O algoritmo de De Koster e Poort (1998) cria novas opções de conexão entre dois corredores, sempre mantendo as características necessárias e suficientes para a formação de subgrafos equivalentes. Os resultados mostram que o aumento na concentração de itens por corredor diminui a vantagem da utilização do algoritmo estendido de Ratliff e Rosenthal (1983) sobre o algoritmo de Passagem. Tal situação se dá pelo fato de maiores concentrações de itens em um mesmo corredor aumentarem o benefício de atravessá-lo totalmente.

Roodbergen (2001) propôs um algoritmo eficiente, baseado no trabalho de Ratliff e Rosenthal (1983), para a coleta manual em armazéns com até três corredores transversais.

Já Hwang, Oh e Lee (2004) apresentam um estudo comparativo das políticas de roteirização de Retorno, de Passagem e do Ponto Médio, analisando seus impactos em processos manuais de separação de itens em armazém com política de localização baseada no quociente espaço/ordens. Três estratégias para se localizar os itens de acordo com a relação espaço/ordens foram detalhadas por Caron et al. (1998). Segundo os autores, na estratégia Frontal os itens com menor quociente são endereçados nas localizações mais próximas do extremo frontal dos corredores de separação; na Central, esses itens são endereçados nas localizações pertencentes aos corredores centrais do armazém; já na Extremo, os itens com menor quociente são endereçados nas localizações mais próximas dos extremos dos corredores de separação.

Sobre o formato do armazém, os autores concluem que armazéns com largura da área de armazenagem igual à metade de sua profundidade apresentam rotas mais curtas de separação; ratificando a conclusão encontrada por Petersen II (1997). Os autores também verificaram a tendência de diminuição da distância da viagem quanto maior for a concentração de um mesmo item em diversas ordens de separação; isto se deve ao fato de que a armazenagem baseada em espaço/ordens leva a armazenar os itens nas localizações mais próximas do ponto de início/término da rota.

As influências de outros fatores na decisão de roteirização foram estudadas por Caron, Marchet e Perego (1998), que apresentam solução para o problema da roteirização da coleta manual de peças em armazém com corredores de separação paralelos aos corredores de transição, e por Vaughan e Petersen II (1999), que analisam o impacto da adição de corredores transversais na distância da rota de separação de peças em armazém com alocação randômica dos itens. As implicações da consolidação de ordens em uma única viagem de separação foram analisadas por De Koster, van der Poort e Wolters (1999), que utilizam o conceito de separar enquanto coleta (tradução livre do termo sorting while picking em língua inglesa).

Em síntese, podem-se classificar as estratégias de solução encontradas na literatura em dois grupos, dependendo se as regras de movimentação do separador são pré-determinadas ou não. No primeiro grupo, encontram-se as heurísticas baseadas em estratégias fixas, como, por exemplo, a de Passagem e a de Maior Distância (PETERSEN II, 1997; CARON; MARCHET; PEREGO, 1998; DE KOSTER E POORT, 1998; HWANG; OH; LEE, 2004), em que o percurso do separador em cada corredor já está determinado a priori. Se por um lado esse tipo de abordagem apresenta a vantagem da lógica de deslocamento em cada corredor ser mais facilmente entendida pelo separador, por outro lado esta abordagem depende da política de armazenamento adotada, não traçando as melhores rotas quando existir grande variedade no tamanho e na dispersão das coletas entre as localizações de armazenamento. Essa característica é reflexo do fato de cada política de roteirização se adequar melhor a uma específica situação de concentração na localização dos itens a coletar ou específica política de armazenagem.

O segundo grupo de soluções é aquele formado por heurísticas que não pré-determinam o caminho do separador, montando a rota corredor a corredor, sem a necessidade de testar todos os possíveis sequenciamentos de vértices. As heurísticas deste grupo se utilizam de alguma abordagem baseada em programação dinâmica.

3 Caracterização do problema

O problema tratado neste trabalho corresponde à determinação de um roteiro de separação manual de peças em armazéns que minimize a distância total percorrida pelo separador. Trata-se de um caso real de uma empresa de manufatura de equipamentos médicos de alta tecnologia. Os equipamentos produzidos pela empresa são utilizados em Unidades de Tratamento Intensivo (UTI) de hospitais públicos e particulares de todo o País. Os processos da manufatura integram peças, transformando-as em produtos intermediários, os quais são agrupados para formar o produto final. Os produtos finais são compostos por três tipos de subsistemas ou subconjuntos: o mecânico, o hidráulico e o elétrico. Todos os subconjuntos são formados por grande variedade de pequenas peças, as quais devem ser montadas numa específica e obrigatória sequência. Esse processo de montagem apresenta alta complexidade e o agrupamento das peças separadas no almoxarifado influencia na produtividade das linhas de produção. O conjunto de peças necessárias à montagem de cada um dos diferentes subsistemas do produto deve ser entregue separadamente à linha de produção, para que os montadores não necessitem, antes de iniciar o processo de montagem, separá-las de acordo com o subsistema a que pertencem.

No problema de roteirização da separação de peças proposto, a política de separação adotada é a de coletar individualmente cada conjunto de peças pertencentes a cada subsistema do produto. Nesse problema abordado, não existe no almoxarifado nenhuma lógica de separação com o objetivo de obter rotas mais curtas para a coleta dos itens necessários à produção. Os separadores determinam, empiricamente, a rota para cada lista de coleta que recebem.

Como mostrado no leiaute esquemático da Figura 1, o armazém objeto do estudo possui 9,5 m de profundidade e 13 m de largura, e é composto por n = 8 corredores de separação formados por 15 prateleiras nomeadas da direita para a esquerda, de A até O. A distância entre dois corredores paralelos de coleta é de 168 cm.


Os números apresentados na parte interna dos retângulos, representando esquematicamente as secções de prateleiras, indicam os endereços de armazenamento alocados para a respectiva estante.

Os corredores do armazém são estreitos, permitindo ao separador, caminhando pela linha formada pelos pontos médios de sua largura, alcançar as duas faces de armazenamento, sem necessidade de movimentação lateral (ou transversal) significativa dentro desse corredor. A coleta das peças, as quais apresentam baixo peso e volume, pode ser feita manualmente, sem o auxílio de equipamentos motorizados. Os componentes estão acondicionados em caixas de papelão, estocadas em prateleiras, cuja altura máxima de armazenamento em relação ao solo, 214 cm, permite ao separador alcançar todas as localizações de armazenamento sem o auxílio de escadas ou outros equipamentos de separação.

Quanto à regra de endereçamento, todos os endereços das localizações começam com a letra que representa a face de corredor onde a localização se encontra. Uma ordem numérica segue-se às letras, indicando a sequência em que o item está armazenado naquela determinada face de corredor. As localizações de armazenamento são dedicadas; logo, cada item tem sua localização fixa e, em cada endereço de armazenamento, somente aquele determinado item pode ser armazenado. O diferente espaço de prateleira destinado a cada peça no estoque influencia o número de localizações existentes em cada face de corredor, variando de 55 (prateleira A) até 178 (prateleira C). Nesse armazém não há corredores transversais intermediários comunicando corredores paralelos de separação; os dois corredores transversais encontram-se na região frontal à área de armazenagem e nos fundos do armazém; adicionalmente, o ponto de início e término da rota de separação é único e localiza-se no ponto central da região frontal da área de armazenamento, como mostrado na Figura 1.

O separador recebe a lista de peças num ponto fixo de início de rotas e deve visitar todas as localizações, na ordem/sequência por ele determinada, coletando as quantidades necessárias para então depositá-las no ponto de término de rota. Cada conjunto de peças separadas para a produção de um determinado produto é apenas uma fração do conjunto total de peças estocadas no armazém. Dentro do armazém estão estocadas todas as peças utilizadas em todos os produtos fabricados pela empresa. No processo de coleta destas peças, o separador deve visitar somente as localizações de armazenamento para as quais há demanda. Mais especificamente, para o produto selecionado como exemplo de aplicação, existem 34 listas de peças, correspondentes aos 34 subconjuntos do produto final, cada uma contendo entre 1 e 49 itens a serem separados, resultando em 34 rotas de separação distintas.

Os subconjuntos são montados em células de produção as quais recebem os insumos (componentes da estrutura do produto) diretamente do almoxarifado. Posteriormente, os subconjuntos montados são enviados às células de integração, para a montagem do produto final, após o que são enviados para o teste de desempenho.

Por fim, deve-se notar que o armazém sob análise tem número par de corredores, evitando que o separador cruze duas vezes o último corredor quando a última peça da lista de coleta estiver localizada na parte traseira do último corredor a ser visitado.

4. Estratégia de solução

A estratégia de solução proposta para o problema de roteirização da separação manual de peças objeto deste trabalho baseia-se no trabalho de Roodbergen (2001), o qual se utilizou de programação dinâmica para desenvolver um algoritmo de solução aplicável a armazéns retangulares com até três corredores transversais. Esse algoritmo apresenta como principais virtudes a facilidade de compreensão e a flexibilidade de aplicação em armazéns com diferentes larguras, comprimentos e números de corredores, possibilitando a sua implementação diretamente em planilhas eletrônicas Excel, o que o torna uma opção de baixo custo para empresas com poucos recursos para investir nessa operação; adicionalmente, o tempo de resolução cresce linearmente em relação ao número de corredores e de localizações de separação adicionadas.

Como visto anteriormente, o problema de roteirização da separação manual de peças em um armazém pode ser genericamente modelado como um problema de caixeiro viajante, em que se deseja encontrar a sequência de coleta, visitando todos os pontos em que existam itens a serem separados, que minimize a distância total percorrida. Entretanto, a forma como os armazéns estão organizados diferencia este problema da roteirização da coleta em armazéns do PCV. A organização dos armazéns, com corredores de separação paralelos e interligados por corredores transversais, leva a uma sequência de percurso em que os corredores de separação com pontos de coleta são visitados sequencialmente, em ordem, de uma extremidade a outra do armazém.

A fim de minimizar a distância total percorrida, na sequência ótima de coleta para o armazém da Figura 1, os corredores de armazenamento são visitados em ordem, de um extremo a outro, da esquerda para a direita (de 1 a 8), ou vice-versa, indistintamente, dado que as distâncias percorridas independem do sentido de percurso e não há restrições ou impedimentos de movimentos e nem de sentidos de percurso.

Dessa forma, o algoritmo baseado em programação dinâmica de Roodbergen (2001) analisa as combinações de sub-roteiros parciais, sequencialmente, corredor a corredor, a partir do primeiro corredor de separação onde há itens a coletar, ou seja, aquele situado mais à esquerda do armazém. Assume-se que o ponto de início e o ponto de término da rota são um ponto único, e que está localizado no centro da região frontal aos corredores de separação. Isso decorre do fato de, para armazéns com corredores estreitos e separação manual de itens, Petersen II (1997) ter verificado que a localização central de um único ponto de início e término da rota de separação resulta em viagens com distâncias mais curtas do que quando tal ponto estiver localizado em um dos extremos da região localizada à frente da área de armazenamento.

Para a solução do problema, define-se um grafo para representar o problema em que os nós aj e bj correspondem, respectivamente, aos pontos extremos traseiro e frontal de cada um dos corredores transversais de coleta j; o nó I/T representa o ponto de início e término da rota, localizado no centro da região frontal aos corredores de separação, enquanto que os nós v1, v2, v3,...., vn denotam os n locais de coleta do roteiro a ser determinado, iniciando e terminando em I/T. Definem-se ainda arcos (aj, aj+1) e (bj, bj+1) interligando pontos extremos de corredores consecutivos j e j+1. Para corredores j, nos quais não há itens a serem coletados, criam-se arcos de ligação bidirecionais (aj, bj), indicando que o corredor j é atravessado de um extremo a outro; já para os corredores j com um ou mais locais de coleta a serem visitados, criam-se arcos bidirecionais interligando esses locais de coleta aos dois pontos extremos do corredor. A Figura 2 ilustra a construção do grafo para um problema com cinco pontos de coleta (nós v1 a v5). As indicações das distâncias encontram-se nos arcos, que representam possíveis percursos para visitar os locais de coleta, podendo ser percorridos mais de uma vez, em qualquer sentido; a distância adicionada pela utilização do arco é a mesma, independente do sentido no qual ele é percorrido.


Existem duas maneiras de o separador se deslocar do corredor j para o corredor j+1: pelo corredor transversal traseiro, que corresponde ao arco (aj, aj+1); e pelo corredor transversal frontal, que corresponde ao arco (bj, bj+1). Da mesma forma, existem três modos de se coletar os itens em um corredor j qualquer: percorrendo todo o corredor de uma extremidade a outra, ou seja, de aj a bj, ou vice-versa; entrando e saindo do corredor pela extremidade frontal (bj) e entrando e saindo do corredor pela extremidade traseira (aj). Os corredores intemediários, sem nenhum item a ser coletado, não necessitam ser visitados, entretanto seus pontos extremos (aj e bj) podem fazer parte da rota como vértices de passagem. Segundo a lógica do algoritmo, a sub-rota do último corredor (mais à direita), onde há locais de coleta, deve, obrigatoriamente, terminar no seu extremo frontal, adicionando-se então a distância total desse ponto até o ponto I/T, finalizando a rotina.

A Figura 3 ilustra uma rota de coleta para o problema mostrado na Figura 2. Parte-se do ponto I/T para o extremo frontal do corredor de separação 1 (b1), visitando o primeiro local de coleta no corredor 1 (v1) e retornando ao extremo frontal desse corredor; em seguida percorre-se o corredor transversal frontal até o corredor de separação 3 (b3), para visita ao segundo local de coleta (v2), retornando pelo mesmo caminho; na sequência é percorrido o corredor de separação 4 até local de coleta 3 (v3) e daí até o seu final, atingindo o extremo traseiro do corredor de separação 4 (a4), e assim sucessivamente até retornar ao ponto I/T, depois de cruzar integralmente o corredor 6, do seu extremo traseiro (a6) até o extremo frontal (b6), passando pelo local de coleta 5 (v5). A distância total dessa rota é 45,3 m.


O algoritmo de programação dinâmica para a determinação do roteiro de menor distância para a separação manual de peças pode ser formalizado como segue:

4.1 Passo 1

Inicia-se no corredor localizado mais à esquerda em relação ao ponto I/T para o qual houver demanda, com a inicialização das duas possíveis sub-rotas, cada uma terminando em uma de suas extremidades, e calculando-se as respectivas distâncias percorridas. Assumindo-se que o corredor 1 tenha um ou mais locais de coleta, uma das possíveis sub-rotas, denominada 1, terminará em a1, com distância total percorrida d(1), enquanto a outra (Lb1) terminará em b1, com distância total percorrida d(Lb1).

Caso exista um só corredor com itens a serem coletados (ou seja, j=n=1) adiciona-se às sub-rotas 1 e Lb1 a distância necessária para se retornar a I/T, finalizando o processo de roteirização com a escolha entre as duas sub-rotas, da rota com menor distância total percorrida.

Caso exista mais de um corredor com itens a serem coletados, inicia-se o Passo 2.

4.2 Passo 2

São expandidas para o corredor j as duas sub-rotas parciais do corredor j-1, j-1 e Lbj-1, considerando-se as possibilidades de percurso, conforme descrito anteriormente:

Caso não haja pontos de coleta no corredor j, o separador vai do corredor j-1 para o corredor j, sem entrar no corredor j. Nesse caso atualizam-se as distâncias acumuladas até aj e bj, dadas por d(j) e d(Lbj), respectivamente, simplesmente somando-se a distâncias dos arcos (aj-1, aj) e (bj-1, bj).

Caso existam um ou mais pontos de coleta no corredor j, são analisadas as duas alternativas de percurso a partir de cada uma das extremidades de chegada, aj e bj: (i) percorrer todo o corredor j de uma extremidade à outra, ou então (ii) percorrer todos os pontos de coleta, retornando à mesma extremidade por onde entrou no corredor j. Deve-se notar que cada alternativa de início de percurso no corredor j-1 (aj-1 e bj-1) pode formar duas rotas: uma resultante do atravessamento do corredor j e a outra do retorno ao ponto extremo de entrada, após terem sidos visitados todos os pontos de coleta. Em outras palavras, cada novo corredor analisado pode resultar em até quatro novas sub-rotas, duas do tipo j, com término em aj, e duas do tipo Lbj, com término em bj, sendo selecionada a de menor distância de cada tipo (uma para cada extremidade do corredor j) e descartada a outra.

Repete-se o Passo 2 até que tenham sido visitados, em ordem, todos os corredores j para os quais existe demanda de coleta.

4.3 Passo 3

Após o último corredor j (isto é, j=n) ter sido visitado, adiciona-se a cada uma das sub-rotas j e Lbj a respectiva distância necessária para se retornar a I/T, finalizando o processo de roteirização, com a escolha entre as duas sub-rotas, da rota com menor distância total percorrida. Escolhe-se como solução do problema a rota com menor comprimento total.

O Quadro 1 detalha a sequência de construção das sub-rotas do algoritmo proposto, corredor a corredor, para o problema apresentado na Figura 2, enquanto que no Quadro 2 são indicadas as melhores sub-rotas para cada extremidade.



A melhor rota para o exemplo em questão corresponde à sequência I/T' → b1'→ v1'→ b1'→ b2'→ b3'→ v2'→ b3'→ b4'→ v3'→ a4'→ a5'→ v4'→ a5'→ a6'→ v5'→ b6'→I/T¸ com distância total de 45,30 m e representada na Figura 3.

5 Implementação computacional

O algoritmo proposto foi implementado em ambiente de planilha Excel, utilizando-se o VBA como linguagem de programação. Conforme mencionado anteriormente, decidiu-se pela utilização de planilhas Excel tendo em vista ser esta ferramenta já utilizada por empresas de menor porte, aumentando as possibilidades da utilização do algoritmo proposto em situações reais de separação manual de produtos.

A fim de facilitar o uso do aplicativo para diferentes armazéns com configurações de leiaute diversas, optou-se por implementar o algoritmo integrado a um Sistema de Apoio à Decisão (SAD). Conforme apontam Seref et al. (2007), modelos de apoio à decisão, em particular os baseados em técnicas de Pesquisa Operacional, requerem interfaces gráficas e amigáveis que não só permitam como também facilitem a interação com os usuários, inclusive aqueles não familiarizados com essas sofisticadas técnicas matemáticas e seus detalhes. Dessa forma, o SAD desenvolvido tem a finalidade de permitir a interação do usuário com o algoritmo proposto, podendo ser parametrizado de acordo com as características de leiaute e da operação específica para a qual as rotas serão criadas, assim como a visualização dos resultados obtidos.

O sistema pode ser adotado para qualquer armazém com até dois corredores transversais, um frontal e outro traseiro. Os corredores de separação devem ser perpendiculares à lateral do armazém que contenha o ponto I/T centralmente localizado no corredor transversal frontal.

Em relação às ordens a serem separadas, admite-se não haver nenhum processo que requeira o agrupamento de ordens antes de suas coletas. Ainda, independente do número de peças a serem separadas, assume-se que o separador tem capacidade para coletar e transportar todas as peças requeridas para completar a rota, sem necessidade de particionamento em duas ou mais sub-rotas. Em cada viagem de coleta, cada separador pode trabalhar somente com uma única lista de separação.

Quando houver mudanças no número de corredores de separação, o sistema ajusta o tamanho do armazém, aumentando ou diminuindo sua largura e profundidade de acordo com o número de corredores adicionados e largura de prateleira definidos pelo usuário na parametrização. Ainda em relação aos corredores, a largura é considerada como suficiente para que o separador realize as coletas, em prateleiras opostas, sem necessidade de deslocamento lateral; o separador sempre irá se deslocar pelo ponto médio da distância entre as prateleiras que delimitam o corredor.

5.1 Configuração dos dados de entrada

Os parâmetros de entrada, tais como a distância entre corredores, a largura dos corredores de separação, o número e o comprimento das prateleiras, a quantidade de itens localizados em cada prateleira, o tamanho das listas de separação e as políticas de armazenamento e de separação são parametrizáveis de acordo com a necessidade da operação sob análise. Como afirmado anteriormente, a flexibilidade na parametrização possibilita o uso do sistema em armazéns com diferentes leiautes, políticas de armazenamento e separação. Todas as parametrizações podem ser feitas pelo usuário do sistema em planilhas do Excel.

A Figura 4 indica os dados relacionados ao leiaute do armazém; mais especificamente, no lado esquerdo da Figura 4, é apresentada a tela de entrada de dados a ser preenchida com a formação dos corredores. Observa-se na coluna Corredor que as faces O e N formam o corredor 1 e sempre o corredor 1 será o primeiro corredor do armazém, mais precisamente o corredor mais à esquerda em relação ao ponto I/T. No lado direito da Figura 4, para cada corredor de coleta criado, deve ser informada a distância de seu extremo frontal até I/T.


Uma vez definido o número de corredores e suas respectivas faces, é necessário indicar o número de prateleiras por face de corredor e o comprimento de cada prateleira (correspondente à distância entre dois possíveis locais de coleta consecutivos vi e vj localizados em um mesmo corredor). Como se pode notar, na Figura 5, para a face O, oito prateleiras foram criadas, todas na coluna Prateleira.


Na coluna Prateleira da Figura 5, pode-se notar que, enquanto a sequência O é formada por oito prateleiras de armazenamento, enumeradas de 1 a 8, a sequência N é formada por apenas 5, numeradas de 4 até 8. Esta diferenciação entre faces de mesmo corredor existe para adequar o método de solução aos problemas reais encontrados. Nesse exemplo, como aconteceu no armazém objeto de estudo deste trabalho, uma das sequências de prateleiras é 3 unidades mais curta que a outra.

No mesmo formulário apresentado na Figura 5, é necessário informar quais endereços estão contidos em cada uma das prateleiras. A coluna Primeiro determina o primeiro endereço, e a coluna Último determina o último endereço de armazenamento contido na correspondente prateleira. Desta forma, é possível determinar números de posições de armazenamento diferentes para cada prateleira.

A configuração do leiaute do armazém termina quando o operador informa o comprimento da prateleira de armazenamento, que corresponde à distância entre dois locais de coleta (vi e vj) consecutivos em um mesmo corredor, como mostrado na Figura 6.


Concluída a configuração do leiaute do armazém, deve-se então cadastrar as estruturas dos produtos ou as listas de peças a serem separadas. Na Figura 7, seis diferentes listas de coletas, referentes a seis diferentes subprodutos, foram informadas, como se pode observar nas linhas 4 e 5 da planilha representada nessa figura. O sistema tratará cada lista de coleta como uma rota diferente.


A Figura 8 mostra a tela utilizada para o endereçamento dos itens nas localizações disponíveis no armazém. A linha 1 apresenta o endereço do item LA12300312, alocado na face de coleta O e endereço de número 13. O item LA12300312 é o primeiro da lista de peças que compõe o produto LA24300050, informado na célula B5 da Figura 7. Pode-se notar na Figura 8 que o sistema indica o número total de itens endereçados no armazém, neste exemplo igual a 180 itens.


De acordo com sua parametrização, o sistema proposto pode ser utilizado para três objetivos:

  • Roteirizar coletas de subconjuntos de produto em armazém existente, porém parametrizáveis às necessidades do usuário.

  • Roteirizar as coletas de grupos aleatórios de peças (simulando um conjunto de peças a ser direcionado à assistência técnica).

  • Roteirizar as listas de separação cadastradas num novo armazém, flexível em relação ao número de corredores, número de bandejas por prateleira e dimensões, simulando aumentos na área de armazenagem da empresa.

Tem-se assim, a descrição da flexibilidade do algoritmo também em relação a sua aplicação. Independente da necessidade do usuário, a lógica adotada pelo sistema para a roteirização das coletas será a mesma. A Figura 9 mostra um exemplo de parametrização para cada uma das três opções citadas. A tela mostrada na Figura 9 se refere àquela utilizada para a programação de múltiplas execuções de um determinado conjunto de parâmetros quando se tem como objetivo, por exemplo, sortear diversos conjuntos diferentes de peças a serem coletadas num mesmo leiaute de armazém ou diversos diferentes tamanhos de armazéns.


6 Verificação e experimentos computacionais

O algoritmo proposto foi aplicado à separação manual de peças do armazém de matérias-primas de uma manufatura descrito na Seção 3, cujas principais características são sumarizadas no Quadro 3. Mais especificamente, foram consideradas as 34 listas de separação que compõem um dos produtos da empresa. As características do leiaute do armazém do problema apresentado foram coletadas no próprio armazém, por meio da medição das distâncias e dos comprimentos, como, por exemplo, o comprimento das prateleiras de armazenamento. Os endereços de armazenamento das peças foram os mesmos das tabelas de dados do sistema ERP utilizado pela empresa e as listas de separação foram formadas a partir da estrutura do produto.


A fim de avaliar as rotas criadas pelo algoritmo e medir sua efetividade, procedeu-se à comparação dos resultados obtidos com as rotas realizadas pelos próprios separadores em seu dia a dia de trabalho, considerando os 34 subconjuntos do produto final, os quais resultam em 34 rotas de separação. Optou-se por este método de avaliação por não ter sido possível encontrar, durante a revisão bibliográfica, resultados práticos e comparáveis da utilização deste algoritmo em situações que pudessem ser, ao menos, semelhantes ao problema original tratado neste trabalho.

Dois separadores foram selecionados e, para cada um deles, foi entregue um conjunto de 34 mapas, cada um referente a um subconjunto do produto final, no qual deveria desenhar a rota por ele percorrida durante a coleta de cada grupo de peças.

O separador 1 coletou os itens percorrendo rotas em média 2% mais longas que as traçadas pelo algoritmo, enquanto, para o separador 2, essa média foi de 3%. Nas comparações de distância total percorrida, algoritmo versus separador, não foram consideradas as rotas em que o separador não coletou todos os itens necessários, algo mais frequente do que se supunha originalmente.

Para rotas mais complexas, com 5 ou mais corredores de separação a serem visitados, o algoritmo chega a traçar rotas, em média, até 14% mais eficientes que as traçadas por um separador escolhido ao acaso. Para rotas com 4 ou mais corredores a serem visitados, o algoritmo tem desempenho médio até 6% mais eficiente que um dos separadores roteirizando suas próprias coletas. Para rotas visitando apenas 1 ou 2 corredores, a vantagem da utilização do algoritmo é reduzida para um percentual próximo a 2%, uma vez que a complexidade das rotas é bem menor, e o separador não tem dificuldade para encontrar a melhor sequência.

É necessário ressaltar que mesmo rotas com poucos corredores de separação a serem visitados podem trazer grandes diferenças percentuais a favor do algoritmo. Para separar a lista de número 13, com 3 localizações de armazenamento a serem visitadas num mesmo corredor, a rota traçada pelo separador 2 foi 19% maior que a rota traçada pelo algoritmo.

Tomando-se como exemplo a lista de separação de número 4, comparando as rotas traçadas pelos separadores com a traçada pelo algoritmo, pode-se observar que a complexidade advinda das várias possíveis rotas de coleta influencia a capacidade do separador em decidir qual a sequência que resulta no caminho mais curto a seguir. A Figura 10 indica os detalhes das rotas traçadas pelos separadores para essa viagem de separação; enquanto o separador 1 traçou rota mais longa que o algoritmo, o separador 2 não visitou um dos corredores que deveria ter sido visitado (o corredor L), não coletando na localização assinalada com a letra F, destacada pela seta no mapa representativo da rota.


O resultado da comparação entre as distâncias percorridas por cada um dos separadores e a distância da rota proposta pelo algoritmo para a separação das 34 listas de itens pertencentes ao produto final é apresentado sumariamente na Quadro 4.


A partir dos dados coletados nas 34 listas de separação roteirizadas, comparando o comportamento do comprimento das rotas em relação ao número de itens a coletar, número de vértices visitados e número de corredores visitados, é possível fazer uma análise daqueles que mais influenciam seu comprimento. O Quadro 4 apresenta um sumário comparativo do desempenho dos separadores em relação ao algoritmo.

Além de reduzir a distância média percorrida durante o processo de coleta das peças, a utilização do algoritmo também pode trazer benefícios à qualidade da separação. Um dos separadores não visitou uma localização de armazenamento na rota de número 16, enquanto o outro separador cometeu o mesmo erro em duas ocasiões, rotas 4 e 9. Assim, pode-se dizer que 4,5% das rotas traçadas pelos dois separadores (3 das 68 rotas percorridas) sem o auxílio de um roteirizador tiveram que ser retrabalhadas.

Os resultados obtidos mostram coerência no desempenho do algoritmo em relação ao número de corredores visitados, o qual parece ser a variável com maior influência sobre o comprimento da rota. Ainda, pode se concluir pelos experimentos que, quanto menor for o número de corredores nos quais as coletas estão dispersas, menor será o comprimento da rota.

7 Considerações finais

Os experimentos realizados permitiram verificar a eficiência do algoritmo proposto para o processo de roteirização da separação de peças em armazém com coleta manual, traçando rotas mais curtas ou de mesmo comprimento que aquelas traçadas empiricamente pelos separadores, com base nos seus julgamentos pessoais, sem o auxílio de tal algoritmo. Adicionalmente, pode-se demonstrar que ainda, pode-se dizer que o algoritmo é de grande valia e importância para a roteirização da coleta de peças em armazéns, apresentando-se útil não apenas na redução das distâncias percorridas no processo de coleta, mas também para o aumento da qualidade do processo de separação.

O algoritmo oferece flexibilidade de utilização e facilidade de parametrização, suportando sua aplicação em três grupos de problemas, a saber: os relacionados à estrutura de produto, ao agrupamento aleatório de peças e à variação no leiaute do armazém. Adicionalmente, permite resolver problemas em reduzido tempo de processamento, apresentando boa qualidade de solução, de fácil utilização e, principalmente, com possibilidade de aplicação em problemas mais genéricos, além daqueles relativos à roteirização dos produtos na empresa objeto desta pesquisa.

A implementação em ambiente de planilha Excel, utilizando-se do VBA como ferramenta de programação, possibilita seu uso por empresas de menor porte, aumentando as possibilidades da adoção do algoritmo em situações reais de separação manual de produtos. Adicionalmente, o desenvolvimento do modelo no contexto de um sistema de apoio à decisão proporciona o atendimento de outro objetivo: tornar genérico o sistema desenvolvido, podendo ser parametrizado de acordo com as características de leiaute e da operação específica para a qual as rotas serão criadas. Finalmente, o sistema permite que o usuário prepare os dados em outro programa ou planilha importando, por exemplo, listas de separação já consolidadas ou o endereçamento baseado em alguma política de volume.

Entretanto deve-se ressaltar que erros de coleta observados durante a separação das listas de peças poderão ocorrer. Por exemplo, o fato de a rota criada pelo sistema adicionar responsabilidades ao separador, exigindo atenção ao caminho a seguir, pode eventualmente afetar a sua concentração às localizações a coletar, aumentando a incidência de localizações deixadas de ser visitadas. Deve-se também ponderar que a roteirização prévia das ordens a separar representa uma nova tarefa no fluxo de coleta e seu tempo de execução deve ser considerado. Caso o tempo de processamento se torne excessivo em relação ao tempo de coleta, o processo de preparação das rotas pode se tornar um gargalo.

Como possíveis extensões do presente trabalho, pode-se sugerir estudar o impacto de mudanças no leiaute do armazém como, por exemplo, a inclusão de maior número de corredores de transição ou a influência que restrições na capacidade de carga do separador poderia ter no resultado da roteirização. O problema poderia ser expandido adicionando-se o tempo de procura da peça na localização, tempo para coleta e descarga das peças separadas, formando um cenário mais completo da real operação de separação em armazéns.

Recebido em 8/11/2009 - Aceito em 21/1/2011

Suporte financeiro: Nenhum.

  • CARON, F.; MARCHET, G.; PEREGO, A. Routing policies and COI-based storage policies in picker-to-part systems. International Journal of Production Research, v. 36, n. 3, p. 713-32, 1998.
  • CORNUÉJOLS, G.; FONLUPT, J.; NADDEF, D. The traveling salesman problem on a graph and some related integer polyhedral. Mathematical Programming, v. 33, n. 1, p. 1-27, 1985.
  • CUNHA, C. B. Aspectos práticos da aplicação de modelos de roteirização de veículos a problemas reais. Transportes, v. 8 , n. 2, p. 51-74, 2000.
  • CUNHA, C. B., BONASSER, U. O.; ABRAHÃO, F. T. M. Experimentos computacionais com heurísticas de melhorias para o problema do caixeiro viajante. In: CONGRESSO DE PESQUISA E ENSINO EM TRANSPORTES - ANPET, 26., Natal, RN. Anais.. v. 2, p. 105-117, 2002.
  • DE KOSTER, M. B. M. D.; POORT, E. S. V. D.; wolters, m. Efficient orderbatching methods in warehouses. International Journal of Production Research, v. 37, n. 7, p. 1479-1504, 1999.
  • DE KOSTER, R.; POORT, E. V. D. Routing order pickers in a warehouse: A comparison between optimal and heuristic solutions. IIE Transactions, v. 30, n. 5, p. 469-480, 1998.
  • HWANG, H.; OH, Y. H.; LEE, Y. K. An evaluation of routing policies for order-picking operations in low-level picker-to-part system. International Journal of Production Research, v. 42, n. 18, p. 3873-3889, 2004.
  • PETERSEN II, C. G. An evaluation of order picking routing policies. International Journal of Operations & Production Management, v. 17, n. 11, p. 1098-1111, 1997.
  • RATLIFF, H. D.; ROSENTHAL, A. S. Order picking in a rectangular warehouse: a solvable case of the traveling salesman problem. Operations Research, v. 31, n. 3, p. 507-521, 1983.
  • ROODBERGEN, J. K. Layout and routing methods for warehouses Thesis (Ph.D)-Erasmus University Rotterdam, The Netherlands, 2001.
  • SEREF, M. H.; AHUJA, R.; WINSTON, W. Developing spreadsheet-based decision support systems, Dynamic Ideas, 2007.
  • VAUGHAN, T. S.; PETERSEN, C. G. The effect of warehouse cross aisles on order picking efficiency. International Journal of Production Research, v. 37, n. 4, p. 881-897, 1999.
  • Sistema de apoio à decisão para a otimização da roteirização da separação manual de peças em armazém utilizando planilhas eletrônicas

    The order-picking routing problem for low-level order picker in a warehouse
  • Datas de Publicação

    • Publicação nesta coleção
      25 Abr 2011
    • Data do Fascículo
      2011

    Histórico

    • Recebido
      08 Nov 2009
    • Aceito
      21 Jan 2011
    Universidade Federal de São Carlos Departamento de Engenharia de Produção , Caixa Postal 676 , 13.565-905 São Carlos SP Brazil, Tel.: +55 16 3351 8471 - São Carlos - SP - Brazil
    E-mail: gp@dep.ufscar.br