2 Problema das p-medianas



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

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

Pesquisa Operacional Programação em Redes

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

Utilização do SOLVER do EXCEL

Complexidade de Algoritmos. Edson Prestes

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

Pesquisa Operacional na Tomada de Decisões. Conteúdos do Capítulo. Programação Linear. Lindo. s.t. Resolvendo Programação Linear Em um Microcomputador

Complexidade de Algoritmos

Figura 1.1: Exemplo de links patrocinados no Google

Notas de aula número 1: Otimização *

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

Universidade Federal de Alfenas

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

a 1 x a n x n = b,

Teoria dos Grafos. Edson Prestes

Eduardo C. Xavier. 24 de fevereiro de 2011

CAPÍTULO 2. Grafos e Redes

Processos de Desenvolvimento de Software

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

Análise da sensibilidade

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Linux R. Núcleo de Pesquisa e Extensão / LAViD

Análise e Complexidade de Algoritmos

Roteiro 2: (Planilhas Eletrônicas) - Função procv / manipulação de formulários

O Método Simplex para

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

Análise e Projeto de Algoritmos

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

APLICAÇÕES DA DERIVADA

Configurações da Diretiva de Grupo. Leandro Stein. Turma 2. Bloqueio do Painel de Controle

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

INSTITUTO POLITÉCNICO DE SETÚBAL ESCOLA SUPERIOR DE TECNOLOGIA DEPARTAMENTO DE MATEMÁTICA MATEMÁTICA APLICADA

GEADA. Gerador de Expressões Algébricas em Digrafos Acíclicos. para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa

Aula 03 - Modelagem em PPLIM

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

[a11 a12 a1n 4. SISTEMAS LINEARES 4.1. CONCEITO. Um sistema de equações lineares é um conjunto de equações do tipo

2. A FERRAMENTA SOLVER (EXCEL)

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

5COP096 TeoriadaComputação

Balanceamento de Carga

Grafo: Algoritmos e Aplicações

{ } PROVA DE RACIOCÍNIO MATEMÁTICO. 1)a)Dê o domínio da função f ( x) = b)resolva a inequação: x. 4 + x RESOLUÇÃO.

Manual Geral do OASIS

IOB Mitrius Software de auditoria eletrônica de arquivos digitais de SPED. O que faz: O que oferece:

CONFIGURAÇÃO MINIMA EXIGIDA:

CAP. I ERROS EM CÁLCULO NUMÉRICO

Leandro Ramos RAID.

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

NOVO MODELO DE ATUALIZAÇÃO FOCCO Atualização automática com o FoccoUPDATE

PROGRAMAÇÃO LINEAR. Resolução de problemas de programação linear usando o comando Solver, no Excel.

PROGRAMAÇÃO INTEIRA. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos

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

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Núcleo de Pesquisa e Extensão / LAViD

MicrovixPOS Requisitos, Instalação e Execução

BCC204 - Teoria dos Grafos

TUTORIAL DE UTILIZAÇÃO. Rua Maestro Cardim, cj. 121 CEP São Paulo - SP (11)

TAGs Membro Equipe na importação do XML Lote Guias

SisDEA Home Windows Versão 1

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

Lista 2 - Modelos determinísticos

Departamento de Informática. Análise de Decisão. Métodos Quantitativos LEI 2006/2007. Susana Nascimento

BCC204 - Teoria dos Grafos

Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Linux R. Núcleo de Pesquisa e Extensão / LAViD

6 Construção de Cenários

Modelos Matemáticos para Tratamento de Grooming em Redes de Fibra Óptica

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Microsoft Project 2003

Manual do usuário. Mobile Player

TRABALHO - SIMULAÇÃO DE CONSULTORIA PARA COOPERATIVA CAMPAL 1

Pesquisa e organização de informação

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

MicroPower Presence. Requisitos Técnicos e Roteiro de Acesso

3 Modelo Evolucionário para Sustentabilidade Inteligente

INTELIGÊNCIA ARTIFICIAL Data Mining (DM): um pouco de prática. (1) Data Mining Conceitos apresentados por

Dificuldades de Modelos de PNL. Onde está a solução ótima? Outro exemplo: Condição ótima Local vs. Global Quinta-feira, 25 de abril

Versão PIMACO AUTOADESIVOS LTDA. Assistente Pimaco Ajuda ao Usuário

Performance. Mike McBride Tradução: José Pires

Metodologia de Gerenciamento de Projetos da Justiça Federal

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

Manejo Florestal Sustentável: Dificuldade Computacional e Otimização de Processos

Nome da Empresa. <Nome do Projeto> Plano de Desenvolvimento de Software. Versão <1.0>

Resolução da Lista 2 - Modelos determinísticos

O texto desta seção foi publicado em o

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

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

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

MANUAL DE UTILIZAÇÃO DO PLUGIN TERRANETWORK 1.0 (julho/2007)

Manual do usuário. Mobile Auto Download

Gerenciador de dados do SCS

Ajuda On-line - Sistema de Portaria. Versão 4.8.J

Disciplina de Banco de Dados Parte V

ExemResumo parcial da última Quinta-feira, 28 de fevereiro. Os preços-sombra podem ser encontrados ao se examinar os quadros inicial e final!

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Gerenciamento de Problemas


MANUAL DO USUÁRIO. TOOLBOX SIA.

Manual de Instalação

Transcrição:

2 Problema das p-medianas 2.1 Definição O PMNC é definido da seguinte forma: determinar quais p facilidades (p m, onde m é o número de pontos onde podem ser abertas facilidades) devem obrigatoriamente ser abertas com o intuito de minimizar a soma das distâncias de cada cliente a facilidade aberta mais próxima do mesmo. Portanto, nós queremos minimizar o custo de servir todos os clientes para um dado valor de p. Como este problema é NP-Difícil (Kariv e Hakimi, 1979), é improvável existir um algoritmo com um número de passos polinomial no tamanho da entrada para resolvê-lo, isto é, encontrar uma solução ótima e provar sua otimalidade. A Figura 2.1 ilustra uma solução para o PMNC para uma instância contendo 50 clientes (n = 50) e 16 potenciais localização de facilidades (m = 16), sendo obrigatório a abertura de exatamente cinco facilidades (p = 5). 2.2 Figura 2.1: Exemplo de solução para o PMNC

Capítulo 2. Problema das p-medianas 18 Formulações Nesta seção introduziremos as formulações como programa linear inteiro utilizadas por alguns métodos aplicados ao PMNC. Introduções à Programação Linear e Programação Linear Inteira podem ser encontradas em (Chvatal, 1983) e (Bertsimas e Tsitsiklis, 1997). Iniciaremos com uma formulação do PMNC como problema de programação linear inteira, aqui chamada de problema primal, e apresentaremos, o problema dual da sua relaxação linear. Em seguida, mostramos como o problema dual pode ter seu número de variáveis reduzido, o que é explorado nos métodos de resolução. Finalmente, descrevemos as instâncias que usualmente são utilizadas para medir a eficiência e a eficácia dos algoritmos propostos para a resolução do PMNC. 2.2.1 Formulação Primal Existem algumas maneiras distintas de se formular o PMNC como um problema de programação inteira. Porém, a formulação mais utilizada será descrita a seguir. Esta formulação foi proposta em (ReVelle e Swain, 1970). Os métodos utilizados ao longo desta dissertação que fazem uso da programação inteira e linear empregam estas formulações. Antes de apresentarmos a formulação primal para o PMNC, definiremos as seguintes variáveis de decisão: x ij = { 1 se o cliente i é atendido pela facilidade localizada em j 0 caso contrário y j = { 1 se a facilidade é aberta no local j; 0 caso contrário A seguir é apresentada a formulação primal inteira. min i U sujeito a d ij x ij (2-1) j F x ij = 1, i U (2-2) j F y j x ij 0, i U, j F (2-3) y j = p (2-4) j F x ij,y j {0,1}, i U, j F (2-5)

Capítulo 2. Problema das p-medianas 19 Nesta formulação, F é o conjunto contendo os possíveis pontos de abertura de uma facilidade ( F = m) e U é o conjunto contendo os pontos onde estão localizados os clientes ( U = n). A função objetivo (2-1) minimiza a distância total de atribuição de clientes às facilidades, ou seja, minimiza a soma dos custos de servir os clientes com a facilidade aberta mais próxima. As restrições (2-2) expressam que cada cliente deve ser designado a exatamente uma única facilidade. As restrições (2-3) previnem que um cliente seja designado a uma potencial localização de facilidade que não tenha sido aberta. As restrições (2-4) forçam a abertura de exatamente p facilidades. Por fim, as restrições (2-5) expressam a integralidade e não negatividade das variáveis de decisão. A relaxação linear da formulação primal descrita acima é obtida substituindo-se as restrições (2-5) pelas restrições x ij 0, i U, j F (2-6) y j 0, j F (2-7) A solução ótima da relaxação linear de qualquer problema de minimização formulado com programação inteira fornece um limite inferior para todas as soluções viáveis da respectiva formulação inteira. Isto se justifica pelo fato de que, como se trata de um problema de minimização, a remoção de qualquer restrição diminuirá o valor da solução obtida ou, no máximo, manterá a solução inalterada se a restrição eliminada for redundante. 2.2.2 Formulação Dual Abaixo é exposta a formulação dual para o PMNC obtida a partir da relaxação linear da formulação primal descrita anteriormente. Da teoria da dualidade, consultar (Chvatal, 1983) e (Bertsimas e Tsitsiklis, 1997), temos que todo problema de programação linear, problema primal, que possui uma solução ótima e finita possui um problema dual correspondente cujo valor da solução ótima de ambos os problemas são idênticos (Teorema da Dualidade Forte). Este teorema será ilustrado nos algoritmos duais apresentados nesta dissertação. A seguir é apresentada a formulação dual para o PMNC. sujeito a max i U λ i +γp (2-8)

Capítulo 2. Problema das p-medianas 20 λ i µ ij d ij, i U, j F (2-9) µ ij +γ 0, j F (2-10) i U µ ij 0, i U, j F (2-11) Para a construção desta formulação relacionou-se as seguintes variáveis duais às seguintes restrições da formulação primal: Cada variável dual λ i é associada a cada restrição (2-2) Cada variável dual µ ij é associada a cada restrição (2-3) A variável dual γ é associada a restrição (2-4) A função objetivo (2-8) maximiza a soma das variáveis duais λ i mais um fator γp. As restrições (2-9) e (2-10) serão descritas utilizando o conceito de custo reduzido. O custo reduzido c π (ij) de uma atribuição cliente facilidade (i,j) em relação a uma solução dual π é definido como: c π (ij) = d ij λ i +µ ij, i U, j F (2-12) O custo reduzido c π (j) de uma facilidade j em relação a uma solução dual π é definido como: c π (j) = γ i U µ ij, j F (2-13) Assim, as restrições (2-9). A restrição (2-10). Por fim, as restrições (2-11) expressam a não negatividade das variáveis duais µ ij. As variáveis duais λ i, i U, e γ são irrestritas. Os custos reduzidos serão empregados em técnicas de fixação de variáveis por custo reduzido descrita posteriormente neste trabalho. 2.2.3 Formulação Dual Condensada Abaixo é exposta a formulação dual condensada para o PMNC obtida a partir da formulação dual descrita na Seção 2.2.2, conforme apresentado em (Captivo, 1991). max i U λ i +γp (2-14)

Capítulo 2. Problema das p-medianas 21 sujeito a max(0,λ i d ij ) γ, j F (2-15) i U Para a construção desta formulação foi feita a seguinte simplificação: µ ij = max(0,λ i d ij ), i U, j F (2-16) A função objetivo (2-14) continua a mesma daquela da formulação dual descrita na Seção 2.2.2 e tenciona maximizar a soma das variáveis duais λ i mais um fator γp. As restrições (2-15) serão descritas utilizando o conceito de custo reduzido idêntica aquela descrição utilizado na Seção 2.2.2, porém de forma condensada devido ao fato de estarmos considerando a formulação dual condensada. Assim, o custo reduzido c π (ij) de uma atribuição cliente facilidade (i,j) em relação a uma solução dual π é definido como: c π (j) = γ i U max(0,λ i d ij ), j F (2-17) As restrições (2-17). Contudo, as variáveis duais λ i, i U, e γ continuam irrestritas. 2.3 Problemas Teste Nesta seção tratamos da descrição das instâncias de teste utilizadas para o PMNC. Em seguida, apresentamos as métricas utilizadas para a avaliação dos métodos implementados e, por fim, descrevemos o ambiente onde foram realizados os testes. 2.3.1 Instâncias de Teste Nas subseções seguintes serão descritas as classes de instâncias de teste empregadas nos métodos utilizados neste trabalho. Estas classes são as seguintes: OR-Library e TSP-Library.

Capítulo 2. Problema das p-medianas 22 OR-Library OR-Library é uma coleção de instâncias teste para uma variedade de problemas da área da Pesquisa Operacional. Esta classe foi introduzida em (Beasley, 1990). Para o PMNC, o repositório disponibiliza 40 instâncias teste que foram publicadas em (Beasley, 1985). A cardinalidade do conjunto de pontos destas instâncias está contida no intervalo [100,900], onde cada ponto pode assumir o papel de um cliente ou de uma facilidade (fator dependente da configuração da solução do PMNC). Cada instância possui um valor presente no intervalo [5,200] para o parâmetro p e possui, também, um conjunto de arestas com seus respectivos pesos. Soluções ótimas são conhecidas para todas as instâncias desta classe (Beasley, 1985). Após a leitura das instâncias da classe OR-Library, precisamos aplicar o algoritmo de Floyd Warshall descrito em (Cormen et al., 2001) sobre a matriz de distâncias contida no arquivo de entrada de cada instância para obtermos a alocação completa da matriz de distâncias para cada instância. O algoritmo de Floyd Warshall é utilizado para encontrar caminhos mais curtos entre todos os pares de vértices em um grafo G(V,A). Este algoritmo é executado em tempo O(V 3 ). Para maiores detalhes sobre a utilização deste algoritmo sobre a matriz de distâncias, consultar (Beasley, 1990). TSP-Library TSP-Library (Reinelt, 1991) é uma coleção de instâncias teste para o problema do Caixeiro Viajante (Symmetric Traveling Salesman Problem - TSP) e para problemas relacionados. Esta classe possui diversas origens e diferentes tipos. As instâncias de grande porte para o PMNC são, em geral, obtidas no repositório da TSP-Library disponível na página citada em (TSPLib) e são aquelas disponibilizadas para o TSP onde os pontos estão dispostos no espaço bidimensional. A cardinalidade do conjunto de pontos destas instâncias está contido no intervalo [51,18512], onde cada ponto pode assumir o papel de um cliente ou de uma facilidade (fator dependente da configuração da solução do PMNC). O parâmetro p para cada instância é definido em função da cardinalidade do conjunto de pontos. Soluções ótimas são conhecidas para algumas instâncias desta classe. 2.3.2 Métricas foram: As métricas utilizadas para a avaliação dos métodos implementados

Capítulo 2. Problema das p-medianas 23 Gap : Refere-se a diferença percentual entre o valor de uma solução primal encontrada FO PE e o valor de uma solução dual encontrada FO DE. O Gap é calculado da seguinte forma: Gap = ((FO PE FO DE ) 100) FO DE (2-18) Desvio primal (dp): Refere-se a diferença percentual entre o valor de uma solução primal encontrada FO PE e o valor de outra solução primal que é utilizada como referência FO PR. A solução primal utilizada como referência é a solução ótima para o problema ou, caso a solução ótima não seja conhecida, é a melhor solução primal conhecida na literatura. O desvio primal dp é calculado da seguinte forma: dp = ((FO PE FO PR ) 100) FO PR (2-19) Desvio dual (dd): Refere-se a diferença percentual entre o valor de uma solução dual encontrada FO DE e o valor de uma solução primal que é utilizada como referência FO PR. A solução primal utilizada como referência é a solução ótima para o problema ou, caso a solução ótima não seja conhecida, é a melhor solução primal conhecida na literatura. O desvio dual dd é calculado da seguinte forma: dd = ((FO PR FO DE ) 100) FO DE (2-20) Desvio da relaxação linear (dr): Refere-se a diferença percentual entre o valor de uma solução dual encontrada FO DE e o valor da solução ótima da relaxação linear FO RL. O desvio da relaxação linear dp é calculado da seguinte forma: dr = ((FO RL FO DE ) 100) FO DE (2-21) 2.3.3 Ambiente de Teste Os algoritmos implementados foram desenvolvidos na linguagem C++, utilizando o ambiente de desenvolvimento Microsoft Visual Studio 2005. Os testes foram executados em um microcomputador com processador Intel Core 2 Duo E4500, 2.20 GHz, 2 GB de memória RAM, sob o sistema operacional Microsoft Windows XP Professional, versão 2002, Service Pack 3.