Proposta de um algoritmo baseado na heurística DROP para o ...

12
Proposta de um algoritmo baseado na heurística DROP para o Problema de Localização de Armazéns Diego Barcelos Rodrigues Maria Cristina Rangel UFES - Universidade Federal do Espírito Santo Departamento de Informática Av. Fernando Ferrari, 514 - Goiabeiras - 29075-910 - Vitória - ES - Brasil [email protected], [email protected] RESUMO O Problema de Localização de Armazéns é um problema de logística que toda grande empresa precisa resolver, pois os custos de localizar, manter armazéns e transportar produtos para clientes interferem no valor de mercado dos produtos. Por se tratar de um problema combinatorial e envolver um grande número de variáveis, torna-se necessário automatizar o processo que encontra uma solução viável de custo mínimo. Com este objetivo propomos uma resolução dividida em três etapas, que primeiramente encontra uma solução inicial através do fechamento dos armazéns menos utilizados que forneçam melhoria no custo total, depois busca a solução ótima com a heurística DROP, e por fim realiza ajustes para substituir armazéns abertos precipitadamente. Para verificar a eficiência da primeira etapa (solução inicial), comparamos os resultados da resolução com as três etapas e outra com as duas últimas etapas. PALAVRAS CHAVE. Heurística; DROP; Problema de Localização: OC - Otimização Com- binatória. ABSTRACT The Warehouse Location Problem is a logistic problem which every company has to solve, because location, management and transportation costs to customers are a direct influence around the products market value. Once it is a combinatorial problem and handle many variables, becomes necessary automate the resolution process to find the great set that gives the minimum cost. So, focusing on this, we propose a resolution process which we firstly find a initial solution through closing of less used warehouse which gives improvement to total cost, then we look for the great solution through DROP heuristic, and at last we make a fix step to replace warehouses hastily opened. To verify how efficient are the first step (initial solution), we compare the three steps resolution process results with the last two steps resolution process results. KEYWORDS. Heuristic; DROP; Location Problem: Main area: Combinatorial Optimiza- tion. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2683

Transcript of Proposta de um algoritmo baseado na heurística DROP para o ...

Page 1: Proposta de um algoritmo baseado na heurística DROP para o ...

Proposta de um algoritmo baseado na heurística DROP para o Problema deLocalização de Armazéns

Diego Barcelos RodriguesMaria Cristina Rangel

UFES - Universidade Federal do Espírito SantoDepartamento de Informática

Av. Fernando Ferrari, 514 - Goiabeiras - 29075-910 - Vitória - ES - [email protected], [email protected]

RESUMO

O Problema de Localização de Armazéns é um problema de logística que toda grandeempresa precisa resolver, pois os custos de localizar, manter armazéns e transportar produtos paraclientes interferem no valor de mercado dos produtos. Por se tratar de um problema combinatorial eenvolver um grande número de variáveis, torna-se necessário automatizar o processo que encontrauma solução viável de custo mínimo. Com este objetivo propomos uma resolução dividida em trêsetapas, que primeiramente encontra uma solução inicial através do fechamento dos armazéns menosutilizados que forneçam melhoria no custo total, depois busca a solução ótima com a heurísticaDROP, e por fim realiza ajustes para substituir armazéns abertos precipitadamente. Para verificar aeficiência da primeira etapa (solução inicial), comparamos os resultados da resolução com as trêsetapas e outra com as duas últimas etapas.

PALAVRAS CHAVE. Heurística; DROP; Problema de Localização: OC - Otimização Com-binatória.

ABSTRACT

The Warehouse Location Problem is a logistic problem which every company has tosolve, because location, management and transportation costs to customers are a direct influencearound the products market value. Once it is a combinatorial problem and handle many variables,becomes necessary automate the resolution process to find the great set that gives the minimumcost. So, focusing on this, we propose a resolution process which we firstly find a initial solutionthrough closing of less used warehouse which gives improvement to total cost, then we look forthe great solution through DROP heuristic, and at last we make a fix step to replace warehouseshastily opened. To verify how efficient are the first step (initial solution), we compare the threesteps resolution process results with the last two steps resolution process results.

KEYWORDS. Heuristic; DROP; Location Problem: Main area: Combinatorial Optimiza-tion.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2683

Page 2: Proposta de um algoritmo baseado na heurística DROP para o ...

1. Introdução

Este trabalho trata o Problema de Localização de Armazéns Capacitado e Não-Capacitado(PLAC e PLANC), que consiste na localização de pontos de oferta (armazéns) de um determinadoproduto que suprem as respectivas demandas de pontos de consumo (consumidores) deste mesmoproduto. O objetivo é minimizar o custo total do problema que é dividido em duas partes: a primeiraé referente ao custo de transporte considerando os pontos de oferta abertos, a segunda é referenteao custo fixo de localização e de manutenção destes pontos de oferta abertos. Tal objetivo deve seralcançado de modo que o número de pontos de oferta abertos supra toda a demanda dos pontos deconsumo.

Quando cada ponto de oferta possui uma capacidade potencial, ou seja, um limite superiorem relação à quantidade de demanda que possa servir, o problema é conhecido comoCapacitatedPlant Location Problem (CPLP)ou Problema de Localização de Armazéns Capacitado. Quando acapacidade é ilimitada, o problema é conhecido como oSimple ou Uncapacitated Plant LocationProblem (SPLP ou UPLP)ou Problema de Localização de Armazéns Não-Capacitado.

Problemas de Localização são combinatoriais por natureza e por isso despendem muitoprocessamento para sua resolução. É difícil explorar todas as soluções viáveis em busca da soluçãoótima para a resolução de problemas de grandes dimensões. Para este fim, apesar da existência dealgoritmos exatos como o primeiro algoritmobranch-and-boundproposto por Efroymson & Ray(1966) para resolução do PLANC, métodos heurísticos são recomendados para obter uma soluçãoviável de boa qualidade em um menor tempo. Mais recentemente, Resende & Werneck (2006),Filho et al. (2005) propõem heurísticas para a resolução do problema alvo deste trabalho obtendobons resultados, tanto em qualidade de solução quanto em tempo computacional.

Segundo Hansen et al. (2007) as origens do problema de localização vêm desde 1909.Porém, foi somente na década de 1960 que o problema foi formulado como é encontrado na litera-tura atualmente. Stollsteimer (1963), Kuehn & Hamburger (1963) e Balinski (1965) são precursoresdessa formulação.

De acordo com Rangel (1991), os primeiros a se dedicarem a métodos heurísticos foramBaumol & Wolfe (1958). Em 1963, a heurística ADD foi criada por Kuehn & Hamburger (1963)para resolver o PLANC. A extensão para a versão capacitada foi feita por Jacobsen (1983). Borns-tein & Matheus (1991) propõem uma heurística baseada em ADD/DROP utilizando um critériode dominância para definição de quais armazéns serão abertos ou fechados. Limites superiorese inferiores são apresentados por Cortinha & Captivo (2003) enriquecendo a literatura sobre esteimportante problema combinatório.

A localização de armazéns, fábricas ou outras instalações (facilidades) é uma decisãoestratégica para a maioria das organizações, uma vez que tem uma influência direta sobre o custo defornecimento de produtos aos clientes. Isto interessa a grandes empresas comoWall-Mart eProctor& Gamble, que chegaram a se unir para lidar eficientemente com o fluxo de produtos e explorar umamelhor coordenação ao longo da cadeia de produção e distribuição Pirkul & Jayaraman (1998).

Neste trabalho propomos uma estratégia de resolução dos Problemas de Localização deArmazéns Capacitado e Não-Capacitado, na qual usamos uma heurística baseada em DROP parafecharmos pontos de oferta. Implementamos dois códigos diferentes para efeito de comparação, quediferenciam entre si por uma etapa que gera uma solução inicial. A comparação tem por objetivomostrar a importância da referida etapa com relação ao tempo de processamento e a qualidadeda solução. Na seção 2 modelamos o Problema de Localização de Armazéns (PLA). Na seção 3apresentamos a proposta de resolução feita neste trabalho, na seção 4 detalhes de implementação e

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2684

Page 3: Proposta de um algoritmo baseado na heurística DROP para o ...

resultados computacionais e, por fim, a conclusão.

2. Formulação do Problema de Localização de Armazéns

ConsideramosI = {1,2,. . . ,m} o conjunto de pontos de oferta (ou armazéns) a seremalocados para atender a demanda do conjuntoJ = {1,2,. . . ,n}de pontos de consumo. Procuramospor um subconjuntoS ⊆ I que atenda a demanda total exigida pelo conjunto de pontos de consumoJ, a um custo total mínimo.

Consideramoscij o custo do transporte por unidade do produto do ponto de ofertai ∈ I aoconsumidorj ∈ J , xij a quantidade de produtos enviados dei paraj, ai a quantidade de produtosarmazenados pori (capacidade do ponto de ofertai) e bj a quantidade de produtos demandados peloconsumidorj. Consideramos ainda um outro custo,Fi, referente ao custo fixo de localização e demanutenção do ponto de ofertai.

A seguir apresentamos o modelo matemático:

Minimizar

i∈S⊆I

j∈J

cij xij +∑

i∈S⊆I

Fi

(1)

Sujeito a

j∈J

xij ≤ ai , i ∈ S⊆ I; (2)

i∈S⊆I

xij = bj , j ∈ J; (3)

xij ≥ 0. (4)

A expressão (1) é a função objetivo do PLA. A expressão (2) representa as restrições decapacidade e nos diz que a quantidade de produtos que saem de uma origem não pode ser maiorque a capacidade desta origem. A expressão (3) representa as restrições de demanda e nos diz quea quantidade de produtos que chega em um destino deve ser igual a demanda do mesmo e (4) sãoas restrições de não-negatividade das variáveis.

Para cada configuração de pontos de oferta abertos/fechados é gerado o respectivo Pro-blema de Transporte (PT) associado. Note que quanto maior o número de pontos de oferta abertosmaior será o custo fixo de localização, porém, menor será o custo do PT associado, pois maiores se-rão as possibilidades de atendimento das demandas. Portanto, uma solução para o PLA deve buscarum equilíbrio entre as parcelas da equação (1).

3. Proposta do Trabalho

A proposta deste trabalho é resolver os problemas PLAC e PLANC através do uso deuma heurística baseada na heurística DROP (veja Feldman et al. (1966) e Bornstein & Matheus(1991) ). Para isto, criamos um procedimento que encontra uma solução inicial, depois submetemosesta solução inicial à heurística DROP e, por fim, corrigimos erros provenientes de fechamentosprecipitados realizados nas etapas anteriores.

O procedimento que encontra a solução inicial proposto neste trabalho, identifica pontosde oferta candidatos a serem fechados. Para isto, utiliza a quantidade total de produtos enviados por

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2685

Page 4: Proposta de um algoritmo baseado na heurística DROP para o ...

cada ponto de oferta para classificar um ponto de oferta como o menos utilizado de acordo com oseguinte critério:

• Critério de classificação de ponto de oferta menos utilizado:

“O ponto de oferta menos utilizado é aquele que possuir a menor quantidade deprodutos enviados aos pontos de demanda.”

Remover o ponto de oferta menos utilizado forneceria um decréscimo na segunda parcelade (1), referente ao custo fixo, de modo que poderia compensar o aumento na primeira, referente aoPT associado.

Assim, removemos os pontos de oferta menos utilizados da solução corrente até que aremoção de um ponto de oferta com tal característica não forneça melhoramento no custo total doproblema. Neste momento passamos a fechar pontos de oferta de acordo com a heurística DROP(4.1.2). Finalmente, passamos a testar a substituição de pontos de oferta na solução corrente porpontos fechados, e na primeira melhoria apresentada efetuamos a troca entre os pontos de oferta.Continuamos o processo até que tenhamos testado a troca de todos os pontos de oferta abertos portodos aqueles fora da solução com as devidas substituições efetuadas.

O critério utilizado para decidir sobre o fechamento de um ponto de oferta está relacionadocom a variação no custo do PT associado e com o custo fixo do ponto de oferta (Bornstein &Matheus (1991)). Se considerarmosT(S)como sendo o custo do PT associado aS ⊆ I e Fi comosendo o custo fixo do ponto de ofertai, estabelecemos o seguinte critério para fechamento:

• Critério de Fechamento (CF):Se(T (S − i)− T (S)) < Fi, então fechamos o ponto de ofertai.

Observando a idéia de resolução supra, podemos dividir o processo de busca pela soluçãoem três etapas. São elas:

1. Fase Inicial: fechamento (segundo o critério de fechamento CF) de pontos de oferta candida-tos a estarem fora da solução ótima. A etapa termina quando a fechamento do ponto de ofertamenos utilizado não resultar em melhoria no custo total do problema;

2. DROP: fechamento de pontos de oferta através da heurística DROP, isto é, fechamento (poriteração) do ponto de oferta segundo o critério de fechamento CF que, ao ser removido dasolução corrente, forneça o menor aumento no PT associado;

3. Fase de Ajuste: verificação da existência de pontos de oferta fechados que produziriam me-lhores resultados se assumissem o lugar de algum ponto de oferta aberto. Caso isso ocorra atroca é efetuada.

Implementamos tais etapas e realizamos uma comparação entre a resolução do PLA atra-vés das três etapas, com a resolução sendo feita apenas através das duas últimas etapas. Com istoverificamos se realmente é vantajoso implementar a primeira etapa das três etapas descritas. Estacomparação é importante para verificarmos a eficiência da primeira etapa (Fase Inicial) propostaneste trabalho, pois esta gera uma solução inicial para a etapa 2 (DROP) do processo de resoluçãodo PLA que é seguida da etapa 3 (Fase de Ajuste).

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2686

Page 5: Proposta de um algoritmo baseado na heurística DROP para o ...

4. Implementação e Resultados Computacionais

4.1. Implementação

Pelo procedimento de resolução proposto neste trabalho ser baseado na heurística DROP,partimos de um subconjuntoS ⊆ I de pontos de oferta abertos igual ao conjuntoI. Utilizamosuma lista (listin) para armazenarmos os pontos de oferta pertencentes a solução corrente (pontos deoferta emS) e uma outra lista (listout) para armazenarmos os pontos de oferta fora desta solução.

A seguir descrevemos cada etapa do processo de resolução proposto.

4.1.1. Primeira etapa – Remoção de armazéns menos utilizados (Fase Inicial)

Nesta etapa fechamos os pontos de oferta que são menos utilizados. Para classificar umponto de oferta como sendo o menos utilizado verificamos a quantidade de produtos enviados portodos os pontos de oferta e selecionamos o que enviou a menor quantidade.

Minimo

j∈J

xij

, i ∈ S ⊆ I. (5)

Reconhecido o ponto de oferta menos utilizado, aplica-se o critério de fechamento CF.Este critério verifica se o fechamento de um ponto de oferta provoca uma melhoria (diminuição)no custo total do PLA. Isto é feito removendo-se delistin tal ponto de oferta, calculando-se o novocusto do problema de transporte e verificando se a diferença entre o novo custo e o valor anterioré menor que o valor do custo fixo do ponto de oferta fechado. Se for verdade, mantemos o pontomenos utilizado, recém fechado, emlistout. Caso contrário, esta etapa da resolução é encerrada e oponto fechado é reaberto, isto é, reinserido emlistin.

Para escrevermos o algoritmo consideresol a variável que armazena a solução do PTassociado,costa variável que armazena o custo corrente deste PT, encostcomo sendo a variávelque armazena o custo da nova configuração sendo testada. Então, segue o algoritmo referente a estaetapa:

Algoritmo 1: Primeira etapa.

[Dados : listin, demands, msup, ndem]1

sol← Transp(listin, demands, msup, ndem)2

cost← Custo(sol)3

i←MenosUtilizado(sol)4

listin← (listin− i)5

sol← Transp(listin, demands, msup, ndem)6

ncost← Custo(sol)7

enquanto(ncost− cost ≤ i.alcost) faça8

// i.alcost é o custo fixo do armazém ilistout← (listout + i)9

cost← ncost10

i←MenosUtilizado(sol)11

listin← (listin− i)12

sol← Transp(listin, demands, msup, ndem)13

ncost← Custo(sol)14

listin← (listin + i)15

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2687

Page 6: Proposta de um algoritmo baseado na heurística DROP para o ...

Ao final desta etapa temos uma solução inicial representada pelos pontos de oferta abertose armazenados emlistin, e uma lista (listout) armazenando os pontos de oferta fechados até omomento. Assim passamos para a próxima etapa, descrita a seguir, na qual utilizamos a heurísticaDROP para buscarmos a solução ótima.

4.1.2. Segunda etapa – Heurística DROP

A cada iteração desta etapa o ponto de oferta que produz o menor aumento no custo doPT associado é fechado (heurística DROP) de acordo com o critério de fechamento CF. O processose encerra quando não houver mais pontos de oferta que ao serem fechados produzam melhoria nocusto total do problema.

A cada iteração desta etapa, o seguinte algoritmo é executado:

Algoritmo 2: Uma iteração da segunda etapa.

[Dados : listin, demands, msup, ndem]1

First(listin) // coloca o apontador corrente (Crr ) no início2

da listai← GetData(listin, listin.posCrr) // retorna o armazém em3

listin.posCrrlistin← (listin− i)4

sol← Transp(listin, demands, msup, ndem)5

ncost← Custo(sol)6

enquanto((listin.posCrr < listin.posLast)&&(ncost− cost) > i.alcost) faça7

// listin.posLast é a posição do último elementolistin← (listin + i)8

Next(listin) // atualiza o Crr para a próxima posição9

i← GetData(listin, listin.posCrr)10

listin← (listin− i)11

sol← Transp(listin, demands, msup, ndem)12

ncost← Custo(sol)13

se((ncost− cost) ≤ i.alcost) então14

cost← ncost15

menor ← listin.posCrr16

listin← (listin + i)17

enquanto(listin.posCrr 6= listin.posLast) faça18

Next(listin)19

i← GetData(listin, listin.posCrr)20

listin← (listin− i)21

sol← Transp(listin, demands, msup, ndem)22

ncost← Custo(sol)23

se(ncost− cost) ≤ i.alcost) então24

menor ← listin.posCrr25

cost← ncost26

listin← (listin + i)27

i← GetData(listin, menor)28

listin← (listin− i)29

listout← (listout + i)30

Encerrada esta etapa passamos para a terceira e última fase do processo de resolução. Esta

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2688

Page 7: Proposta de um algoritmo baseado na heurística DROP para o ...

é responsável por substituir pontos de oferta presentes emlistin por pontos anteriormente fechadosque se mostrem mais importantes em um subconjuntoS ⊆ I (solução corrente) com cardinalidadereduzida.

4.1.3. Terceira etapa – Fase de Ajuste

Esta etapa é responsável por corrigir erros cometidos no fechamento precipitado de pon-tos de oferta nas etapas anteriores por se mostrarem menos importantes a solução. Para este fim,substituímos o primeiro ponto de oferta delistin pelo primeiro delistout. Se esta troca gerar me-lhoria no custo de transporte, ela é efetivada e continuamos a substituir o primeiro ponto delistinpelo ponto seguinte emlistout na busca por um ponto que diminua o custo ao assumir o lugar doprimeiro elemento delistin. Isto se repete até que o final da lista de pontos fechados seja alcan-çado. Então o processo se repete para o segundo elemento delistin, depois para o terceiro, e assimsucessivamente, até que as tentativas de substituição de todos os elementos delistin tenham sidofeitas.

Abaixo apresentamos o algoritmo desta etapa:

Algoritmo 3: Terceira etapa.

[Dados : listin, demands, msup, ndem]1

First(listin)2

enquanto(listin.posCrr 6= −1) faça3

// -1 é a posição atribuída a posCrr quando o comandoNext() é executado e Crr está na última posição.

enquanto(listout.posCrr 6= −1) faça4

Troca(listin, listout, listin.posCrr, listout.posCrr) // Troca os5

armazéns nas respectivas posições correntes.sol← Transp(listin, demands, msup, ndem)6

ncost← Custo(sol)7

se(ncost < cost) então8

cost← ncost9

senão10

Troca(listin, listout, listin.posCrr, listout.posCrr)11

Next(listout)12

Next(listin)13

Ao final dessa etapa temos a solução final do problema. Basta somar ao custodo PTassociado o somatório dos custos fixos de localização dos pontos de oferta abertos para obtermos ocusto total da solução apresentada.

4.2. Resultados Computacionais

Para realização dos testes computacionais utilizamos as instâncias daOR-Library (Beas-ley (2008)), que é uma coleção de conjuntos de dados para testes de uma variedade de problemasoriginalmente descrita por Beasley (1990). Utilizamos um AMD Sempron com 1.6 GHz de clocke com sistema operacional Debian Lenny instalado. Para aferir os tempos utilizamos a funçãotimepresente no sistema operacional utilizado.

• PLA Não-Capacitado

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2689

Page 8: Proposta de um algoritmo baseado na heurística DROP para o ...

A seguir apresentamos a Tabela 1 que mostra as diferenças percentuais entre os resultadosobtidos e os resultados esperados (ótimos) de cada implementação, onde “Impl. 1” se refere aimplementação com três etapas e “Impl. 2” se refere a implementação com as duas últimas etapas.

Instâncias Diferença Impl. 1 (%) Diferença Impl. 2 (%)cap71 0.10 0.10cap72 0.14 0.14cap73 0.05 0.05cap74 0.43 0.05cap101 0.11 0.00cap102 0.02 0.13cap103 0.08 0.08cap104 0.00 0.00cap131 0.00 0.00cap132 0.15 0.15cap133 0.16 0.16cap134 0.00 0.00

Tabela 1:Diferenças percentuais dos testes com as duas implementações que resolvem o PLANC.

A seguir apresentamos a Tabela 2 com as quantidades de pontos de oferta fechados emcada etapa e as quantidades de trocas efetuadas na última etapa para a resolução das instâncias doPLANC.

Implementação 1 Implementação 2Instâncias Etapa 1 Etapa 2 Etapa 3 Tempo Etapa 2 Etapa 3 Tempocap71 4 1 0 32s 5 0 1m00scap72 5 2 0 31s 7 0 1m04scap73 6 5 0 21s 11 0 57scap74 11 2 0 07s 12 1 54scap101 9 2 0 1m52s 10 0 4m28scap102 9 5 0 1m45s 15 0 4m19scap103 9 8 0 1m22s 17 0 4m01scap104 9 12 1 59s 21 1 3m35scap131 23 12 0 9m51s 35 0 42m33scap132 23 17 0 7m33s 40 0 40m05scap133 23 19 0 6m39s 42 0 39m11scap134 23 23 1 5m32s 46 1 38m05s

Tabela 2:Quantidades de pontos de oferta fechados em cada etapa e o tempo de execução para as duas

implementações que resolvem o PLANC.

Observando a Tabela 1 vemos que as duas implementações alcançaram custos satisfató-rios. Analisando agora os tempos da Tabela 2, vemos que o desempenho da “Impl. 1” foi muitomelhor. A média dos tempos desta implementação é 79% menor do que a média dos tempos de“Impl. 2”. Podemos observar que as colunas que listam os números de trocas efetuadas de cadainstância são praticamente as mesmas, diferindo somente em relação ao cap74.

Ressaltamos ainda que, pelo baixo número de instâncias que tiveram trocas efetuadas naetapa 3 do processo de resolução (cap104 e cap134), a etapa 1 que fecha pontos de oferta menos

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2690

Page 9: Proposta de um algoritmo baseado na heurística DROP para o ...

utilizados não cometeu muitos equívocos ao fechar estes pontos de oferta. Isto se deve ao fato doPLANC possuir a característica de atendimento de cada consumidor sendo efetuada somente porum ponto de oferta e, portanto, nos mostra que a escolha do critério de classificação de pontos deoferta menos utilizados e o fechamento destes, através do CF, se mostrou uma ótima opção para oprocesso de resolução de PLANC’s.

• PLA Capacitado

A seguir apresentamos a Tabela 3 com as diferenças percentuais entre os resultados obti-dos e os resultados esperados (ótimos) de cada implementação. A “Impl. 1” se refere a implemen-tação com três etapas e “Impl. 2” se refere a implementação com as etapas 2 e 3.

Instâncias Diferença Impl. 1 (%) Diferença Impl. 2 (%)cap41 0.17 0.17cap42 0.07 0.14cap43 0.06 0.14cap44 0.06 0.13cap51 0.08 0.08cap61 0.08 0.08cap62 0.16 0.16cap63 0.11 0.11cap64 0.36 0.36cap81 0.16 0.16cap82 0.22 0.22cap83 0.20 0.20cap84 1.11 0.56cap91 0.05 0.05cap92 0.17 0.17cap93 0.15 0.15cap94 0.68 0.14cap111 0.02 0.02cap112 0.36 0.05cap113 0.32 0.13cap114 0.76 0.56cap121 0.05 0.05cap122 0.19 0.19cap123 0.05 0.05cap124 0.02 0.12

Tabela 3:Diferenças percentuais dos testes com as duas implementações que resolvem o PLAC.

A seguir apresentamos a Tabela 4, agora com as quantidades de pontos de oferta fechadosem cada etapa, as quantidades de trocas efetuadas e os tempos de execução que cada algoritmolevou para resolver cada instância.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2691

Page 10: Proposta de um algoritmo baseado na heurística DROP para o ...

Implementação 1 Implementação 2Instâncias Etapa 1 Etapa 2 Etapa 3 Tempo Etapa 2 Etapa 3 Tempocap41 2 1 0 1m06s 3 0 1m34scap42 3 1 2 56s 4 0 1m37scap43 3 1 2 56s 4 0 1m36scap44 3 1 2 56s 4 0 1m37scap51 3 5 0 1m04s 8 0 1m39scap61 3 2 0 58s 5 0 1m31scap62 3 4 0 1m01s 7 0 1m35scap63 3 5 0 1m02s 8 0 1m37scap64 3 8 1 48s 11 1 1m21scap81 0 7 0 9m38s 7 0 9m31scap82 0 11 0 9m21s 11 0 9m25scap83 0 11 0 9m28s 11 0 9m17scap84 7 6 5 4m44s 11 0 9m17scap91 0 10 0 7m19s 10 0 7m19scap92 1 14 2 5m59s 15 1 6m32scap93 1 16 1 5m47s 17 0 6m22scap94 7 12 3 2m37s 18 0 6m12scap111 1 32 1 100m38s 33 1 107m05scap112 5 30 2 74m28s 35 0 103m53scap113 5 31 4 71m59s 35 0 103m54scap114 13 25 5 40m30s 37 0 98m47scap121 4 31 2 50m57s 35 0 66m42scap122 4 36 3 46m42s 40 1 62m22scap123 4 37 3 45m55s 41 1 61m45scap124 15 28 2 20m13s 43 1 61m03s

Tabela 4:Quantidades de pontos de oferta fechados em cada etapa e o tempo de execução para as duas

implementações que resolvem o PLAC.

Observando a Tabela 3, vemos que as duas implementações alcançaram custos satisfató-rios. Com relação ao tempo, Tabela 4, apesar de em algumas instâncias os tempos serem próximos,a implementação com duas etapas se mostra inferior para as instâncias as quais o processo de re-solução fechou um ou mais pontos de oferta na primeira etapa. A média dos tempos apresentadospela resolução das instâncias através da “Impl. 1” é 31% menor do que a média dos tempos da“Impl. 2”. Podemos observar ainda que os tempos das instâncias nas quais não houve fechamentode armazéns na primeira etapa para “Impl. 1” foram muito próximos, quando não iguais, aos tem-pos apresentados pela resolução destas instâncias através da “Impl. 2”. Por fim, ressaltamos quemesmo com um grande número de instâncias que efetuaram trocas na terceira etapa da “Impl. 1”,obtivemos tempos melhores que os obtidos com “Impl. 2”.

5. Conclusão e Propostas de Trabalhos Futuros

Foi proposto neste trabalho a resolução do PLAC e do PLANC através da implementaçãode um algoritmo dividido em três etapas. A primeira é a etapa responsável pelo fechamento dospontos de oferta menos utilizados que não sejam vantajosos a solução do problema, a segunda é aimplementação da heurística DROP, e a terceira é a etapa responsável por realizar ajustes na solu-ção. Além disso, para avaliar o ganho de tempo que a primeira etapa fornece, implementamos umprocesso de resolução com as três etapas propostas e outro com as duas últimas etapas (heurística

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2692

Page 11: Proposta de um algoritmo baseado na heurística DROP para o ...

DROP e Fase de Ajuste), para efeito de comparação.

Diante dos resultados obtidos com a bateria de testes podemos concluir que “Impl. 1”(três etapas) se mostrou superior a “Impl. 2” (duas etapas). Tanto para o PLAC quanto para oPLANC, podemos notar que “Impl. 1” foi superior com relação ao tempo ao resolver instânciasdaOR-Librarynas quais foi possível fechar pontos de oferta na etapa 1 (Fase Inicial) do processode resolução. As médias dos tempos computacionais mostram uma vantagem para a “Impl. 1”de 79% com relação ao PLANC e 31% com relação ao PLAC. Além disso, pelo baixo número detrocas efetuadas na etapa 3 (Fase de Ajuste), principalmente para o PLANC, podemos afirmar quea escolha dos critérios de classificação e fechamento dos pontos de oferta na Fase Inicial foi bemsucedida. Portanto, a proposta da utilização de tais critérios é uma boa forma de se estabelecer umasolução inicial para o PLAC e para o PLANC.

Podemos afirmar ainda que, quanto maior o número de pontos de oferta fechados na etapade remoção de pontos de oferta menos utilizados, menor é o tempo de execução do programa. Isto,se deve ao fato de que a etapa 1 é executada mais rapidamente que a etapa 2 (DROP) e, além disso,para a etapa 2 do processo de resolução, quanto menor o conjuntoS, menor é o tempo gasto nestaetapa.

É importante ressaltar que os tempos de execução do algoritmo proposto não são bonsquando comparados aos tempos alcançados por Resende & Werneck (2006), Filho et al. (2005) eCaserta & Quinomez (2007) pois neste trabalho os problemas de transportes são resolvidos por umalgoritmo exato implementado pelos autores. Todavia, a bateria de testes computacionais executa-dos neste trabalho serve para verificar a eficiência da etapa 1.

Por fim, como propostas de trabalhos futuros listamos:

• A proposta de fechamento de pontos de oferta pode ser estendida ao fechamento dos doisou três pontos de oferta menos utilizados sendo fechados de uma só vez, ou sendo testadossequencialmente fora da solução;

• Podemos também, modificar o critério que classifica um ponto de oferta como sendo o menosutilizado. É possível estabelecer um critério no qual fossem levados em conta, não somente aquantidade de produtos enviados por um ponto de oferta, mas também a quantidade de arestasque foram utilizadas no atendimento das demandas;

• Outra proposta seria implementar uma nova etapa para assumir o lugar da segunda. Estaetapa fecharia o primeiro ponto de oferta encontrado a fornecer melhoria no custo total doproblema. A Fase de Ajuste passaria a ser a terceira etapa e a heurísticaDROPpassaria aser a quarta e última etapa. Com isto, ao alcançar a etapa da heurísticaDROP, o processode resolução já teria alcançado um conjuntoS ⊆ I ainda mais reduzido, facilitando a etapaDROP, diminuindo o tempo computacional da resolução.

Referências

Balinski, M. (1965), ‘Integer programming: methods, uses, computation’,Management Sci.12, 254–313.

Baumol, W. J. & Wolfe, P. (1958), ‘A Warehouse Location Problem’,Operations Research6, 252–263.

Beasley, J. (2008), ‘OR-Library’, URL: http://people.brunel.ac.uk/~mastjjb/jeb/orlib/capinfo.html.Last Visited: 17/03/2009.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2693

Page 12: Proposta de um algoritmo baseado na heurística DROP para o ...

Beasley, J. E. (1990), ‘OR-Library: distributing test problems by electronic mail.’,Journal of theOperational Research Society41(11), 1069–1072.

Bornstein, C. & Matheus, G. (1991), ‘Dominance criteria for the capacitated warehouse locationproblem’,Journal of the Operational Research Society42, 145–149.

Caserta, M. & Quinomez, E. (2007), A metaheuristic algorithm for the capacitated facility locationproblem,in ‘Proceedings of the VII Metaheuristic International Conference’, VII Metaheuris-tic International Conference, Montreal-Canadá.

Cortinha, M. & Captivo, M. (2003), ‘Upper and lower bounds for the single source capacitatedlocation problem’,European Journal of Operational Research15, 333–351.

Efroymson, M. A. & Ray, T. L. (1966), ‘A branch-and-bound algorithm for plant location’,Ope-rations Research14, 361–368.

Feldman, E., Lehrer, F. A. & Ray, T. L. (1966), ‘Warehouse Location Under Continuous Econimiesof Scale’,Management Science12(9), 670–684.

Filho, R., Gomes, M. & Xavier, A. (2005), Um algoritmo grasp híbrido para o problema de lo-calização capacitada de custo fixo,in ‘Anais do XXXVII Simpósio Brasileiro de PesquisaOperacional’, XXXVII SBPO - Simpósio Brasileiro de Pesquisa Operacional, Gramado -RS.

Hansen, P., Brimberg, J., Urošvic, D. & Mladenovic, N. (2007), ‘Primal-Dual Variable Neigh-borhood Search for the Simple Plant-Location Problem’,INFORMS Journal on Computing19(4), 552–564.

Jacobsen, S. K. (1983), ‘Heuristics for The Capacitated Plant Location Model’, European JournalOperational Research12, 253–261.

Kuehn, A. A. & Hamburger, M. J. (1963), ‘A heuristic program for locating warehouses’, Manage-ment Sci.9, 643–666.

Pirkul, H. & Jayaraman, V. (1998), ‘A Multi-Commodity, Multi-Plant, Capacitated FacilityLocation Problem: Formulation and Efficient Heuristic Solution’,Computers Ops Res.25(10), 869–878.

Rangel, M. C. (1991), Critério de dominância para problemas de localização de armazéns capacita-dos de grande porte, Master’s thesis, Universidade Federal do Rio de Janeiro.

Resende, M. & Werneck, R. (2006), ‘A hybrid multistart heuristic for the uncapacitated facilitylocation’,European Journal of Operational Research174, 54–68.

Stollsteimer, J. F. (1963), ‘A working model for plant numbers and locations’, Journal of FarmEconomics45(3), 631–645.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 2694