FACULDADE LOURENÇO FILHO CIÊNCIA DA COMPUTAÇÃO



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

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

2 Problema das p-medianas

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

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

2 Atualidade de uma base de dados

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005

Curso superior de Tecnologia em Gastronomia

Instalações Máquinas Equipamentos Pessoal de produção

Orientação a Objetos

4 Avaliação Econômica

Modelo Cascata ou Clássico

22/02/2009. Supply Chain Management. É a integração dos processos do negócio desde o usuário final até os fornecedores originais que

Teoria da Decisão MÉTODOS QUANTITATIVOS DE GESTÃO

Gestão do Conhecimento A Chave para o Sucesso Empresarial. José Renato Sátiro Santiago Jr.

Princípios de Finanças

6 Quarta parte logística - Quarterização

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

Importância da normalização para as Micro e Pequenas Empresas 1. Normas só são importantes para as grandes empresas...

CAPÍTULO 1 - CONTABILIDADE E GESTÃO EMPRESARIAL A CONTROLADORIA

ISO/IEC 12207: Gerência de Configuração

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

A IMPORTÂNCIA DA GESTÃO DE CUSTOS NA ELABORAÇÃO DO PREÇO DE VENDA

A OPERAÇÃO DE CROSS-DOCKING

A Descrição do Produto ou Serviço e a Análise do Mercado e dos Competidores Fabiano Marques

Lista 2 - Modelos determinísticos

Análise e Complexidade de Algoritmos

PLANEJAMENTO ESTRATÉGICO

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

PLANEJAMENTO DA MANUFATURA

PROJETO DE PESQUISA. Antonio Joaquim Severino 1. Um projeto de bem elaborado desempenha várias funções:

CAPITAL DE GIRO: ESSÊNCIA DA VIDA EMPRESARIAL

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS - FAN CEUNSP SALTO /SP CURSO DE TECNOLOGIA EM MARKETING TRABALHO INTERDISCIPLINAR

Logística e a Gestão da Cadeia de Suprimentos. "Uma arma verdadeiramente competitiva"

6 Construção de Cenários

4 Segmentação Algoritmo proposto

CAPÍTULO 7 - ÁRVORES DE DECISÃO

Aspectos Sociais de Informática. Simulação Industrial - SIND

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Governança de TI. ITIL v.2&3. parte 1

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

Entendendo como funciona o NAT

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

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

MATRIZ SWOT VANTAGENS DE SUA UTILIZAÇÃO NO COMÉRCIO VAREJISTA

Planejamento e Gestão Estratégica

Manual SAGe Versão 1.2 (a partir da versão )

SISTEMAS INTEGRADOS DE GESTÃO PAS 99:2006. Especificação de requisitos comuns de sistemas de gestão como estrutura para a integração

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

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

DESENVOLVIMENTO DE UM SOFTWARE NA LINGUAGEM R PARA CÁLCULO DE TAMANHOS DE AMOSTRAS NA ÁREA DE SAÚDE

5 Considerações finais

3 Metodologia e Objeto de estudo

Projeto Você pede, eu registro.

Gerenciamento de projetos.

GESTÃO ESTRATÉGICA DA CADEIA LOGÍSTICA

PLANEJAMENTO OPERACIONAL: RECURSOS HUMANOS E FINANÇAS MÓDULO 16

Manual Geral do OASIS

GESTÃO DE SUPRIMENTO TECNÓLOGO EM LOGÍSTICA

5 Análise dos resultados

ão: modelagem e técnicas

POSICIONAMENTO LOGÍSTICO E A DEFINIÇÃO DA POLÍTICA DE ATENDIMENTO AOS CLIENTES

Pesquisa Operacional Programação em Redes

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

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

P4-MPS.BR - Prova de Conhecimento do Processo de Aquisição do MPS.BR

Roteiro para apresentação do Plano de Negócio. Preparamos este roteiro para ajudá-lo(a) a preparar seu Plano de Negócio.

CAPÍTULO 5 CONCLUSÕES, RECOMENDAÇÕES E LIMITAÇÕES. 1. Conclusões e Recomendações

ATIVIDADES DE LINHA E DE ASSESSORIA

2 Diagrama de Caso de Uso

Algoritmos e Estrutura de Dados III. Árvores

ser alcançada através de diferentes tecnologias, sendo as principais listadas abaixo: DSL (Digital Subscriber Line) Transmissão de dados no mesmo

A GESTÃO DE PESSOAS NA ÁREA DE FOMENTO MERCANTIL: UM ESTUDO DE CASO NA IGUANA FACTORING FOMENTO MERCANTIL LTDA

Processos de Desenvolvimento de Software

Conhecimentos em Comércio Eletrônico Capítulo 4 CAPÍTULO 4 VISÃO GERAL DO COMÉRCIO

Existem três categorias básicas de processos empresariais:

UTILIZAÇÃO DE SOFTWARES NA RESOLUÇÃO DE UM PROBLEMA DE PROGRAMAÇÃO LINEAR. Cintia da Silva Araújo, Tiago de Souza Marçal, Magda Aparecida Nogueira

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

A Análise dos Custos Logísticos: Fatores complementares na composição dos custos de uma empresa

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

CAP. I ERROS EM CÁLCULO NUMÉRICO

Manual de utilização do sistema OTRS (Atendimento) Cliente Externo

Preparação do Trabalho de Pesquisa

Processos Técnicos - Aulas 4 e 5

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

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

Relatório da ListEx02 Aplicação da Heurística do objetivo na definição das propostas do meu aplicativo de banco de dados e dissertação de mestrado

softwares que cumprem a função de mediar o ensino a distância veiculado através da internet ou espaço virtual. PEREIRA (2007)

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Conceito de Contabilidade

Operações de Caixa. Versão 2.0. Manual destinado à implantadores, técnicos do suporte e usuários finais

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

3 Estratégia para o enriquecimento de informações

Prof. Marcelo Mello. Unidade III DISTRIBUIÇÃO E

Quais estratégias de crédito e cobranças são necessárias para controlar e reduzir a inadimplência dos clientes, na Agroveterinária Santa Fé?

SIMULAÇÃO DE GESTÃO EMPRESARIAL

Transcrição:

FACULDADE LOURENÇO FILHO CIÊNCIA DA COMPUTAÇÃO UM ENFOQUE NA LOCALIZAÇÃO DE FACILIDADES BASEADO EM TESTES DE REDUÇÃO E HEURÍSTICAS ADD/DROP Por: PAULO CÉSAR FERNANDES RIBEIRO Orientador: André Barros Pereira FORTALEZA, 2008

UM ENFOQUE NA LOCALIZAÇÃO DE FACILIDADES BASEADO EM TESTES DE REDUÇÃO E HEURÍSTICAS ADD/DROP PAULO CÉSAR FERNANDES RIBEIRO Monografia apresentada ao curso de Ciência da Computação da Faculdade Lourenço Filho como requisito parcial para obtenção do título de Bacharel em Ciência da Computação. Orientador: André Barros Pereira Dezembro, 2008

UM ENFOQUE NA LOCALIZAÇÃO DE FACILIDADES BASEADO EM TESTES DE REDUÇÃO E HEURÍSTICAS ADD/DROP PAULO CÉSAR FERNANDES RIBEIRO Monografia apresentada ao curso de Bacharel em Ciências da Computação da Faculdade Lourenço Filho, como parte dos requisitos para a obtenção do grau de Bacharel em Ciências da Computação. Composição da Banca Examinadora: Prof. M.Sc. André Barros Pereira (Orientador) Prof. M.Sc. Fábio Dias Prof. M.Sc. João Frederico Roldan Viana

AGRADECIMENTOS À Deus Pai, pelas bênçãos, pela sabedoria e direção que permitiram a realização deste trabalho. À minha querida e amada esposa Elza Ribeiro, pelo amor, pelo apoio, pela paciência, pelo carinho e pela suas palavras de motivação e incentivo, fundamentais nos momentos de dificuldades, que me ajudaram a vencer mais um desafio na minha vida. Às minhas lindas e amadas filhas, Ellen e Elis, que foram fontes inesgotáveis de motivação e alegria para esta conquista. Aos meus pais, Francisco Fernandes Ribeiro e Djanira de Oliveira Fernandes (in memoriam), que, mesmo distantes, foram essenciais nesta conquista. Ao professor André Barros Pereira, por sua dedicação, sua incomparável paciência e disponibilidade na orientação deste trabalho.

Tudo posso naquele que me fortalece. (Filipenses, 4:13)

RESUMO Problemas de localização de facilidades consistem em uma das mais complexas e difíceis questões a serem abordadas por qualquer organização pública ou privada. Neste trabalho, apresenta-se uma solução através da combinação de testes de redução e heurísticas ADD/DROP, dando origem a um algoritmo heurístico. Este algoritmo foi implementado e submetido a um conjunto de testes computacionais. Os resultados obtidos foram analisados e comparados com a solução ótima. Palavras-chave: problema de localização de facilidades, testes de redução, heurísticas ADD/DROP.

ABSTRACT Simple plant location problems are one of the most complex and difficult questions to be discussed by any private or public organization. In this paper, we present a solution to SPLP based on a combination among reduction tests and ADD/DROP heuristics. This algorithm was implemented and subjected to a set of computational tests. The results were analyzed and compared with the optimal solution. Keywords: facility location problems, reduction tests, ADD/DROP heuristics.

SUMÁRIO LISTA DE TABELAS...viii INTRODUÇÃO... 9 1 LOCALIZAÇÃO DE FACILIDADES: UM PROBLEMA CLÁSSICO DE PESQUISA OPERACIONAL... 11 1.1 Uma visão estratégica do problema de localização de facilidades... 11 1.2 O contexto histórico do problema de localização de facilidades... 12 1.3 Classificação dos problemas de localização... 13 1.4 Modelagem matemática dos problemas de localização... 16 1.4.1 Problema das p-medianas... 17 1.4.2 Problema dos p-centros... 17 1.4.3 Problema das p-medianas e p-centros com capacidade limitada... 18 1.4.4 Problema de localização de instalações com capacidade limitada... 18 1.4.5 Problema de localização de facilidades com capacidade limitada e fonte única... 19 1.4.6 Problema de localização de facilidades com capacidade ilimitada... 20 2 FUNDAMENTAÇÃO TEÓRICA... 21 2.1 Testes de redução... 21 2.2 Heurísticas ADD/DROP... 23 3 ALGORITMO... 24 3.1 Pseudo código do algoritmo... 26 3.2 Exemplos de utilização do algoritmo... 27 RESULTADOS COMPUTACIONAIS... 33 CONCLUSÃO E TRABALHOS FUTUROS... 36 BIBLIOGRAFIA... 37

LISTA DE TABELAS Tabela 3.1 Exemplo 1: Matriz de Custos de Transporte e Demanda... 27 Tabela 3.2 Exemplo 1: Resultado da função O-Test na iteração 1... 28 Tabela 3.3 Exemplo 1: Resultado da função C-Test na iteração 1... 28 Tabela 3.4 Exemplo 1: Resultado da função O-Test na iteração 2... 29 Tabela 3.5 Exemplo 1: Resultado da solução exata... 29 Tabela 3.6 Exemplo 2: Matriz de Custos de Transporte e Demanda... 30 Tabela 3.7 Exemplo 2: Resultado da função O-Test na iteração 1... 30 Tabela 3.8 Exemplo 2: Resultado da função C-Test na iteração 1... 31 Tabela 3.9 Exemplo 2: Resultado da função O-Test na iteração 2... 31 Tabela 3.10 Exemplo 2: Resultado da solução exata... 31 Tabela 4.1 Problemas não capacitados de Beasley Tempos computacionais e erros obtidos no processamento... 34 Tabela 4.2 Problemas não capacitados de Beasley Contribuição dos testes de redução e das heurísticas... 35

9 INTRODUÇÃO A definição da localização de instalações tais como fábricas, depósitos, filiais ou terminais de transporte é uma das mais importantes decisões em uma organização pública ou privada, devido aos elevados investimentos envolvidos e dos profundos impactos que as decisões de localização têm sobre os custos da empresa. Caracterizados por um alto nível de complexidade e pelo intensivo uso de dados, os estudos de localização atualmente dispõem de novas tecnologias de informação que permitem tratar os sistemas logísticos de forma efetivamente integrada. De uma forma geral, os problemas de localização de instalações se ocupam de como servir ou suprir a população de uma dada área geográfica a partir de centros de distribuição. O que se busca determinar nestes problemas é o número e a localização de centros que possam suprir, de forma mais econômica, um conjunto de clientes. A escolha de onde localizar os centros deve ser feita de modo a otimizar uma função objetivo bem definida, obedecendo às restrições do problema específico em consideração. O que comumente procura-se determinar é onde as instalações devem ser localizadas, quais fornecedores deverão ser utilizados, quantos centros de distribuição a empresa deve operar, onde eles devem estar localizados, que clientes ou zonas de mercado devem ser supridos a partir de cada centro de distribuição, que linhas de produto devem ser produzidas ou estocadas em cada instalação ou centro de distribuição e que modalidades de transporte devem ser usadas para suprimento e para distribuição. Estas questões possuem forte interdependência entre si, não devendo ser, portanto, analisadas de forma seqüencial ou segmentadas. Ao analisá-las, é preciso considerar as vantagens e desvantagens existentes entre as decisões relacionadas ao transporte, ao posicionamento do estoque na rede e ao número e localização das instalações. O que se pretende é obter uma solução ótima, que atenda ao nível de serviço desejado com um menor custo total de operação.

10 Nesse contexto, o presente trabalho tem como objetivo analisar o problema de localização de facilidades através de testes de redução e das heurísticas ADD/DROP. No capítulo 1, é abordada a visão estratégica do problema de localização de facilidades, enfatizando a importância e os impactos financeiros ao se definir a localização de uma instalação, seja uma fábrica, uma filial de uma distribuidora ou um novo shopping center, por exemplo. Em seguida, é abordado o problema de localização de facilidades no universo da Pesquisa Operacional, mostrando o seu contexto histórico e a modelagem matemática de alguns problemas de localização de facilidades. No capítulo 2, discorre-se sobre a fundamentação teórica na qual se baseia o algoritmo proposto para a solução do problema de localização não capacitado. O referido algoritmo é discutido e detalhado em exemplos simples. No capítulo 3, analisam-se os resultados computacionais obtidos em uma série de problemas-testes.

11 1 LOCALIZAÇÃO DE FACILIDADES: UM PROBLEMA CLÁSSICO DE PESQUISA OPERACIONAL Segundo Cortez e Paula Junior (2001), determinar a melhor localização para a instalação de filiais em um horizonte de planejamento é um relevante desafio para manter competitividade de uma empresa, pois torna a decisão de onde localizar suas atividades econômicas uma das mais importantes decisões estratégicas no universo corporativo. De acordo com Schmidt e Wilhelm, o rápido desenvolvimento dos mercados mundiais vem gerando a dispersão da produção, da montagem, do fornecimento e da operação de distribuição das empresas multinacionais em diversos países que lhes apresentem vantagens competitivas na redução de custos, no aumento do nível de serviço e na sua lucratividade (apud DUBKE, 2006). Para que isto se torne realidade, vários estudos sobre decisão de localização têm sido elaborados ao longo dos anos, com vistas a auxiliar na tomada de decisão empresarial. Neste contexto, a pesquisa operacional se destaca como uma poderosa ferramenta para auxiliar a tomada de decisões relativas à localização de facilidades uma vez que a modelagem matemática destes problemas e suas respectivas soluções possibilitam a visualização de diversos cenários, inclusive o cenário ótimo, levando a uma tomada de decisão mais coerente e economicamente viável. 1.1 Uma visão estratégica do problema de localização de facilidades Problemas de localização tratam de decisões sobre onde localizar facilidades, considerando clientes que devem ser servidos, de forma a otimizar um certo critério. O termo facilidades pode ser substituído por fábricas, depósitos, escolas entre outros, enquanto clientes se referem, por exemplo, a depósitos, unidades de vendas e estudantes. Em geral, os vários centros selecionados que podem ser localizados, podem também ser alocados ao subconjunto de centros que serão abertos. Desta forma, também são conhecidos como

12 problemas de localização alocação, devido ao processo de alocação dos outros centros aos centros abertos. As aplicações são geralmente divididas para setores públicos e privados. No caso de setores públicos, aplicações maximizam a satisfação dos clientes em detrimento dos custos necessários para o alcance de tal objetivo uma vez que, em geral, os custos não são estimados com exatidão. Entre os exemplos de aplicações em setores públicos, estão a localização de escolas, postos de saúde, corpo de bombeiros, ambulâncias, viaturas de polícia, pontos de ônibus, entre outros. No caso do setor privado, custos chamados fixos estão envolvidos, e suas aplicações envolvem em geral fábricas, depósitos, torres de transmissão, lojas de franquias, entre outros. 1.2 O contexto histórico do problema de localização de facilidades O termo análise de localização refere-se à modelagem, formulação e solução de uma classe de problemas que pode ser mais bem descrita como localização de facilidades num dado espaço (REVELLE & EISELT apud DUBKE, 2006). O estudo de localização de facilidades é um dos aspectos mais importantes dentro do planejamento estratégico aplicado a áreas tanto públicas como privadas, sejam elas localizadas no âmbito doméstico ou no âmbito internacional. Antes de uma facilidade ser construída, um estudo de localização deve ser feito, objetivando determinar a apropriada localização e capacidade, bem como o capital necessário para sua alocação. Segundo Pizzolato (apud DUBKE, 2006), o problema de localizar uma instalação ou posto de serviço consiste em escolher uma posição geográfica para sua operação tal que seja maximizada uma medida de utilidade, satisfazendo diversas restrições, em particular restrições de demanda. Historicamente, o estudo da teoria da localização sob a ótica econômica iniciou-se formalmente em 1909, quando Alfred Weber analisou o problema de como posicionar um único armazém e de como minimizar a distância entre este e seus vários clientes (DUBKE, 2006). Revelle e Laporte (apud DUBKE, 2006) afirmam que, após o trabalho publicado por

13 Weber em 1929, foram estudadas várias outras aplicações baseadas em algoritmos, principalmente a partir de meados de 1960, com o auxílio dos programas computacionais. A teoria de localização ganhou redobrado interesse em 1964, com a publicação de Hakimi, que objetivava determinar a localização de postos de serviços em redes e postos policiais em rodovias. Nesse trabalho, foram estabelecidos dois teoremas: o primeiro, determinando que existe um ponto em uma rede que minimiza a soma ponderada das distâncias mais curtas de todos os vértices a este ponto, o qual vem a ser um dos vértices da rede, e o segundo teorema, determinando que, para o caso de se escolher p pontos centrais (problema conhecido como p-mediana), existirá um conjunto de p pontos (vértices da rede) que minimizará a soma das distâncias ponderadas de todos os vértices aos mais próximos de p pontos da rede (HAKIMI, 1964 apud DUBKE, 2006). Revelle e Laporte (1986 apud DUBKE, 2006), mais recentemente, modificou a versão do problema da p-mediana para exemplificar como essa versão poderia ser aplicada em contextos de tomada de decisão estratégica. Desde então, a teoria da localização tem sido desenvolvida ao longo dos anos e inspirado muitos pesquisadores em várias áreas de aplicação. 1.3 Classificação dos problemas de localização Segundo Crainic e Laporte (DASKIN apud DUBKE, 2006), os principais modelos de localização estão assim classificados: Modelos de cobertura: O objetivo é minimizar o custo de localização de uma facilidade pelo qual um máximo nível de cobertura é obtido. Os problemas de cobertura estão divididos em location set covering problem (conjunto de problemas de cobertura) e maximal covering problem (problemas de máxima cobertura). Modelos centrais: O objetivo é localizar p instalações em uma rede, minimizando a máxima distância entre os vértices e a instalação, ou entre um nó de origem e a instalação mais próxima. Esse problema é conhecido como p center problem, ou problema de minimax (DASKIN apud DUBKE, 2006). Modelos medianos (median models): O objetivo é localizar p facilidades nos vértices de uma rede e alocar demandas dessas facilidades de forma a minimizar o total do

14 produto peso vezes a distância entre as facilidades (instalações) e os pontos de demanda do consumidor (HAKIMI apud DUBKE, 2006). Segundo Crainic e Laporte (apud DUBKE, 2006), se a instalação é não-capacitada e o número de instalações é fixo, tem-se um problema de p-mediana. Segundo Dubke (2006), alguns autores descreveram uma taxonomia que amplia os problemas de localização de instalações em: Modelos planos (planar) e modelos de rede (network model): Nos modelos planos, a demanda ocorre em qualquer lugar no plano (com coordenadas x e y). Nesses modelos, supõe-se a inexistência de restrições de percurso, de modo que se pode usar a distância mais curta. Nos modelos de rede, assume-se que as instalações e os pontos de demanda estão localizados nos nós da rede. Modelos contínuos e discretos: Quando o modelo permite que as facilidades sejam localizadas em qualquer lugar dentro de um particular espaço de soluções (no plano), dá-se a denominação de modelo contínuo. Em contraste aos modelos contínuos, os modelos de localização em rede são classificados como modelos discretos, pois se assume que a demanda e as instalações estão localizadas nos nós de uma rede, em um conjunto finito de localizações. Modelos estáticos e dinâmicos: A maioria dos modelos de localização conhecidos é estática, ou seja, independente do tempo. Entretanto, a maioria dos problemas de localização tem a determinação do tempo como um condicionante. Portanto, nos modelos dinâmicos, considera-se a questão de onde e quando localizar, ou seja, a condição tempo passa a ser utilizada. Modelos probabilísticos (estocásticos) e determinísticos: Como os modelos podem ser estáticos e dinâmicos, estes também podem ser probabilísticos (sujeitos a incertezas) ou determinísticos (não-sujeitos a incertezas). Modelos para um único produto (single product) ou modelos que levam em consideração múltiplos produtos (multi-products ou multicommodities). Modelos com um único objetivo (determinação de mínimo custo ou localização) ou com múltiplos objetivos (determinação de mínimo custo e maximização da demanda coberta). Modelos de localização capacitados ou não-capacitados: Os modelos de localização (cobertura, medianos e centrais) tratam a localização como um

15 problema não-capacitado ou com capacidade ilimitada (uncapacitated location model). Entretanto, existem modelos que já impõem esse limite ou tamanho da capacidade nas restrições ao modelo (capacitated facility location model). Existem, entretanto, inúmeros fatores que têm interferido na decisão locacional, além de fatores referentes unicamente à minimização de distância e custo. DUBKE (2006) cita que alguns autores, como Wu e Wu (1983), Badri e Davis (1995), Canel e Khumawala (1996), Heizer (1999), Hoffman e Schniederjans(1994), Alberto (2000) e Lirn, et al. (2003) atribuem os principais fatores qualitativos que interferem na decisão locacional: Custos de instalação, operação e transporte; Localização dos mercados fornecedores e consumidores; Disponibilidade e custos de mão-de-obra, serviços de comunicação, saúde, energia e segurança; Taxa de câmbio e barreiras comerciais; Regulamentação de impacto ambiental; Grau de organização sindical; Disponibilidade e custos de serviços públicos; Facilidades para o sistema de transporte; Localização dos concorrentes; Clima e temperatura da região; Incentivos governamentais. Dentro destes fatores, destaquem-se os incentivos governamentais dados pelos governos a empresas que desejem investir nas localidades, objetivando um melhor desenvolvimento econômico da região, geração de empregos e o aumento da potencialidade da arrecadação tributária no longo prazo. Alberto (apud DUBKE, 2006) cita que os incentivos fiscais são hoje um dos cinco principais fatores de decisão locacional perante os executivos. Ratificando este fato, o trabalho de Nicolay (2003 apud DUBKE, 2006), reforça a idéia de que os incentivos governamentais são um dos principais fatores de decisão locacional e têm gerado disputas (guerra fiscal) entre estados e municípios no Brasil, objetivando inicialmente a instalação da empresa e no longo prazo a possibilidade de aquisição de maior fatia de impostos.

16 1.4 Modelagem matemática dos problemas de localização Mais formalmente, o problema de localização de facilidades pode ser definido como aquele no qual facilidades devem ser alocadas entre n possíveis locais, com o objetivo de minimizar o custo total em satisfazer a demanda distribuída em m locais, onde o custo total é definido como a união do custo fixo de instalar as facilidades e dos custos variáveis para atender a demanda (também conhecidos como custos de distribuição, custos de transporte ou custos de alocação). A modelagem matemática consiste, portanto, no processo de abstração de algumas particularidades dos problemas reais, representando-as por expressões matemáticas. Os modelos matemáticos de localização estabelecem essencialmente a representação das facilidades em potencial, dos centros de demanda e dos custos inerentes ao atendimento da demanda pelas facilidades, com o objetivo de minimizar esses custos respondendo a questões do tipo quais facilidades devem ser localizadas, onde cada facilidade será localizada e de que forma as facilidades serão alocadas aos centros de demanda. Arenales (2007) cita os modelos matemáticos de alguns problemas importantes de localização. Para tal, considere os seguintes parâmetros: J = conjunto de nós j que representam os clientes, j = 1,..., n I = conjunto de locais i candidatos à localização de facilidades, i = 1,..., m q j = demanda do cliente j d ij = distância do cliente j à facilidade de localização em i c ij = custo de atender a demanda q j a partir de uma facilidade localizada em i f i = custo fixo de instalação de uma facilidade no local i Q i = capacidade da facilidade instalada no local i x ij = fração da demanda q j atendida pela facilidade localizada em i, i I, j J Uma variável comum a todos os problemas descritos a seguir é: 1, se a facilidade é aberta no local i y i 0, caso contrário.

17 1.4.1 Problema das p-medianas Este problema envolve a localização de p facilidades e a designação de clientes a facilidades, de modo a minimizar a soma das distâncias de clientes a facilidades. Permite-se que os nós das instalações estejam em qualquer lugar dos arcos que ligam nós de clientes, incluindo os nós dos clientes. Demonstra-se que existe uma solução ótima em que as facilidades situam-se no conjunto J dos clientes, portanto, I J. Considere a seguinte formulação: min c ij x ij (1) i I sujeito a i I x ij i I j J x ij = 1, j J (2) y, i I, j J (3) i y = p (4) i A função objetivo (1) minimiza o custo total de designação de cliente a facilidades. As restrições (2) garantem que cada cliente j é atendido por uma única facilidade. As restrições (3) asseguram que cada cliente j só pode ser designado a uma facilidade aberta no local i e a restrição (4) indica que exatamente p facilidades são abertas. 1.4.2 Problema dos p-centros Este problema envolve a localização de p facilidades e a designação de clientes a facilidades, de modo a minimizar a distância máxima de clientes a facilidades. Ele admite variações do modelo básico. O problema de p-centros-nós restringe os nós de facilidades aos nós de clientes, enquanto que o problema de p-centros-absolutos permite que os nós de facilidades estejam em qualquer lugar dos arcos que ligam nós de clientes. Para formular este problema, considere as variáveis do problema de p-medianas e a seguinte variável adicional: r = Distância máxima de um cliente quando designado a uma facilidade

18 min r (5) i I i I x ij i I dijxij r, j J (6) x ij = 1, j J (7) y, i I, j J (8) i y = p (9) i A função objetivo (5) minimiza a distância máxima de um cliente a uma facilidade. A restrição (6) expressa r como um limitante superior da distância de cada cliente j a uma facilidade. As demais restrições são idênticas às do problema das p-medianas. 1.4.3 Problema das p-medianas e p-centros com capacidade limitada Neste problema, associa-se uma capacidade Q i à facilidade no local i. Neste caso, as restrições (3) são alteradas para j J q x Q y, i I (10) j ij i i Note que, ao se abrir um conjunto O = {i I : y i = 1} de facilidades, o problema resultante é um problema de designação generalizada, que pode ser factível ou não. 1.4.4 Problema de localização de instalações com capacidade limitada Este problema envolve a localização de facilidades e a designação de clientes a facilidades, considerando a capacidade Q i associada à cada facilidade i, de modo a minimizar o custo fixo de implantação de facilidades e o custo variável de atendimento das demandas dos clientes. O modelo que representa este problema é dado por: min i I i I fiyi + i I j J xij = 1, j J c ijxij (11) (12)

19 j J q jxij Qiyi, i I (13) A função objetivo (11) expressa a minimização da soma dos custos fixos e variáveis. As restrições (12) asseguram que a demanda de cada cliente j é atendida. As restrições (13) garantem que se uma instalação é aberta no local i, então a quantidade enviada de i para os clientes j é limitada pela capacidade Q i. Ao se fixar um conjunto O = { i I : yi = 1} de facilidades abertas, o problema resultante é um problema de transporte, que tem solução factível se e somente j J q j Qi. i O 1.4.5 Problema de localização de facilidades com capacidade limitada e fonte única Este problema difere do problema anterior pelo fato de que um cliente deve ser atendido a partir de uma única instalação. Considere as variáveis: x ij 1, se o cliente j é designado à facilidade localizada em i 0, caso contrário. Este problema pode ser modelado da seguinte maneira: min i I i I j J fiyi x ij + i I j J c ijxij = 1, j I (14) q jxij Qiyi, i I (15) As restrições (14) garantem que cada cliente j é designado a uma única facilidade. As restrições (15) garantem que, se uma instalação é aberta no local i, então a quantidade enviada de i para os clientes j é limitada pela capacidade Q i. Novamente, ao se abrir um conjunto { i I : y 1} O = i = de facilidades, o problema resultante é um problema de designação generalizada, que pode ser factível ou não.

20 1.4.6 Problema de localização de facilidades com capacidade ilimitada Este problema difere dos dois citados imediatamente antes nos itens 1.4.4 e 1.4.5, por não existir a capacidade Q i associada a cada facilidade i. Com isso, o problema envolve a localização de facilidades e a designação de clientes a facilidades, de modo a minimizar o custo fixo de implantação de facilidades e o custo variável de atendimento das demandas dos clientes e o modelo que representa este problema é dado por: min i I i I fiyi x ij + i I j J = 1, j J x ij c ijxij (16) (17) yi, i I, j J (18) A função objetivo (16) expressa a minimização da soma dos custos fixos e variáveis. As restrições (17) asseguram que a demanda de cada cliente j é atendida. As restrições (18) garantem que uma fração não-nula de demanda só pode ser enviada a partir de uma facilidade aberta no local i. O foco deste trabalho consiste exatamente na solução deste problema. Foi criado um algoritmo cuja fundamentação teórica será mostrada no capítulo seguinte.

21 2 FUNDAMENTAÇÃO TEÓRICA 2.1 Testes de redução Os testes de redução determinam, a princípio, se algumas facilidades devem ser abertas ou fechadas na solução ótima. O termo redução se deve ao fato de se conseguir, desta maneira, diminuir a dimensão do problema dado originalmente. Neste trabalho, utilizar-se-á a abordagem unificada encontrada em Pereira (2002), que simplifica a apresentação dos testes de redução através da utilização da função i(). Essa função dará os critérios para abertura e/ou fechamento de facilidades. Inicialmente, considere um subconjunto K I de facilidades. Seja ω(k ) a função que dá o mínimo valor dos custos variáveis em se atender todos os centros de demanda de J pelas facilidades de K. Ou seja, ω ( K ) = j J min c k K Se K = Ø, define-se ω (K ) = +. kj Para i I K, seja δ i( K ) = ω(k) - ω(k i). Essa função avalia o acréscimo ou decréscimo nos custos variáveis se a facilidade i for fechada ou aberta. Se K = Ø então δ i( K ) = δi(ø) = + ω( i) = + cij = +. Se j J K Ø, pode-se alternativamente escrever a função δ i() em função dos custos variáveis c ij, da seguinte forma: δ i( K ) = ω( K ) ω( K i) = = = j J j J j J min c kj k K minc kj k K j J j J min c kj k K i min{min c k K max{0, min ckj cij} k K kj, cij} Dessa forma, a função i(.) pode ser definida da seguinte forma: i( K ) = fi δi( K ), i I K. Essa função avalia o balanço entre os custos fixos e variáveis

22 em relação a facilidade i. Se pode-se escrever: K = Ø, então i( Ø) = fi δ i(ø) = fi - = -. Para K Ø, = f c c } i( K) i max{0, min kj ij k K j J De acordo com Wolsley e Nemhauser e outros (apud PEREIRA, 2002), pode-se destacar duas importantes propriedades da função ω (K ) : ela é não-crescente e supermodular. Uma função ω(k ) é denominada não-crescente se ω ( K) ω( K'), K' K. Ela é dita supermodular (ou equivalentemente ω(k ) submodular) se ω ( K i) ω( K ' i), K ' K, i K. Observa-se que supermodularidade é uma espécie de concavidade. Antes de definir os testes de redução, faz-se necessário definir os conjuntos em que as facilidades serão inseridas, de acordo com o seu status (fechadas, abertas ou indefinidas): seja K 0, o conjunto de facilidades fechadas (K 0 = { i I yi = 0 }); K 1, o conjunto de facilidades abertas (K 1 = { i I yi = 1}) e K 2, o conjunto de facilidades cujos status estão indefinidos. Então, de acordo com Pereira (2002) e Borstein & Campelo (2004), os seguintes testes podem ser definidos: O-Test: Se i ( K1 K 2 i) 0 então y i = 1. C-Test: Se i ( K 1) 0 então y i = 0. Normalmente se inicia um processo iterativo formado por esses testes, considerando todos os status das facilidades indefinidos, ou seja, K 0 =K 1 = Ø e K 2 = I. À medida em que os testes são aplicados, as facilidades podem ter seus status definidos. Estas serão colocadas em K 0 ou K 1 e automaticamente retiradas de K 2. Observa-se que a aplicação do C-Test ao início do processo não faz sentido, pois i ( K 1) =. Então, normalmente usa-se o O-Test visando associar facilidades a K 1. Quando K 1 deixar de ser vazio, o C-Test poderá atribuir facilidades a K 0.

23 A aplicação sucessiva dos testes de redução pode levar à determinação dos status de algumas facilidades na solução ótima. A otimalidade das decisões é assegurada pela supermodularidade de ω (). O fechamento de facilidades diminui K 1 K 2, pois K =. 1 K 2 I K 0 Se durante o processo iterativo de aplicação dos testes K 2 = i então i( K 1) = i ( K1 K2 - i). Neste caso, deve-se fazer ou y i = 1 se i( K1) < 0 ou y i = 0 se i( K 1) > 0. Se i( K1) = 0, não faz diferença se a facilidade i for aberta ou fechada. Assim, obter-se-ia K 2 = 0 e os status de todas as facilidades seriam determinados de forma ótima. Porém, na prática, essa situação raramente acontece. Geralmente os testes conduzem a uma situação em que i( K1) < 0 <, i( K1 K2 - i) i K 2. 2.2 Heurísticas ADD/DROP Segundo Pereira (2000), as heurísticas ADD/DROP, usualmente chamadas de procedimentos gulosos ou míopes, são procedimentos que em uma dada iteração tentam excluir as mais dispendiosas ou selecionar as facilidades mais econômicas. De um modo geral, as heurísticas são muito utilizadas na prática devido à simplicidade de implementação, flexibilidade e redução do esforço computacional, comparadas aos procedimentos exatos com o mesmo propósito, principalmente quando se trata de solucionar problemas NP-difíceis, como é o caso do problema de localização de facilidades. Entretanto, as heurísticas têm a limitação de não garantir a otimalidade das decisões (PEREIRA, 2000). Neste trabalho são utilizadas duas heurísticas gulosas denominadas H1 e H2 respectivamente para abertura e fechamento de facilidades. Elas serão aplicadas nos casos em que o O-Test e o C-Test não definirem exatamente se uma facilidade deva ser aberta ou fechada. A seguir, é apresentado o algoritmo utilizado neste trabalho, baseado nos testes de redução e nas heurísticas ADD/DROP.

24 3 ALGORITMO Fundamentalmente, o algoritmo apresentado consiste na união das funções O-Test e C-Test para definir se a facilidade será aberta ou fechada com as heurísticas gulosas H1 e H2, para os casos onde as funções O-Test e C-Test não forem suficientes para definir o estado da localização em uma iteração. Assim, a figura abaixo demonstra graficamente como o algoritmo realiza cada iteração. Figura 31: Esquema de funcionamento do Algoritmo Essencialmente, tem-se como entrada do algoritmo, os elementos básicos para caracterizar um problema de localização de facilidades (SPLP): um conjunto de facilidades (I), um conjunto de centros de demanda (J), o vetor de custos fixos de instalação das facilidades de I e a matriz de custos de transporte entre os elementos de I e J. Considera-se também, de acordo com a notação adotada no capitulo anterior, que K 0 corresponde ao conjunto de facilidades fechadas, K 1 como o conjunto de facilidades abertas e K 2 o conjunto de facilidades cujo estado está indefinido.

25 No algoritmo apresentado, para cada facilidade de I está associado um entre três estados possíveis: indefinido, aberto ou fechado. Inicialmente, consideram-se todas as facilidades com estado indefinido, ou seja, K 0 =K 1 = Ø e K 2 = I. Logo, a cada iteração e, conseqüentemente, a cada aplicação dos testes de redução e das heurísticas, mudar-se-á o estado de cada facilidade. O algoritmo termina quando cada facilidade tiver com estado ou aberto ou fechado, o que implica em K 2 = Ø. Assim sendo, o primeiro passo do algoritmo consiste em definir os conjuntos: K 2 = I e os outros conjuntos K 0 e K 1, vazios. Aplicando sucessivamente os testes de redução através das funções O-Test e C-Test, determina-se, de forma ótima, o estado das facilidades. Dessa forma, aplicam-se iterativamente os testes de redução da seguinte maneira: aplica-se o O-Test na tentativa de incluir facilidades em K 1 e, caso alguma facilidade seja aberta, pode-se ter potencializado o fechamento de facilidades. Em seguida, aplica-se o C-Test, que poderá associar facilidades ao conjunto K 0. Uma vez fechada uma facilidade, é possível que a abertura de facilidades tenha sido potencializada e então o O-Test é novamente aplicado e assim sucessivamente, até o instante em que K 2 = Ø, e assim, o algoritmo é finalizado. No entanto, geralmente restam algumas facilidades i em K 2 tais que i( K1) < 0 <, i ( K1 K2 - i). Uma vez que esses valores de i() foram calculados e não foram suficientes para a determinação dos estados ótimos das facilidades i através dos testes de redução, utilizam-se, para estes casos, duas heurísticas H 1 e H 2, respectivamente, com o objetivo de abrir e fechar facilidades de forma aproximada. A idéia principal da heurística H 1 consiste em abrir a facilidade i que apresenta o menor i ( K K2 - i), ou seja, abre-se a facilidade que apresentar o menor balanço entre o 1 custo fixo e o custo variável, que parece ser a facilidade mais vantajosa dentre as demais que estão com estado indefinido. Podemos descrever matematicamente a heurística H 1 da seguinte forma: H 1 = Abrir a facilidade k, tal que k ( K1 K2 - k) = min { i ( K1 K2 - i) }, i K 2. i Analogamente, a heurística H 2 fecha a facilidade i que apresenta o maior ( K K2 - i), isto é, fecha-se aquela facilidade que apresenta o pior balanço entre o custo 1

26 fixo e o custo variável. Acredita-se que esta seja a facilidade mais desvantajosa uma vez aberta. A heurística H 2 pode ser escrita matematicamente da seguinte forma: H 2 = Fechar a facilidade k, tal que k( K1) = max { i( K1) }, i K 2. Vale ressaltar que as heurísticas H 1 e H 2 somente serão respectivamente utilizadas nos casos onde as funções O-Test e C-Test não forem suficientes para alterar o estado das facilidades. Assim, uma vez que as heurísticas são utilizadas, não se pode garantir a otimalidade da solução obtida, uma vez que elas constituem em uma solução aproximada. Mesmo após a execução de uma heurística (H 1 ou H 2 ), os testes de redução serão novamente aplicados sucessivamente no algoritmo. Mas desta vez não há garantia de que estes encontrarão o estado ótimo das facilidades, pois pelo menos uma decisão com base em um teste heurístico foi tomada. 3.1 Pseudo código do algoritmo Segue abaixo o pseudo-código do algoritmo utilizado neste trabalho. Passo 0: Inicialização do algoritmo K 2 = I K 0 = K 1 = Ø Passo 1: Abrir facilidades Aplicação do O-Test A = {i K 2 ( K1 K 2 i) 0 i } K 1 = K 1 A, K 2 = K 2 A H_Abriu = 1; Passo 2: Condição de término do algoritmo Se K 2 = Ø Então Fim Passo 3: Fechar facilidades Aplicação do C-Test F = {i K 2 ( K 1) 0 i }

27 K 0 = K 0 F, K 2 = K 2 F Se F Ø então volte para o passo 1 Passo 4: Heurísticas Se H_Abriu = 0 Então A = {k ( K1 K 2 k) = min{ i( K1 K 2 i) }, i K 2 } k K 1 = K 1 A, K 2 = K 2 A, Retorne para o passo 2 Se H_Abriu = 1 Então F = {k k( K1) = max { i( K1) }, i K 2 } K 1 = K 1 F, K 2 = K 2 F, H_Abriu = 0, Retorne para o passo 1 A seguir, são apresentados dois exemplos numéricos para fins didáticos e entendimento do algoritmo em uso. 3.2 Exemplos de utilização do algoritmo Para fins de demonstração do algoritmo elaborado neste trabalho, foram criados dois exemplos práticos com 5 facilidades e 6 centros de demanda, que ilustram de maneira clara a combinação entre os testes de redução e as heurísticas ADD/DROP. Na Tabela 3.1 visualizamos os dados de custos de transporte, o custo fixo de instalação de cada facilidade e as respectivas demandas dos centros de demanda do exemplo 1. Tabela 3.1 Exemplo 1: Matriz de Custos de Transporte e Demanda Custo de Transporte Custo Fixo Centros A B C D E F Valor 1 55 55 30 65 140 80 50 2 113 82 50 45 106 50 80 3 100 141 64 120 50 60 90 4 80 70 45 80 110 55 75 5 85 90 70 75 60 70 120 Demanda 30 20 40 30 20 50 Neste contexto, utilizando o algoritmo sugerido neste trabalho, obtém-se o resultado abaixo demonstrado: Inicialmente, tem-se que:

28 K 0 = K 1 = Ø ; K 2 = {1, 2, 3, 4, 5} Passo 1: Calcular ( K K2 - i) i 1, i K 2 Inicia-se o algoritmo determinando quais facilidades serão abertas e usa-se para este fim a função O-Test. Assim, o resultado obtido nessa iteração é demonstrado abaixo na Tabela 3.2: Tabela 3.2 Exemplo 1: Resultado da função O-Test na iteração 1 i K 1 U K 2 i Custo Fixo Ganho Real Ganho Total Delta O-Test 1 {2;3;4;5} 50 340 55-5 Abrir 2 {1;3;4;5} 80 310 25 55 3 {1;2;4;5} 90 295 10 80 4 {1;2;3;5} 75 285 0 75 5 {1;2;3;4} 120 285 0 120 Portanto, de acordo com o resultado do algoritmo, deve-se abrir a facilidade 1. Assim sendo, ter-se-á que: K 0 = Ø ; K 1 = {1}; K 2 = {2, 3, 4, 5}. O próximo passo será determinar quais facilidades serão fechadas considerando o novo cenário, no qual a facilidades 1 já está aberta. Para isto, utiliza-se a função C-Test e o resultado obtido é demonstrado na Tabela 3.3 abaixo: Tabela 3.3 Exemplo 1: Resultado da função C-Test na iteração 1 I Custo Fixo Facilidade Ganho Delta Estado 2 80 425 84-4 3 90 425 110-20 4 75 425 60 15 Fechar 5 120 425 100 20 Fechar Analisando o resultado obtido, conclui-se que as facilidades 4 e 5 devem ser fechadas, pois não contribuem de forma positiva para redução dos custos. Portanto, teremos K 0 = {4,5}; K 1 ={1}; K 2 = {2, 3}. O próximo passo do algoritmo é executar outra vez a função O-Test, no contexto atual, para verificar quais facilidades em K 2 devem ser abertas. O resultado obtido é mostrado na tabela 3.4:

29 Tabela 3.4 Exemplo 1: Resultado da função O-Test na iteração 2 i K 1 U K 2 i Custo Ganho Ganho Ganho Fixo Real Máximo Total Delta O-Test 2 {3} 80 310 425 110-30 Abrir 3 {2} 90 295 425 130-40 Abrir De acordo com os resultados obtidos na iteração 2, conclui-se que as facilidades 2 e 3 devem ser abertas. Portanto, teremos os seguintes conjuntos de facilidades: K 1 = {1,2,3}; K 0 = {4,5}; K 2 = Ø. Comparando com a solução exata, mostrada na Tabela 3.5, pode-se afirmar que, neste exemplo, as funções O-Test e C-Test foram suficientes para determinar quais facilidades devem ser abertas e fechadas, e que o resultado obtido é igual ao ótimo, obtido através da solução exaustiva. Tabela 3.5 Exemplo 1: Resultado da solução exata Solução Custo Fixo Custo de Transporte Custo total Sol. Ótima 1 50 12700 12750 2 80 13000 13080 3 90 15980 16070 4 75 12950 13025 5 120 14100 14220 1 e 2 130 11270 11400 1 e 3 140 11850 11990 1 e 4 125 12800 12925 1 e 5 170 12550 12720 2 e 3 170 12840 13010 2 e 4 155 12920 13075 2 e 5 200 12590 12790 3 e 4 165 14150 14315 3 e 5 210 15410 15620 4 e 5 195 14050 14245 1, 2 e 3 220 10150 10370 1, 2 e 4 205 11270 11475 1, 2 e 5 250 10350 10600 1, 3 e 4 215 11600 11815 1, 3 e 5 260 11850 12110 1, 4 e 5 245 11800 12045 2, 3 e 4 245 11800 12045 2, 3 e 5 290 12390 12680 2, 4 e 5 275 12000 12275 3, 4 e 5 285 13850 14135 1, 2, 3 e 4 295 10150 10445 1, 2, 3 e 5 340 10150 10490

30 Solução Custo Fixo Custo de Transporte Custo total Sol. Ótima 1, 2, 4 e 5 325 10350 10675 1, 3, 4 e 5 325 10350 10675 2, 3, 4 e 5 365 11800 12165 1, 2, 3, 4 e 5 415 10150 10565 na Tabela 3.6. O exemplo 2 consiste em uma alteração no custo fixo do exemplo 1, como mostrado Tabela 3.6 Exemplo 2: Matriz de Custos de Transporte e Demanda Custo de Transporte Custo Fixo Centros A B C D E F Valor 1 55 55 30 65 140 80 85 2 115 80 50 45 105 50 90 3 100 141 65 120 50 60 100 4 80 70 45 80 110 55 75 5 85 90 70 75 60 70 70 Demanda 30 20 40 30 20 50 Neste exemplo, utilizando o algoritmo, obtém-se o resultado abaixo demonstrado: Inicialmente, tem-se que: K 0 = K 1 = Ø ; K 2 = {1, 2, 3, 4, 5} Passo 1: Calcular ( K K2 - i) i 1, i K 2 Novamente inicia-se o algoritmo utilizando a função O-Test para definir quais facilidades deverão ser abertas. Contudo, analisando o resultado obtido pela função O-Test e mostrado na Tabela 3.7, observa-se que nenhuma facilidade satisfez a condição de abertura. Tabela 3.7 Exemplo 2: Resultado da função O-Test na iteração 1 i K 1 U K 2 - i Custo Ganho Ganho Ganho Fixo Real Máximo Total i( K1 K2 - i) 1 {2;3;4;5} 85 340 285 55 30 2 {1;3;4;5} 90 310 285 25 65 3 {1;2;4;5} 100 295 285 10 90 4 {1;2;3;5} 75 285 285 0 75 5 {1;2;3;4} 70 285 285 0 70 O-Test

31 Nesse caso, recorre-se à heurística H 1, tal que H 1 = {k ( K1 K 2 k) = min{ i( K1 K 2 i) }, i K 2 }. Logo, de acordo com o critério de H 1, a facilidade a ser aberta corresponde a 1. Portanto, ter-se-ão os seguintes conjuntos: K 1 = {1}, K 0 = Ø, K 2 = {2, 3, 4, 5}. k Em seguida, uma vez aberta uma facilidade, pode-se aplicar o C-Test para definir quais facilidades devem ser fechadas. A Tabela 3.8 abaixo mostra o resultado obtido na aplicação da função C-Test. Tabela 3.8 Exemplo 2: Resultado da função C-Test na iteração 1 I Custo Fixo Facilidade Ganho i ( K1 K2 - i) Estado 2 90 425 85 5 Fechar 3 100 425 110-10 4 75 425 60 15 Fechar 5 70 425 100-30 A aplicação da função C-Test no exemplo 2 mostra que as facilidades 2 e 4 devem ser fechadas. Com isso, os conjuntos correspondentes terão os seguintes elementos: K 1 = {1}, K 0 = {2, 4}, K 2 = {3, 5}. O próximo passo é executar outra vez a função O-Test, no contexto atual, para verificar quais facilidades em K 2 devem ser abertas. O resultado obtido é mostrado na tabela 3.9: Tabela 3.9 Exemplo 2: Resultado da função O-Test na iteração 2 I K 1 U K 2 - i Custo Ganho Ganho Ganho Fixo Real Máximo Total i ( K1 K2 - i) O-Test 3 5 100 315 425 110-10 Abrir 5 3 70 295 425 130-60 Abrir Analisando o resultado da aplicação da função O-Test ao exemplo 2, conclui-se, portanto, que as facilidades 3 e 5 deverão ser abertas e, portanto, ter-se-á: K 1 = {1, 3, 5}, K 0 ={2, 4}, K 2 = Ø. A solução exata do exemplo 2 encontra-se apresentada na Tabela 3.10.

32 Tabela 3.10 Exemplo 2: Resultado da solução exata Solução Custo Fixo Custo de Transporte Custo total Solução Ótima 1 85 12700 12785 2 90 13000 13090 3 100 16020 16120 4 75 12950 13025 5 70 14100 14170 1 e 2 175 11250 11425 1 e 3 185 11850 12035 1 e 4 160 12800 12960 1 e 5 155 12550 12705 2 e 3 190 12800 12990 2 e 4 165 12900 13065 2 e 5 160 12550 12710 3 e 4 175 14150 14325 3 e 5 170 15450 15620 4 e 5 145 14050 14195 1, 2 e 3 275 10150 10425 1, 2 e 4 250 11250 11500 1, 2 e 5 245 10350 10595 1, 3 e 4 260 11600 11860 1, 3 e 5 255 11850 12105 1, 4 e 5 230 11800 12030 2, 3 e 4 265 11800 12065 2, 3 e 5 260 12350 12610 2, 4 e 5 235 12000 12235 3, 4 e 5 245 13850 14095 1, 2, 3 e 4 350 10150 10500 1, 2, 3 e 5 345 10150 10495 1, 2, 4 e 5 320 10350 10670 1, 3, 4 e 5 320 10350 10670 2, 3, 4 e 5 335 11800 12135 1, 2, 3, 4 e 5 420 10150 10570 Comparando com a solução exata, percebe-se que o resultado obtido pelo algoritmo não é o ótimo, o que se justifica pelo fato de utilizar-se a heurística H 1 no inicio do processamento e a utilização da heurística não nos garante a otimalidade do resultado. A seguir, serão exibidos e analisados os resultados computacionais obtidos na implementação do algoritmo aplicado a instâncias conhecidas na literatura de localização.

33 RESULTADOS COMPUTACIONAIS Para verificar o desempenho computacional do algoritmo desenvolvido, o mesmo foi implementado e submetido aos problemas não-capacitados de Beasley (1988). Estes testes são utilizados para verificar a qualidade da solução obtida pelo algoritmo, bem como a contribuição dos testes de redução e das heurísticas na determinação desta solução. A implementação do algoritmo apresentado no presente trabalho foi desenvolvida na linguagem C padrão, no ambiente de desenvolvimento Bloodshed Dev C++ 4.0. Ela foi realizada através alterações em rotinas desenvolvidas em C, gentilmente cedidas por Pereira (2002). O algoritmo foi testado em uma estação com processador Pentium Dual Core, 1,8 GHZ, 1 Gb de memória RAM e Sistema Operacional Windows XP SP3. Os problemas-teste que utilizamos foram desenvolvidos originalmente para o problema de localização capacitado, mas também são encontradas na OR-Library, de Beasley (1988) a solução ótima desses problemas, desprezando-se as capacidades de cada facilidade, o que resulta em problemas não capacitados. Os problemas não capacitados de Beasley (1988) são ao todo 15, com tamanhos variados (nº de locais candidatos à localização de facilidades X centros de demanda): Cap71 Cap74 (16 x 50), Cap101 Cap104 (25 x 50), Cap131 Cap134 (50 x 50), Cap a Cap c (100 x 1000). Os erros percentuais obtidos nos resultados computacionais foram calculados através da seguinte expressão: (SH S*) Erro = x100, S* onde SH corresponde ao valor da solução heurística obtida pelo algoritmo proposto e S* corresponde à solução ótima. Os erros percentuais serão exibidos com duas casas decimais de precisão, assim como os tempos computacionais.

34 Os resultados, os tempos computacionais e os erros obtidos pelo algoritmo encontram-se demonstrados na Tabela 4.1 e a contribuição dos testes de redução e das heurísticas na solução dos problemas é mostrada na Tabela 4.2. Tabela 4.1: Problemas não capacitados de Beasley Tempos computacionais e erros obtidos no processamento Problema S* SH Erro(%) Tempo (s) Cap 71 932.615,75 932.615,75 0,00 0,00 Cap 72 977.799,40 979.099,61 0,13 0,00 Cap 73 1.010.641,45 1.012.476,98 0,18 0,00 Cap 74 1.034.976,98 1.037.717,08 0,26 0,00 Cap 101 796.648,44 799.092,11 0,31 0,00 Cap 102 854.704,20 854.704,20 0,00 0,00 Cap 103 893.782,11 895.027,19 0,14 0,00 Cap 104 928.941,75 928.941,75 0,00 0,00 Cap 131 793.439,56 794.299,85 0,11 0,00 Cap 132 851.495,33 851.495,33 0,00 0,00 Cap 133 893.076,71 894.095,76 0,11 0,00 Cap 134 928.941,75 928.941,75 0,00 0,00 Cap a 17.156.454,48 18.865.949,65 9,96 0,01 Cap b 12.979.071,58 13.661.441,03 5,26 0,03 Cap c 11.505.594,33 11.857.575,09 3,06 0,03

35 Tabela 4.2: Problemas não capacitados de Beasley Contribuição dos testes de redução e das heurísticas Problema Testes de Redução Heurísticas Testes de Redução após H 1 ou H 2 Total Abertas Fechadas Abertas Fechadas Abertas Fechadas Abertas Fechadas Cap71 10 2 1 1 0 2 11 5 Cap72 7 3 1 1 0 4 8 8 Cap73 3 7 1 1 0 4 4 12 Cap74 3 11 1 1 0 0 4 12 Cap101 11 5 2 2 1 4 14 11 Cap102 6 6 2 2 3 6 11 14 Cap103 4 7 2 1 0 11 6 19 Cap104 2 11 2 1 0 9 4 21 Cap131 7 9 6 2 1 25 14 36 Cap132 5 18 4 3 2 18 11 39 Cap133 3 22 3 1 1 20 7 43 Cap134 2 29 2 1 0 16 4 46 Capa 0 0 5 0 0 95 5 95 Capb 0 0 8 0 0 92 8 92 Capc 0 0 9 1 1 89 10 90 Analisando os resultados obtidos, notou-se que em cinco problemas, a solução ótima foi obtida. Em sete problemas, a solução obtida ficou bem próxima da solução ótima, apresentando erro inferior a 0,5%. Entretanto, para os problemas maiores (Cap a Cap c), os resultados obtidos apresentaram erro máximo inferior a 10%, o que pode ser justificado pela utilização das heurísticas, que como vimos anteriormente, não garante a otimalidade da solução. Em comparação com o trabalho desenvolvido por Pereira (2002), observou-se também que os tempos computacionais foram bastante reduzidos e os resultados obtidos foram satisfatórios. Vale ressaltar que os trabalhos foram desenvolvidos e testados em ambientes computacionais semelhantes. Finalmente, concluiu-se que, em um primeiro momento, o algoritmo proposto forneceu resultados satisfatórios para a maioria dos problemas com dimensões pequenas. Entretanto, para os problemas grandes, o algoritmo apresentou um erro aceitável, mas que serve de motivação para melhorias e, consequentemente, a perspectiva de trabalhos futuros.

36 CONCLUSÃO E TRABALHOS FUTUROS A definição da localização de facilidades é uma das mais importantes decisões estratégicas dentro do contexto corporativo, seja no âmbito público ou privado. No universo da Pesquisa Operacional, o problema de localização de facilidades é um dos mais amplos, complexos e de finalidade prática, uma vez que a determinação de facilidades envolve altos custos, grande volume de informações e elevados investimentos. O problema de localização de facilidades contempla muitos modelos, como foi visto no capítulo 2. Neste trabalho, analisou-se o problema de localização não capacitado e o objetivo principal foi contribuir positivamente e apresentar uma solução que consiste na combinação entre os testes de redução e as heurísticas gulosas (ADD/DROP). A partir da solução foi definido e implementado o algoritmo proposto, que posteriormente foi testado com instâncias dos problemas não-capacitados de Beasley (1988). Após a análise dos resultados computacionais, observou-se que em cinco problemas a solução ótima foi atingida e em sete problemas a solução obtida apresentou erro inferior a 0,5%. Entretanto, para os problemas maiores, os resultados obtidos apresentaram erro máximo inferior a 10%. Com isso, pode-se concluir que, se comparados aos resultados da solução ótima, os resultados obtidos foram satisfatórios e que o algoritmo proposto apresentou resultados razoáveis, comparados aos resultados obtidos por Pereira (2002) para o mesmo problema. Outra conclusão imediata é o fato de que o algoritmo proposto necessita de algumas melhorias para satisfazer de forma mais eficiente todos os problemas dos testes. Uma melhora imediata seria questionar, de alguma forma, os estados determinados por heurísticas. Com efeito, da forma como o algoritmo está apresentado, uma vez tomada uma decisão através de heurística, o estado desta facilidade é definitivamente aberto ou fechado, o que pode tornar definitiva e imutável uma decisão errada. Por isso, seria interessante questioná-los, modificálos e estudar o comportamento da solução obtida.

37 BIBLIOGRAFIA ARENALES, Marcos [et. al.]. Pesquisa Operacional. Rio de Janeiro: Elsevier, 2007. BEASLEY, J. E. OR-Library: Distribution test problems by electronic mail. Journal of Operational Research, v. 33, p. 314-325, 1988. BORNSTEIN, Claudio Thomas, Campelo, Manoel. An Add/Drop procedure for the capacitated plant location problem. Revista Pesquisa Operacional, v. 24, n.1, p. 151-162. janeiro a abril de 2004. CORTES, Jacqueline Magalhães Rangel; PAULA JUNIOR, Geraldo Galdino de. Uma abordagem estratégica para localização de facilidades. In: Encontro Nacional de Engenharia de Produção, 22 Anais..., 2001, Salvador. DUBKE, Alessandra Fraga. Modelo de localização de terminais especializados: um estudo de caso em corredores de exportação da soja. Tese de Doutorado em Engenharia Industrial Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, 2006. PEREIRA, André Barros. Um algoritmo para o problema de localização não capacitado baseado em testes de redução e heurísticas ADD/DROP. Dissertação de Mestrado Universidade Federal do Rio de Janeiro, 2002.