• Nenhum resultado encontrado

Programação Matemática e Heurísticas para o Problema de Fluxo Multiproduto Binário

N/A
N/A
Protected

Academic year: 2021

Share "Programação Matemática e Heurísticas para o Problema de Fluxo Multiproduto Binário"

Copied!
82
0
0

Texto

(1)

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS

Diretoria de Pesquisa e Pós-Graduação Programa de Mestrado em Modelagem Matemática e Computacional

Programação Matemática e Heurísticas para o Problema de

Fluxo Multiproduto Binário

Dissertação de Mestrado submetida ao Programa de Pós-Graduação em Modelagem Matemática e Computacional, como parte dos requisitos exigidos para a obtenção do título de Mestre em Modela- gem Matemática e Computacional.

Aluna: Mayra Carvalho Albuquerque

Orientador: Prof. Dr. Moacir Felizardo de França Filho (CEFET/MG) Co-Orientador: Prof. Dr. Haroldo Gambini Santos (UFOP)

Belo Horizonte - MG

Dezembro de 2011

(2)

Elaboração da ficha catalográfica pela Biblioteca-Campus II / CEFET-MG Albuquerque, Mayra Carvalho

A347p Programação matemática e heurísticas para o problema de fluxo multiproduto binário / Mayra Carvalho Albuquerque. – 2011.

71 f.

Dissertação de mestrado apresentada ao Programa de Pós-Graduação em Modelagem Matemática e Computacional.

Orientador: Moacir Felizardo de França Filho.

Coorientador: Haroldo Gambini Santos.

Dissertação (mestrado) – Centro Federal de Educação Tecnológica de Minas Gerais.

1. Pesquisa operacional – Modelos matemáticos – Teses. 2. Programação linear – Teses. 3. Programação inteira – Teses. 4. Programação heurística – Teses. 5. Otimização combinatória – Teses 6. Análise de redes (Planejamento) – Teses. I. França Filho, Moacir Felizardo de. II. Santos, Haroldo Gambini.

III. Centro Federal de Educação Tecnológica de Minas Gerais. IV. Título.

CDD 519.6

(3)
(4)

Agradecimentos

Aos meus pais pelos princípios e liberdade. Em especial, à minha mãe, exemplo de vida e força, obrigada pelas orações e cuidado.

Aos meus irmãos que sempre me apoiaram.

Ao meu sobrinho pelo carinho e por também suportar as saudades.

Ao professor Moacir França pela orientação e por acreditar em mim ao me esco- lher como sua orientada. Ao professor Sérgio Souza pela colaboração.

Ao professor Haroldo Santos. Sua orientação e visão experiente foram funda- mentais para a dissertação ser concretizada. Obrigada pela motivação, paciência ilimitada e amizade. Meus sinceros agradecimentos e admiração.

Aos professores e funcionários do Programa de Pós-Graduação do CEFET-MG.

Agradeço ao Professor Marcone Souza, pelas excelentes aulas ministradas.

Aos meus amigos do MMC e do CCC. Em especial, Renan e Dayanne, presentes desde o início do mestrado; Solange e Saulo, pelos momentos de confidências e de muita risada; Flaviana, Jeanderson, Herondino, Lillia, Jahina, Luciene, José Maurício, Robert, a todos que estiveram ao meu lado.

Às amigas de república pela agradável convivência.

Ao amigos de Viçosa (UFV), que mesmo com o tempo e a distância, sempre torceram por mim.

A todos os brasileiros que pagam seus impostos, por me sustentarem em BH durante dois anos de mestrado. Com isso, agradeço ao CNPq pela concessão de bolsa.

A Deus pela paz, força, sabedoria e por me proteger nas inúmeras e proveitosas viagens a Ouro Preto.

ii

(5)

Resumo

Os modelos de rede são comumente utilizados para descrever problemas em áreas de importantes aplicações práticas, tais como telecomunicações, sistema de trans- porte, distribuição e logística, dentre outras. Dentre os diversos modelos de rede existentes, tem-se o Problema de Fluxo Multiproduto (PFM), que surge quando diversos produtos competem pelos arcos capacitados numa mesma rede. Um caso particular é o PFM binário, no qual o fluxo de cada produto pela rede é indivisível.

Considerado um problema combinatório difícil, resolvê-lo utilizando métodos exatos pode demandar grande quantidade de tempo e memória. Por outro lado, métodos heurísticos podem gerar soluções de boa qualidade, ainda que sem garantir a oti- malidade. Assim, propõe-se a utilização de métodos exatos combinados a métodos heurísticos para a resolução do problema de fluxo multiproduto binário. Primei- ramente foram propostas e estudadas duas relaxações, baseadas nas restrições do modelo original. Na segunda parte, um algoritmo baseado na inserção de soluções iniciais à programação inteira foi estudado. No algoritmo, soluções heurísticas, cons- truídas a partir de soluções parciais fornecidas pelo resolvedor de programação linear (CPLEX), são inseridas periodicamente na árvore do Branch-and-Cut do próprio re- solvedor. Finalmente, uma heurística de programação matemática aplicada ao PFM binário é apresentada. A heurística baseia-se na resolução de subproblemas menores, derivados de uma decomposição por produtos. Sua eficiência é comprovada quando comparada ao método de Geração de Colunas existente na literatura. Com esse trabalho foi possível provar a otimalidade das melhores soluções obtidas, em todos os problemas-teste. Em particular, soluções ótimas foram alcançadas pela primeira vez, para 8 instâncias.

Palavras-Chave: Problema de Fluxo Multiproduto, Programação Linear Inteira, Heurísticas, Fluxo de Rede.

iii

(6)

Abstract

Network models are commonly used to describe problems in important areas of application, such as telecommunications, transport system, distribution and lo- gistics, among others. Among the various network models existing, there is the Multicommodity Flow Problem (MFP) that arises when different products compete for the capacited arcs on the same network. A case in point is the binary MFP, where the flow of each product across a network is indivisible. Considered a problem of combinatorial complexity, solve it using exact methods can require significant time and memory. On the other hand, heuristic methods can generate good solutions, without ensuring optimality. So, it is proposed the development of exact methods combined with heuristic methods for solving the binary MFP. Firstly, were propo- sed and studied two relaxations based on restrictions of the original model. In the second part, an algorithm based on the insertion of initial solutions to the integer programming has been studied. In this algorithm, heuristic solutions, constructed from partial solutions provided by the linear programming solver (CPLEX), are pe- riodically inserted in the branch-and-cut process of the solver. Finally, a heuristic of integer programming applied to the binary MFP is presented. The heuristic is based on resolutions of smaller subproblems, obtained by commodity decompositions. Its efficiency is proven when compared to the method of Column Generation reported in the literature. With this work, it was possible to prove optimality in all test problems, particularly for the first time, for eight instances.

Keywords: Network Flows, Multicommodity Flow Problem, Integer Programming, Heuristic.

iv

(7)

Sumário

Lista de Tabelas vii

Lista de Figuras viii

Lista de Algoritmos ix

1 Introdução 1

1.1 Considerações iniciais . . . . 1

1.2 Objetivos . . . . 3

1.2.1 Objetivo Geral . . . . 3

1.2.2 Objetivos Específicos . . . . 3

1.3 Motivação . . . . 3

1.4 Organização do Texto . . . . 4

2 Problema de Fluxo Multiproduto 5 2.1 Características do PFM . . . . 5

2.2 Aplicações . . . . 7

2.3 Variações do Problema de Fluxo Multiproduto . . . . 8

2.4 Formulação Matemática . . . . 9

2.4.1 Formulação Nó-Arco . . . . 9

2.4.2 Formulação Arco-Rota . . . 11

2.4.3 Formulação Nó-Arco para o PFM Binário . . . 12

2.5 Exemplo . . . 12

2.6 Estado da Arte . . . 16

2.6.1 Métodos exatos . . . 16

2.6.2 Métodos heurísticos . . . 18

2.6.3 Uso combinado de métodos exatos e meta-heurísticas . . . 18

3 Métodos de Resolução de Problemas de Otimização Combinatória 19 3.1 Métodos Exatos . . . 20

3.1.1 Geração de Colunas . . . 22

3.1.2 Branch-and-Bound . . . 24

3.1.3 Plano de Corte e Branch-and-Cut . . . 25

3.1.4 Branch-and-Price . . . 26

3.1.5 Branch-and-Cut-and-Price . . . 27

3.2 Métodos Heurísticos . . . 27

3.2.1 Heurísticas construtivas . . . 28

3.2.2 Heurísticas de Refinamento . . . 28

v

(8)

3.2.3 Meta-Heurísticas . . . 29

3.3 Programação Matemática/Métodos Heurísticos . . . 29

3.3.1 Rounding . . . 30

3.3.2 Diving . . . 30

3.3.3 LP-and-Fix . . . 30

3.3.4 Relax-and-Fix . . . 31

3.3.5 Feasibility Pump . . . 32

3.3.6 Local Branching . . . 32

3.3.7 RINS - Relaxation Induced Neighborhood Search . . . 33

3.4 Métodos Matheurísticos . . . 33

4 Formulações de Programação Matemática do PFMB 36 4.1 Formulação Original F . . . 36

4.2 Formulação F

s

: Dualização da restrição de capacidade . . . 37

4.3 Formulação F

t

: Dualização da restrição de conservação de fluxo . . . 38

5 Algoritmo Proposto 40 5.1 Algoritmo PI-SIC . . . 40

5.1.1 Heurística de Factibilidade . . . 41

5.1.2 Pseudocódigo PI-SIC . . . 43

5.2 Algoritmo DPPFM . . . 49

5.2.1 Pseudocódigo DPPFM . . . 50

6 Resultados Computacionais 52 6.1 Instâncias testadas . . . 52

6.2 Comparação entre as Formulações . . . 55

6.3 Resultados do Algoritmo PI-SIC . . . 57

6.4 Resultados do Algoritmo DPPFM . . . 62

7 Conclusões e trabalhos futuros 63

Referências 65

vi

(9)

Lista de Tabelas

2.1 Dados da instância. . . . 13

2.2 Rotas viáveis para os produtos da rede. . . . 14

5.1 Comparação entre as estratégias para atributo do arco . . . 44

5.2 Tabela de parâmetros para o Algoritmo PI-SIC . . . 49

6.1 Características das instâncias do problema. . . . 53

6.2 Características das instâncias Carbin em relação ao custo e demanda 54 6.3 Melhores soluções para as instâncias . . . 55

6.4 Resultado para as formulações apresentadas . . . 56

6.5 Resultados do Algoritmo PI-SIC . . . 58

6.6 Resultados: GC (Alvelos, 2005) × DPPFM . . . 62

vii

(10)

Lista de Figuras

2.1 Exemplo de uma rede multiproduto. . . . . 6

2.2 Instância para o problema de fluxo multiproduto. . . . 13

2.3 Solução para a instância de uma rede de fluxo multiproduto Inteiro e Contínuo. . . . 15

3.1 Interação do Problema Mestre com o Subproblema no método Gera- ção de Colunas . . . 24

3.2 Limites no método B &B e a solução ótima. . . . 25

3.3 Representação do particionamento no método B &B. . . . 25

3.4 Principal classificação de combinações exatas/meta-heurísticas. . . . . 34

5.1 Rede inicial completa. . . . 46

5.2 Fixações feitas no B&C para o produto P

A

. . . . 47

5.3 Construção do subgrafo. . . . 47

5.4 Fluxo para o produto P

A

. . . . 48

6.1 Algoritmo PI-SIC: Instância bl04 . . . 57

6.2 Algoritmo PI-SIC: Instância bl10 . . . 59

6.3 Algoritmo PI-SIC: Instância bl19 . . . 59

6.4 Algoritmo PI-SIC: Instância bs11 . . . 60

6.5 Algoritmo PI-SIC: Instância bs17 . . . 60

6.6 Algoritmo PI-SIC: Instância bs21 . . . 61

viii

(11)

Lista de Algoritmos

1 Algoritmo Geração de Colunas . . . 23

2 Algoritmo de planos de corte . . . 26

3 Heurística de Factibilidade Inicial . . . 42

4 PI-SIC . . . 45

5 DPPFM . . . 50

ix

(12)

Capítulo 1 Introdução

1.1 Considerações iniciais

Muitos problemas práticos podem ser formulados como problemas de fluxo de rede. A literatura sobre o tema é bastante extensa. Ford e Fulkerson (1962), Bazaraa et al. (1990), Ahuja et al. (1993) e Eiselt e Sandblom (2000) escreveram livros sobre a Programação Linear na qual os Fluxos de Redes se enquadram.

As redes podem ser classificadas em duas categorias: a rede padrão e a rede generalizada. Os modelos de fluxo de rede padrão exigem a conservação de fluxo em todos os arcos, ou seja, a quantidade de fluxo de entrada de um arco deve ser igual ao montante do fluxo que sai do arco. Os modelos de fluxo de rede generalizada, por outro lado, são generalizações de modelos de fluxo de rede padrão, em que cada arco do grafo subjacente tem um ganho associado positivo ou um fator de perda. O fluxo que passa pelo arco é aumentado ou diminuído por esse fator. Graças a esse recurso de modelagem, as redes generalizadas ganharam atenção considerável nas últimas décadas.

Os modelos de rede são usados para lidar com um grande número de decisões em nossa sociedade. Os problemas de fluxo de rede são os modelos de otimização mais predominantes na prática. Em um modelo de fluxo de rede, a modelagem é a definição de variáveis de decisão, como o fluxo em cada arco. As restrições de conservação de fluxo forçam o fluxo de entrada de cada nó a ser igual ao fluxo que sai desse mesmo nó. As demais variáveis e restrições permitem a consideração de muitos problemas diferentes, provenientes de diversas áreas de aplicação, como:

• Problema de transporte: várias mercadorias produzidas em locais diferentes precisam ser enviadas para diferentes centros de distribuição. Dados o custo do transporte de uma unidade da mercadoria entre cada dois pontos, a capacidade e a demanda em cada centro de distribuição, o problema consiste em encontrar o plano de transporte de menor custo (Hitchcock, 1941).

• Problema de atribuição: dadas diferentes tarefas e diferentes agentes, assegu- rando que cada tarefa seja atribuída a um único agente, cuja capacidade deve ser respeitada, o problema consiste em encontrar uma atribuição de custo mí- nimo (Balachandran, 1976).

1

(13)

1.2 Considerações iniciais 2

• Problema do caminho mínimo: dada uma rede direcionada e o comprimento de cada arco na rede, encontrar o caminho de comprimento mais curto entre dois nós dados.

• Problema de fluxo de valor máximo: dada uma rede direcionada, com um nó de entrada e um nó de saída, e as capacidades associadas a cada arco, encontrar o número máximo de unidades que podem ser encaminhadas de um nó a outro.

Neste caso, as restrições são as equações de equilíbrio de fluxo nos nós.

• Problema de fluxo de custo mínimo: dada uma rede direcionada, com ca- pacidades superiores e inferiores em cada um dos seus arcos, e um conjunto de fluxos externos (positivos ou negativos), que precisam ser encaminhados através da rede, encontrar o custo mínimo de encaminhamento dos fluxos de dados através da rede. Neste caso, o custo por unidade de fluxo em cada arco é conhecido.

• Problema de fluxo multiproduto: o fluxo multiproduto é outra extensão am- plamente utilizada dos fluxos, em que cada produto tem sua própria origem e destino. Dada uma rede direcionada, com capacidade superior em cada um dos seus arcos, o problema consiste em encontrar o fluxo de custo mínimo para o conjunto de produtos.

Os problemas de fluxo generalizado têm sido estudados como um caso especial de Programação Linear por várias décadas. No final dos anos 1950 e início dos anos 1960, Ford e Fulkerson (1962) deram início ao estudo sobre fluxos de redes que lidam com vários produtos diferentes dentro da mesma rede. Esses modelos de fluxo de rede são chamados Modelos de Fluxo Multiproduto.

O Problema de Fluxo Multiproduto (PFM), conhecido por Multicommodity Flow Problem na literatura inglesa, tem grande destaque, devido a suas inúmeras apli- cações, principalmente na área de telecomunicações e transporte, e também pelo grande campo de pesquisa em Programação Linear.

Segundo Garey e Johnson (1979), o Problema de Fluxo com 2-produtos pertence à classe NP-difícil. Entende-se que o PFM, no qual são considerados dois ou mais produtos na rede, é uma generalização deste problema. A partir disso, pode-se afirmar que o PFM também é da classe NP-difícil.

Logo, o PFM está entre os problemas mais difíceis da Programação Linear. A dificuldade prática de resolver os modelos PFM aumenta rapidamente em relação ao tamanho do problema, especialmente no que diz respeito ao número de produtos e, segundo Larsson e Yuan (2004), resolver esses casos é computacionalmente difícil.

Desta forma, as estratégias de resolução envolvem tanto métodos exatos quanto métodos aproximados. Na Seção 2.6 são apresentados alguns trabalhos.

A fim de tratar o PFM na sua versão com restrição binária, que será detalhada

na Seção 2.3, dois algoritmos foram propostos utilizando métodos exatos e métodos

heurísticos.

(14)

1.3 Objetivos 3

1.2 Objetivos

1.2.1 Objetivo Geral

Este trabalho trata o Problema de Fluxo Multiproduto Binário (PFMB). O ob- jetivo principal é realizar um estudo sobre o problema através da sinergia entre métodos exatos e métodos heurísticos, buscando assim, fazer contribuições a esta recente linha de desenvolvimento e também contribuir para essa classe de problemas de grande aplicação. A resolução por meio de métodos exatos e métodos heurísticos é proposta de forma integrativa, utilizando programação matemática incorporada a uma heurística para a resolução do PFMB.

1.2.2 Objetivos Específicos

Com a finalidade de alcançar o objetivo geral, os seguintes objetivos específicos foram traçados:

• modelagem do problema PFMB com programação inteira;

• estudo de dois tipos de relaxações do problema, incluindo diferentes variáveis de folga;

• implementação de uma heurística que interage com a programação matemá- tica, a fim de decompor o problema em dimensões tratáveis;

• desenvolvimento de uma heurística construtiva, de forma a obter soluções ini- ciais para a programação matemática, possibilitando assim a informação de um limite superior para o resolvedor de Programação Mista Inteira (PIM);

• estudo de uma heurística que opera, periodicamente, com a programação ma- temática;

• obtenção de soluções para instâncias que ainda não foram solucionadas com os métodos existentes na literatura;

• análise da adequação do modelo e dos métodos de solução, por meio de testes com problemas da literatura.

1.3 Motivação

Vários problemas de otimização combinatória têm sido muito estudados, em vir- tude da escassez de algoritmos eficientes para solucioná-los de forma exata, num tempo de processamento viável, para instâncias de tamanho significativo. Além da motivação teórica, estes problemas aparecem com frequência em ambientes indus- triais, onde melhorias nos processos podem levar ao aumento da produtividade e à diminuição dos custos de produção.

Dada a dificuldade inerente de solução dos problemas da classe NP-difícil, um

grande número de técnicas de resolução tem sido proposto nas últimas décadas.

(15)

1.4 Organização do Texto 4 As técnicas disponíveis para resolução desses tipos de problemas podem ser classi- ficadas em duas categorias principais: métodos exatos e métodos heurísticos. Os métodos exatos encontram uma solução com garantia da otimalidade. Porém, o tempo de execução muitas vezes aumenta drasticamente, de acordo com a dimensão do problema. Para as instâncias maiores, a única possibilidade é geralmente recor- rer aos métodos heurísticos, nos quais a garantia da otimalidade cede espaço para o tempo de execução, ou seja, eles são projetados para obter boas soluções em tempo aceitável, mas não necessariamente chegam à solução ótima.

Os problemas de fluxo multiproduto compartilham muitas características das variantes do problema de fluxo de único produto, mas a interação de múltiplos fluxos muitas vezes invalida a base teórica dos problemas de fluxo de único produto e, portanto, reduz a utilidade de algoritmos bem desenvolvidos para estes problemas.

Como exemplo, o Teorema de Fluxo-Máximo e Corte-Mínimo de Ford e Fulkerson garante que, se as capacidades dos arcos são inteiras, então há um fluxo máximo inteiro. Segundo Wu (2004), este teorema não pode ser estendido aos problemas de fluxo multiproduto, com raras exceções. Neste sentido, este teorema não pode ser aplicado para o problema tratado neste trabalho.

A maior parte das abordagens a respeito do PFM se deu através de métodos exatos para resolução. Contudo, pela complexidade do problema, esses métodos podem demandar muito tempo e memória. Uma proposta para tratar esses pontos negativos é recorrer à combinação de métodos exatos e métodos heurísticos.

Portanto, a abordagem proposta ao Problema de Fluxo Multiproduto Binário é relevante e acredita-se numa contribuição para o estado da arte do problema, sendo este, o principal incentivo para que esta pesquisa tivesse seu foco no PFMB.

1.4 Organização do Texto

A presente dissertação está organizada como descrito a seguir. No Capítulo 2 é

apresentada a definição e aplicações do PFM, suas formulações e variações. Ainda

neste capítulo, faz-se uma breve descrição do estado da arte do problema, sendo des-

critos alguns trabalhos existentes na literatura com abordagens sobre o PFM. No

Capítulo 3 apresentam-se métodos de resolução de problemas de otimização com-

binatória. Neste capítulo, são descritos métodos exatos, bem como métodos que

integram programação matemática e heurísticas. No Capítulo 4 são apresentadas

as formulações propostas para o PFMB. No Capítulo 5, detalha-se o algoritmo pro-

posto. Além disso, apresentam-se as estratégias adotadas para garantir a eficiência

do algoritmo e a resolução problema. No Capítulo 6, os resultados obtidos com os

algoritmos propostos são apresentados e algumas comparações são mostradas. Por

fim, no Capítulo 7 apresentam-se as conclusões e a descrição de possíveis trabalhos

futuros.

(16)

Capítulo 2

Problema de Fluxo Multiproduto

Neste capítulo são caracterizados os Problemas de Fluxo Multiproduto. Na Seção 2.1 é apresentada a definição do PFM, enquanto que diversas aplicações são apresentadas na Seção 2.2. Na Seção 2.3 são apresentadas as variantes do problema.

Na Seção 2.4 são descritas formulações existentes para o PFM. Um exemplo de rede fluxo multiproduto é dado na Seção 2.5. Finalmente, uma breve revisão do estado da arte do PFM é apresentada na Seção 2.6.

2.1 Características do PFM

Apresentado inicialmente por Ford e Fulkerson (1962) e Hu (1963), o Problema de Fluxo Multiproduto (PFM) é caracterizado por vários produtos que compartilham os arcos em uma rede capacitada.

Os Problemas de Fluxo Multiproduto desempenham um papel importante na área de Otimização Combinatória, sendo uma generalização dos conhecidos proble- mas de fluxo de único produto. No PFM, vários fluxos coexistem na mesma rede, cada um com sua própria conservação de fluxo e competindo pelos recursos da rede, como as capacidades dos arcos. Problemas como o PFM compartilham muitas ca- racterísticas das variantes do problema de fluxo de único produto, mas a interação de múltiplos fluxos muitas vezes invalida a base teórica dos problemas de fluxo de único produto e, portanto, reduz a utilidade de alguns algoritmos bem desenvolvidos para estes problemas (Wu, 2004).

Considere uma empresa que administra um conjunto de estabelecimentos for- mado por fábricas e depósitos de um determinado produto. Cada fábrica produz uma certa quantidade do produto e cada depósito deve armazenar uma certa quanti- dade. Os estabelecimentos são interconectados por uma rede de vias de transporte, como, por exemplo, estradas, sobre a qual são definidos custos de transporte e limites para a quantidade transportada. O desejo da empresa é estabelecer uma distribuição do produto sobre essa rede, de forma a satisfazer as ofertas e demandas dos estabe- lecimentos, respeitar os limites das estradas e minimizar o custo total de transporte.

Este é um exemplo de instância do problema conhecido como Problema do Fluxo de Único Produto de Custo Mínimo. Considere agora que essa mesma empresa administra também outras fábricas e depósitos para outro tipo de produto e este, por sua vez, também deve ser distribuído satisfazendo as ofertas e demandas dos estabelecimentos e ainda respeitando os limites para a quantidade transportada. Os

5

(17)

2.1 Características do PFM 6 dois produtos dessa fábrica serão transportados de forma a atender às demandas, sendo que os dois produtos irão competir pelos limites da estrada. A empresa tem que escolher as estradas em que cada produto será transportado, respeitando os limites das mesmas, satisfazendo as ofertas e demandas, de forma a ter o menor custo de transporte. Este é um exemplo de instância para o Problema de Fluxo Multiproduto. Pode ser observado que o fluxo multiproduto é uma generalização do problema de fluxo de único produto, como afirmado anteriormente.

O modelo da rede multiproduto é dado por meio de um grafo direcionado. Como em todo problema de rede de fluxo, os arcos possuem uma capacidade, neste caso, restringindo a quantidade de produtos a trafegar por eles. Além disso, no Problema Fluxo Multiproduto, todo arco pertencente à rede tem um custo associado a cada item por ele trafegado. Assim, o objetivo é encontrar o fluxo desses produtos na rede, de forma a obter o custo mínimo.

Cada produto deve trafegar na rede, desde seu nó-origem até seu nó-destino.

Diferentes produtos podem ter diferentes origens e/ou destinos. Alguns nós da rede podem não estar associados a nenhum produto, sendo considerados nós de transbordo, utilizados apenas como passagem dos produtos. Portanto, o Problema de Fluxo Multiproduto consiste em determinar o fluxo dos produtos na rede de maneira que o custo seja o menor possível, respeitando a conservação de fluxo e a capacidade de cada arco.

Na Figura 2.1 é apresentada uma rede de fluxo multiproduto contendo 2 produ- tos, P

A

e P

B

, que devem trafegar na rede. O produto P

A

é ofertado pelo nó 1 e o produto P

B

pelo nó 5. Os nós de demanda para os produtos P

A

e P

B

são os nós 4 e 2, respectivamente. Cada aresta possui um limite à quantidade de produtos que pode trafegar por ela, além de um custo associado a cada item de produto trafegado.

Figura 2.1: Exemplo de uma rede multiproduto.

(18)

2.2 Aplicações 7

2.2 Aplicações

Há muitos estudos e pesquisas sobre o Problema de Fluxo Multiproduto. Este interesse pode ser justificado pela sua relevância teórica e prática. Do ponto de vista teórico, o PFM é utilizado como inspiração e testes para novos métodos da Progra- mação Linear. Do ponto de vista prático, o PFM, com suas diversas variações, serve de modelo de uma grande variedade de problemas em telecomunicações, transporte e planejamento. A maioria deles são problemas de roteamento e projeto de rede. A seguir são listados alguns trabalhos que têm o fluxo multiproduto como modelo de rede para o problema tratado.

Em termos de problemas aplicados em Roteamento de Redes, tem-se os se- guintes:

• Roteamento de mensagens ou pacotes em redes de telecomunicação e informá- tica:

– Roteamento de tráfego de internet (Buriol et al., 2003);

– Otimização em redes de fibra ótica (Ozdaglar e Bertsekas, 2003);

– Encaminhamento em uma rede em anel (Shepherd e Zhang, 2001);

– Roteamento de mensagens em redes de comunicações (Hu, 1969; Na- niwada, 1969).

• Agendamento e roteamento na área de logística e transporte:

Nos problemas de transporte ou logística, os produtos podem ser objetos como mercadorias ou mesmo pessoal. Esse tipo de problema é frequentemente mo- delado como um problema PFM em uma rede espaço-tempo em que uma mer- cadoria pode ser: um navio-tanque, aeronaves, uma equipe ou um transporte ferroviário.

– Roteamento de uma frota de navios (Faiz e Seung-June, 2007);

– Alocação de equipes de enfermeiros (Moz e Pato, 2003);

– Alocação de tripulação de avião (Cappanera e Gallo., 2001);

– Alocação/sequenciamento de vagões de cargas em uma rede ferroviária (Assad, 1980; Shan, 1985; Mendes, 1999);

– Roteamento de aviões (Hane et al., 1995; Verweij et al., 1997);

– Alocação de suprimentos de acordo com os meios de transporte nas ope- rações de resgate (Haghani e Oh, 1996);

– Roteamento/sequenciamento de suprimentos militares (Schultz e Meyer, 1991; Staniec, 1987);

• Programa e planejamento de produção:

– Sequenciamento de operações em refinarias de petróleo (Lasdon, 1970;

Milidiu et al., 2001);

– Programação e planejamento em uma empresa de manufaturas (D‘Amours

et al., 1996);

(19)

2.3 Variações do Problema de Fluxo Multiproduto 8 – Planejamento de produção de bens de consumo (Hax e Candea, 1984);

Em termos de problemas aplicados em Projeto de Redes tem-se:

• Projeto de Rede Capacitado de Telecomunicações:

– Problema de projeto de redes (Frangioni e Gendron, 2009).

• Projeto de Rede de Transportes:

Localizar depósitos de veículos em um sistema de transporte de carga, de modo que a soma de custos operacionais e custos de abertura de outros meios de transporte sejam minimizados.

– Roteamento e alocação de tráfego (Babonneau e Vial, 2008);

– Serviço de rede no transporte de carga (Crainic, 2000);

– Localização de depósitos (Geoffrion e Graves, 1974);

– Planejamento de sistemas de tráfego urbano (Bradley, 1965; Potts e Oli- ver, 1972).

2.3 Variações do Problema de Fluxo Multiproduto

A seguir são apresentadas as três variações mais estudadas para o Problema de Fluxo Multiproduto. Essas variações são caracterizadas pelas formas como produtos e fluxos são tratados.

• Problema Contínuo: No problema contínuo os produtos são considerados grandezas contínuas ( R ), que podem ser divididas em porções não inteiras.

Assim, o fluxo total de um produto pode ser dividido em diferentes caminhos.

• Problema Inteiro: É similar ao problema contínuo, no que diz respeito à possibilidade de divisão do fluxo total de um produto por diferentes caminhos.

No entanto, as quantidades a serem transportadas são consideradas variáveis inteiras ( Z ).

• Problema Binário: No problema binário as quantidades de cada produto a ser transportado não são divisíveis. Assim, todas as unidades de um dado produto devem seguir por um único caminho através da rede.

Há outras variações para o problema de fluxo multiproduto, nas quais são estu- dados o layout da rede, a utilização da capacidade e as opções de roteamento dos produtos.

Uma variação que pode ocorrer é em relação à origem e ao destino dos produtos.

Há casos em que um produto pode ser ofertado por vários nós e há outros em que existem diversos pontos de demanda para um mesmo produto. No problema a ser tratado no presente trabalho é considerada a situação em que cada produto tem um único nó-origem e um único nó-destino.

Em alguns modelos, o fluxo na rede é dinâmico, pois é requerido um certo tempo

limite para o tráfego em cada arco e os parâmetros da rede podem também mudar

(20)

2.4 Formulação Matemática 9 de acordo com o tempo. Fluxos dinâmicos são amplamente usados para modelar problemas de rede estruturada com tomada de decisões ao longo do tempo (Aronson, 1989; Fonoberova e Lozovanu, 2005).

Outra variação é o problema multiproduto capacitado de carga-fixa. Neste pro- blema são considerados dois custos: um custo fixo, associado ao uso do arco; e um custo variável dependente da quantidade de produto que trafega no arco (Magnanti e Wong, 1984; Costa et al., 2009).

Em algumas aplicações encontradas na área de comunicação e transporte, os pro- dutos interagem de uma forma mais complicada. Neste sentido, o fluxo de produtos no arco aumenta eventualmente, o que pode incorrer um custo crescente e não-linear em cada arco. Este tipo de modelo surge com frequência, por exemplo, em redes de tráfego. O objetivo, neste caso, é encontrar o padrão dos fluxos que minimiza o atraso geral do sistema ou até mesmo evitar o congestionamento na rede, carac- terizando assim, um problema de fluxo multiproduto não-linear (Bertsekas, 1998;

Ouorou et al., 2000).

O problema de k-divisíveis fluxo multiproduto foi introduzido por Baier et al.

(2002). Neste problema podem ser considerados no máximo k caminhos. Considera este problema, por exemplo, no setor de transportes, onde um número de diferentes mercadorias devem ser expedidas para vários destinos ao menor custo possível. Por razões de segurança, não é desejável dividir os produtos em mais de k rotas.

Os problemas considerados indivisíveis são aqueles em que o produto deve fazer uso de apenas um caminho. Na literatura é chamado de indivisível ou não-bifurcado (unsplittable ou non-bifurcated flows ). Esta caracterização trata do problema de fluxo multiproduto binário, que é tratado no presente trabalho. O fluxo multipro- duto binário é estudado nos trabalhos de Gavish e Altinkemer (1990); Brockmüller et al. (1996); van Hoesel et al. (2002); Bartolini e Mingozzi (2009).

2.4 Formulação Matemática

Considere uma rede direcionada representada por um grafo G = (N , A). No grafo G, N representa o conjunto de n nós e A representa o conjunto de a arcos direcionados. Considere, ainda, um conjunto de h produtos, denotado por K.

Associado a cada arco a ∈ A, há um par de nós (i, j), um custo para que cada unidade de cada produto trafegue pelo referido arco e uma capacidade. Deve ser observado que o custo para a utilização de um dado arco não é, necessariamente, o mesmo para todos os produtos.

2.4.1 Formulação Nó-Arco

Em uma Formulação Nó-Arco (2.1) para o Problema de Fluxo Multiproduto,

como aquela apresentada em Alvelos (2005), a variável de decisão x

kij

denota a

quantidade do produto k a ser transportada pelo arco (i, j). O custo para transportar

uma unidade do produto k através do arco (i, j) é denotado por c

kij

. A capacidade

do arco (i, j) é representada por u

ij

. O parâmetro b

ki

caracteriza o nó, ou seja, define

se o nó i é origem ou destino para o produto k. Seja r

k

a quantidade do produto k

a ser transportada. Então b

ki

pode ser definido da seguinte forma:

(21)

2.4 Formulação Matemática 10

b

ki

=

r

k

, se o nó i é oferta para o produto k;

−r

k

, se o nó i é demanda para o produto k;

0, se o nó i é um nó de transbordo para o produto k.

Logo, a formulação matemática é dada por:

min X

k∈

K X

(i,j)∈

A

c

kij

x

kij

(2.1a)

sujeito a: X

j:(i,j)∈

A

x

kij

− X

j:(j,i)∈

A

x

kji

= b

ki

, ∀i ∈ N , ∀k ∈ K (2.1b) X

k∈

K

x

kij

6 u

ij

, ∀(i, j) ∈ A (2.1c) x

kij

≥ 0, ∀k ∈ K, ∀(i, j ) ∈ A (2.1d) Em (2.1a) tem-se a função objetivo. Deseja-se determinar a rota para o tráfego de cada produto na rede, com o menor custo total. A restrição (2.1b) representa a conservação de fluxo. Essa restrição é responsável por garantir o tráfego dos produtos pela rede, de forma que cada produto satisfaça o par origem-destino. A restrição (2.1c) refere-se à restrição de capacidade, limitando a quantidade de produtos em cada arco. Finalmente, em (2.1d) tem-se as restrições de não-negatividade para o problema.

No problema de fluxo multiproduto, cada produto possui um nó de oferta (de onde deve sair) e outro nó de demanda (onde tem que chegar). Desta forma, cada produto está associado a um par origem-destino. Cada produto possui quantidade de oferta igual à respectiva quantidade de demanda. Como definido anteriormente, um nó de transbordo significa que o nó servirá apenas de passagem para o produto.

Considere a matriz de coeficientes M associada ao conjunto de restrições (2.1b), ou seja, as restrições de conservação de fluxo. A matriz M pode ser chamada de matriz de incidência nó-arco, possuindo uma linha para cada nó e uma coluna para cada arco da rede. Desta forma, a Formulação (2.1) também pode ser descrita por:

min X

k∈

K X

(i,j)∈

A

c

kij

x

kij

(2.2a)

sujeito a: M x

k

= b

k

, ∀k ∈ K (2.2b)

X

k∈

K

x

kij

6 u

ij

, ∀(i, j) ∈ A (2.2c) x

kij

≥ 0, ∀k ∈ K, ∀(i, j) ∈ A (2.2d) A matriz de incidência nó-arco M , com dimensão |N | × |A|, contém exatamente dois valores não-nulos: -1 e 1. A coluna associada ao arco (i, j) contém 1 na linha i, -1 na linha j e 0 nas demais linhas. Portanto, para cada componente m

ij

, segue que:

m

ij

=

1, se o nó i é fonte para j ;

−1, se o nó i é sumidouro para j ;

0, nos demais casos.

(22)

2.4 Formulação Matemática 11 O vetor coluna x

k

, de dimensão |A|, representa o fluxo do produto k em cada arco da rede. O parâmetro b

k

é o vetor oferta/demanda para o produto k, de dimensão

|N |. Esse parâmetro indica o fluxo entre os nós, determinando se o nó é oferta, demanda ou transbordo para o produto. Cada linha do vetor b

k

representa um nó i, identificando o nó como ponto de oferta, demanda ou transbordo.

2.4.2 Formulação Arco-Rota

Uma outra maneira de tratar o problema de fluxo multiproduto é relacionar arco e rota, que leva à Formulação Arco-Rota. Nesta formulação, cada produto k possui uma demanda r

k

, que indica a quantidade de produto k que deve ser transportada de seu nó-origem ao seu nó-destino.

Considere o conjunto de todas as rotas para o produto k, denotado por P

k

. Este conjunto possui todos os possíveis caminhos p, ou rotas, para o produto k para o seu par origem-destino. Considere ainda que, associado ao produto k, há um custo unitário do caminho p, representado por c

pk

. A variável de decisão não-negativa, x

pk

, representa a quantidade do produto k que trafega pela rota p. O parâmetro a

pij

é o componente da matriz de incidência arco-rota A, na qual cada linha representa um arco e cada coluna uma rota. Desta forma, a

pij

será 1, se o arco (i, j) pertence à rota p ∈ P

k

para o produto k e será 0, caso contrário.

A Formulação Arco-Rota (2.3), apresentada em Alvelos (2005), é dada por:

min X

k∈

K X

p∈

P

k

c

pk

x

pk

(2.3a)

sujeito a: X

p∈

P

k

x

pk

= r

k

, ∀k ∈ K (2.3b)

X

k∈

K X

p∈

P

k

a

pij

x

pk

6 u

ij

, ∀(i, j ) ∈ A (2.3c) x

pk

≥ 0, ∀k ∈ K, ∀p ∈ P

k

(2.3d) Em (2.3a) tem-se a função objetivo, que consiste em encontrar um conjunto de rotas que permita transportar o conjunto de produtos, ao menor custo total. A restrição (2.3b) representa as restrições de distribuição do produto k pelas rotas que satisfazem o seu par origem-destino, atendendo às demandas. Em (2.3c) tem-se as restrições de capacidade para cada arco (i, j).

As formulações para os problemas contínuo e inteiro são semelhantes, mudando- se apenas a variável de decisão. A formulação (2.1) descreve um problema de fluxo multiproduto contínuo. Para o problema inteiro, basta que na restrição (2.1d) se mude a variável de decisão x

kij

para inteira, isto é, x

kij

∈ Z . Logo, nestes dois casos, x

kij

irá representar a quantidade do produto k que irá trafegar no arco (i, j).

O Problema de Fluxo Multiproduto Binário será estudado no presente trabalho.

Neste problema, todas as unidades de um dado produto devem seguir juntas, por

um único caminho ao longo da rede. Dessa forma, não é necessário conhecer a

quantidade de um determinado produto a trafegar no arco. Logo, a questão é saber

se o produto k usará o arco e não a quantidade de produto k que trafegará pelo arco.

(23)

2.5 Exemplo 12 Portanto, a decisão binária consiste em definir se o produto k irá ou não utilizar o arco (i, j). Neste caso, tem-se uma diferenciação da formulação geral apresentada anteriormente.

2.4.3 Formulação Nó-Arco para o PFM Binário

Considere c

kij

representando o custo unitário de tráfego do produto k no arco (i, j), u

ij

representando a capacidade no arco (i, j); e r

k

a quantidade do produto k a ser transportada na rede. Neste problema binário, o parâmetro b

ki

assume os valores:

b

ki

=

1, se o nó i é oferta para o produto k;

−1, se o nó i é demanda para o produto k;

0, se o nó i é um nó de transbordo para o produto k.

A variável x

kij

é definida como segue:

x

kij

=

1, se o arco (i, j) pertence ao fluxo do produto k;

0, se o arco (i, j) não pertence ao fluxo do produto k.

De acordo com Alvelos (2005), a Formulação Nó-Arco para o problema binário é dada por:

min X

k∈KK

X

(i,j)∈

A

c

kij

r

k

x

kij

(2.4a)

sujeito a: X

j:(i,j)∈

A

x

kij

− X

j:(j,i)∈

A

x

kji

= b

ki

, ∀i ∈ N , ∀k ∈ K (2.4b) X

k∈

K

r

k

x

kij

6 u

ij

, ∀(i, j) ∈ A (2.4c) x

kij

∈ {0, 1}, ∀ k ∈ K, ∀ (i, j) ∈ A (2.4d)

2.5 Exemplo

Considere uma instância do Problema de Fluxo Multiproduto Binário (PFMB) definida através de uma rede direcionada representada pela Figura 2.2.

A figura apresenta um exemplo de uma rede de fluxo multiproduto com 4 nós, 5 arcos e 2 produtos, P

A

e P

B

. Os nós 3 e 4 são considerados nós de oferta e os nós 1 e 2 são considerados nós de demanda para os produtos P

A

e P

B

, respectivamente. As unidades a serem trafegadas na rede são: 3 unidades do produto P

A

e 4 unidades do produto P

B

. Os custos unitários associados a cada arco diferenciam-se por produto.

Esses custos e a capacidade nos arcos são apresentados na Tabela 2.1. A última

coluna da Tabela representa os nós de ligação do arco.

(24)

2.5 Exemplo 13

Figura 2.2: Instância para o problema de fluxo multiproduto.

Tabela 2.1: Dados da instância.

Arco Custo P

A

Custo P

B

Capacidade Nós de ligação

a

1

2 3 8 (1,2)

a

2

3 2 6 (4,1)

a

3

10 4 5 (3,1)

a

4

1 6 7 (4,2)

a

5

5 4 3 (3,4)

A matriz de incidência nó-arco (M ) associada à instância da Figura 2.2 é:

M =

a

1

a

2

a

3

a

4

a

5

1 1 −1 −1 0 0

2 −1 0 0 −1 0

3 0 0 1 0 1

4 0 1 0 1 −1

Considere que os fluxos sejam binários. Como a instância possui dois produtos, o parâmetro b

k

para este problema binário será:

b

1

=

−1 0 1 0

e b

2

=

 0

−1 0 1

em que k = 1 representa o produto P

A

e k = 2 o produto P

B

.

Assim, a formulação matemática dada em (2.4) para essa rede binária é:

(25)

2.5 Exemplo 14

min 6x

112

+ 12x

212

+ 9x

141

+ 8x

241

+ 30x

131

+ 16x

231

+3x

142

+ 24x

242

+ 15x

134

+ 16x

234

sujeito a: 3x

112

+ 4x

212

≤ 8 3x

141

+ 4x

241

≤ 6 3x

131

+ 4x

231

≤ 5 3x

142

+ 4x

242

≤ 7 3x

134

+ 4x

234

≤ 3 x

112

− x

141

− x

131

= −1 x

212

− x

241

− x

231

= 0

−x

112

− x

142

= 0

−x

212

− x

242

= −1 x

131

− x

134

= 1 x

231

− x

234

= 0 x

141

+ x

142

− x

134

= 0 x

241

+ x

242

− x

234

= 1

x

112

, x

212

, x

141

, x

241

, x

131

, x

231

, x

142

, x

242

, x

134

, x

234

∈ {0, 1}

Analisando o produto P

A

isoladamente, quanto à conservação do fluxo e às ca- pacidades dos arcos, tem-se duas possíveis rotas. Uma rota passando pelos nós [3 − 4 − 1] e outra rota pelos nós [3 − 1]. Analisando em seguida o produto P

B

, tam- bém de maneira isolada tem-se também duas rotas viáveis. Uma rota mais direta, ligando apenas os nós [4 − 2] e outra rota ligando os nós [4 − 1 − 2].

A Tabela 2.2 representa o custo para cada rota de acordo com o produto.

Tabela 2.2: Rotas viáveis para os produtos da rede.

Produto Rotas Viáveis Custo

P

A

(3 − 4 − 1) 3 · (5 + 3) = 24 P

A

(3 − 1) 3 · 10 = 30 P

B

(4 − 1 − 2) 4 · (2 + 3) = 20

P

B

(4 − 2) 4 · 6 = 24

O objetivo é encontrar o fluxo de menor custo. Sendo assim, a melhor escolha para as rotas é: a rota [3 − 4 − 1] para o produto P

A

e para o produto P

B

a rota [4 − 1 − 2], totalizando o custo de 44. Contudo, note que o arco (4, 1) é comum às duas rotas e podem trafegar por ele apenas 6 unidades de produto. O total de unidades dos dois produtos que requerem o tráfego por este arco é de 7 unidades.

Este total ultrapassa a capacidade do arco (4, 1) tornando esta combinação de rotas inviável. Escolhendo outra rota, por exemplo na rota do produto P

B

, mudando a rota para [4 − 2] de custo 24, tem-se que o custo total para o novo fluxo será 48.

Houve um acréscimo no custo total, comparado ao primeiro fluxo, porém este fluxo

de custo 48 é viável. Dentre as outras possibilidades, verifica-se que é o de melhor

(26)

2.6 Exemplo 15 custo. Portanto, o fluxo ótimo para esta rede caracterizado pelas rotas: [3 − 4 − 1]

(para o produto P

A

) e [4 − 2] (para o produto P

B

).

A variável de decisão x

kij

definida na formulação 2.4 para esta solução, será:

x =

P

A

P

B

a

1

0 0

a

2

1 0

a

3

0 0

a

4

0 1

a

5

1 0

Considerando agora uma rede de fluxo multiproduto inteiro, tem-se as seguintes rotas como solução:

• Para o produto P

A

será a rota [3 − 4 − 1] com o custo de 24.

• Para o produto P

B

será feita uma divisão em duas subrotas, sendo trafegadas 3 unidades pela rota [4 − 1 − 2] e 1 unidade em [4 − 2], com o custo de 3 · (2 + 3) + 1 · 6 = 21.

Portanto, o custo total do fluxo para a rede multiproduto inteiro é de 45.

O fluxo multiproduto contínuo para esta instância terá essa mesma solução. A Figura 2.3 representa a solução para o fluxo inteiro e contínuo.

1

1 3

P P B B

2

P P A A P

P A A

Rota de P P

AA

Rota de P P

BB

1

4

P P B B

1 3

Figura 2.3: Solução para a instância de uma rede de fluxo multiproduto Inteiro e

Contínuo.

(27)

2.6 Estado da Arte 16

2.6 Estado da Arte

Segundo Castro (2003), os estudos sobre o Problema de Fluxo Multiproduto se concentram na resolução por meio de quatro classes de métodos: baseados no Método Simplex, métodos de decomposição, métodos de aproximação e métodos de pontos interiores. Uma breve descrição dos trabalhos mais relevantes para o presente trabalho e/ou de estudos recentes é apresentada a seguir.

2.6.1 Métodos exatos

Barnhart et al. (1998) propõem um algoritmo Branch-and-Price para o problema de fluxo multiproduto. Neste trabalho, o método de geração de colunas é desenvol- vido como resolução para as formulações de programação inteira com um enorme conjunto de variáveis. Foram discutidos os problemas computacionais e a imple- mentação de geração de colunas, algoritmos Branch-and-Bound incluindo regras de ramificações especiais e caminhos eficientes para resolver a relaxação linear. Neste trabalho, são analisadas as similaridades e as diferenças entre Branch-and-Price e a dualidade Lagrangeana.

Em Hadjiat et al. (2000) foi proposto um método de solução baseado no Método Simplex, no qual utiliza-se um método de particionamento primal refinado para o problema de fluxo multiproduto não-simultâneo.

Mamer e McBride (2000) propuseram um novo procedimento para a operação de pricing, adequado para grandes problemas PFM lineares. O procedimento resolve um subproblema relaxado, identificando a coluna que tem alta probabilidade de entrar na base. O procedimento proposto é comparado com a decomposição de Dantzig-Wolfe.

Em Barnhart et al. (2000) é apresentado um algoritmo Branch-and-Price-and- Cut para o PFM binário, que utiliza geração de colunas para encontrar limites na árvore de Branch-and-Bound e apresenta uma nova regra de ramificação, permitindo que sejam geradas novas colunas de forma eficaz. Primeiramente, foi apresentado apenas o Branch-and-Price. Em seguida, para combater a simetria do problema, foram acrescentados cortes neste algoritmo, desenvolvendo o Branch-and-Price-and- Cut, que permite a geração de colunas e cortes a serem aplicados em toda a árvore.

A adição de cortes diminuiu consideravelmente o número de nós procurados nos casos em que a solução ótima foi encontrada e diminuiu o gap de otimalidade para a maioria das outras instâncias. Além disso, foi concluído que a redução só funci- ona para problemas em que o fluxo de produtos é grande em comparação com as capacidades dos arcos.

van Hoesel et al. (2002) tratam o PFM não-bifurcado, de forma a encontrar desigualdades válidas fortes para os politopos do arcos capacitados e determinam condições em que essas restrições definem uma faceta. Concluem que as desigual- dades reduzem substancialmente o número de nós necessários para uma abordagem branch-and-cut.

Chardaire e Lisser (2002) e Castro (2003) utilizam algoritmos especializados em

métodos de pontos interiores aplicados ao PFM. Chardaire e Lisser (2002) apre-

sentam uma implementação de Dantzig-Wolfe baseada no Método Simplex especi-

alizado. É desenvolvido o método de plano de corte de centro analítico ao PFM

(28)

2.6 Estado da Arte 17 não-orientado. Castro (2003), por sua vez, faz uma revisão do estado-arte em re- solver problemas multiproduto em grande escala e também faz comparações dos resolvedores baseados no Método Simplex com algoritmos de pontos-interiores. Foi concluído que os métodos de solução baseados no Simplex, ponto-interior, ou méto- dos de decomposição podem ser mais adequados dependendo do tipo de problema tratado. E mais, se a precisão da solução não é importante, métodos de aproximação devem ser considerados.

O problema de fluxo binário foi tratado em Alvelos e Carvalho (2003), que aplica- ram o algoritmo Branch-and-Price ao PFM binário. Duas decomposições diferentes para o PFM, arco e caminho, baseadas na decomposição de Dantzig-Wolfe, são apresentadas.

Wu (2004) apresenta um método baseado na relaxação langrangeana para o pro- blema de fluxo multiproduto não-linear com restrições inteiras, utilizando o método subgradiente para encontrar os multiplicadores de Lagrange ótimos. Este trabalho obteve resultados com soluções que estão dentro de uma pequena porcentagem da solução ótima e com o tempo razoável para os problemas práticos de redes IP de grande porte.

Truffot et al. (2005) estudaram o problema de fluxo multiproduto k-caminhos, em que o fluxo dos produtos pela rede pode fazer uso de até k caminhos. Foi aplicado o método branch-and-price para este PFM. Gamst et al. (2010) deram continuidade a este estudo, com algumas modificações. A técnica utilizada foi também o método Branch-and-Price, que superou os outros métodos que já foram aplicados ao pro- blema. Foi apresentada uma estratégia de ramificação para o modelo, garantindo que o problema pricing fosse resolvido de forma eficiente.

Em Alvelos (2005) foi desenvolvido o algoritmo Branch-and-Price aplicado ao PFMB. Neste trabalho duas decomposições foram propostas: decomposição por ca- minho e decomposição da mochila, para o método de Geração de Colunas (GC).

Essas formulações foram baseadas na decomposição de Dantzig-Wolfe e, cada uma depende do tipo de restrição que define o subproblema. Na decomposição por cami- nho o subproblema é definido pela restrição de conservação de fluxo e na decomposi- ção da mochila, a restrição de capacidade que definirá o subproblema para o método de Geração de Colunas. Alvelos (2005) apresentou vários grupos de instâncias para testes e alguns resultados para os mesmos. O trabalho é de grande relevância devido a sua abordagem Branch-and-Price, que merece destaque na literatura de problemas de otimização combinatória.

Babonneau et al. (2006) propuseram resolver o problema de fluxo multiproduto linear usando a Relaxação Lagrangeana Parcial. O dual lagrangeano parcial é re- solvido com uma variante do método de plano de corte de centro analítico. A nova abordagem torna possível resolver grandes problemas quando alguns arcos estão con- gestionados na solução ótima, como parece ser o caso de muitos problemas práticos.

Machado et al. (2010) estudaram duas técnicas básicas (particionamento e de-

composição) aplicadas aos problemas de fluxo de rede linear. Técnicas de particiona-

mento tentam explorar a estrutura especial dos PFM por meio de particionamento

da base, de modo que partes de cada base possuem as características dos problemas

rede de fluxo de custo mínimo. Assim, podem ser vistas como especializações dos

métodos primal, dual ou Simplex primal-dual.

(29)

2.6 Estado da Arte 18

2.6.2 Métodos heurísticos

Fortz e Thorup (2000) propuseram um algoritmo de Busca Tabu para resolver o problema de rede OSPF (Open Shortest Path First ). Este algoritmo permite achar soluções que dividem igualmente o fluxo, caso o conjunto de pesos alocados aos arcos seja em mais de um caminho mínimo entre um par origem-destino.

Ghamlouche et al. (2003) propõem novas estruturas de vizinhança baseadas no ciclo de meta-heurísticas destinadas aos problemas multiproduto de carga-fixa capa- citados. As vizinhanças definem movimentos que, explicitamente, levam em conta o impacto sobre o custo total para a distribuição simultânea de vários produtos no fluxo. Estas vizinhanças são avaliadas e testadas em um algoritmo de Busca Tabu. Os resultados experimentais mostram que a abordagem proposta é poderosa e supera os métodos existentes na literatura.

Buriol et al. (2005) tratam de problemas de tráfegos de redes OSPF. A função objetivo para o problema tratado é minimizar o congestionamento da rede por meio da atribuição de pesos aos arcos. Para solucionar o problema, foi proposto um algoritmo genético híbrido. O algoritmo foi comparado com heurísticas de busca local, tendo-se concluído que os dois métodos são bem competitivos em termos de qualidade de solução e tempo.

Um problema de caso e tamanho real é abordado em Hoff et al. (2010). O modelo de rede com serviços estocásticos foi estudado. A instalação de terminais, utilização de veículos e penalidade pela não entrega de algum produto são considerados. Neste trabalho, foi utilizado um método baseado na estrutura de vizinhanças, o método VNS (Variable Neighborhood Search). Os resultados indicaram que a meta-heurística lida com grandes instâncias desta classe de problemas complexos, em um tempo razoável.

2.6.3 Uso combinado de métodos exatos e meta-heurísticas

Em Chouman e Crainic (2010) foi abordado o problema de rede multiproduto capacitado com carga-fixa. No trabalho é proposta uma combinação de método exato de Programação Inteira Mista (PIM) com uma meta-heurística (Busca Tabu).

A parte exata do método inclui o cálculo dos limites inferiores baseado nos planos de corte e um algoritmo de Programação Matemática na resolução do problema restrito. A Busca Tabu destina-se aos cálculos dos limites superiores do problema.

Além disso, apresentam as vantagens do tempo computacional gasto calculando os

limites inferiores e superiores com essa integração de métodos exatos e aproximados.

(30)

Capítulo 3

Métodos de Resolução de Problemas de Otimização Combinatória

Vários problemas de Otimização Combinatória podem ser modelados como pro- blemas de Programação Linear Inteira Mista (PLIM). Um problema PLIM é um problema de otimização com uma função objetivo linear e restrições lineares. O problema é caracterizado como misto, devido ao fato de que algumas das variáveis devem ter apenas valores inteiros, enquanto outras podem assumir valores reais.

Neste capítulo faz-se uma breve revisão dos conceitos e abordagens para a reso- lução de problemas de Otimização Combinatória. Alguns métodos de resolução de problemas de otimização combinatória são apresentados, bem como a classificação usual de métodos exatos e heurísticos.

Em primeiro lugar, uma breve descrição sobre métodos exatos é apresentada.

As abordagens exatas visam obter uma solução ideal comprovada, para uma dada instância de algum problema de otimização combinatória. Com essas abordagens exatas é possível obter uma prova da otimalidade da solução encontrada.

No entanto, para problemas NP-difíceis (Garey e Johnson, 1979), aplicar méto- dos exatos pode envolver um número exponencial de passos. Assim, ao se resolver casos de tamanho real, comprovar a otimalidade muitas vezes acaba por ser muito demorado na prática. Os métodos heurísticos são uma boa opção para lidar com esses casos, uma vez que podem ser usados para gerar boas soluções, mas não neces- sariamente as melhores, com tempo computacional aceitável. Os métodos heurísticos são analisados na segunda parte do capítulo.

A terceira parte deste capítulo é dedicada às abordagens híbridas, que tentam combinar as vantagens dos diferentes métodos de otimização, evitando os inconve- nientes de cada método individual. A abordagem híbrida tratada nesta dissertação é dada pela programação matemática combinada a métodos heurísticos.

Finalmente faz-se uma breve introdução sobre a abordagem matheurística, que combina métodos de resolução PLIM a meta-heurísticas.

O Capítulo está dividido da seguinte forma: na Seção 3.1 são introduzidos os mé- todos exatos, descrevendo-os sucintamente. Na Seção 3.2 são apresentados métodos heurísticos existentes na literatura para resolução de um problema PLIM, perti- nentes ao trabalho. Na seção 3.3 são descritas, brevemente, algumas técnicas que combinam Programação Matemática e Heurísticas. Por fim, a Seção 3.4 introduz a abordagem matheurística.

19

(31)

3.1 Métodos Exatos 20

3.1 Métodos Exatos

Resolver um problema de Programação Linear (PL) significa determinar valores (reais) para o conjunto de variáveis de decisão, que levem ao melhor valor de uma função objetivo linear, sujeito a um conjunto de restrições modeladas como inequa- ções lineares. Já em um problema de Programação Linear Inteira Mista (PLIM), um subconjunto de variáveis de decisão pode assumir valores reais enquanto que um outro subconjunto tem que assumir valores inteiros.

Vários problemas da Otimização Combinatória podem ser modelados como pro- blemas de PLIM. Os conceitos da PLIM apresentados nesta seção seguem de Nemhau- ser e Wolsey (1988).

Os métodos de solução propostos para a resolução desses problemas PLIM pro- varam ser, normalmente, uma boa escolha ao resolver instâncias de problemas de otimização combinatória de tamanho moderado.

Uma formulação PL, em forma de minimização, é dada por:

z

P L

= min c

T

x (3.1a)

s. a: Ax ≥ b (3.1b)

x ∈ R

n+

(3.1c)

em que x é o vetor coluna n-dimensional de variáveis reais não-negativas. O produto c

T

x é a função objetivo que deve ser minimizada, em que c

T

é um vetor coluna n-dimensional transposto de custos associados. A matriz A de dimensão m × n e o vetor coluna m-dimensional b definem o conjunto de m restrições de desigualdade.

A função de maximização pode ser considerada mudando-se o sinal do vetor c.

Sem perda de generalidade, as considerações a seguir são feitas para o problema de minimização.

O PL pode ser reescrito de forma mais compacta, como:

z

P L

= min{c

T

x : Ax ≥ b, x ∈ R

n+

} (3.2) Nos problemas de Otimização Combinatória provenientes de aplicações reais, as variáveis de decisão precisam ter valores inteiros ao invés de contínuos, como visto anteriormente. Estes problemas, geralmente, podem ser modelados como um problema de Programação Inteira (PI), como segue na forma compacta:

z

P I

= min{c

T

x : x ∈ X} (3.3)

sendo X = P ∩ Z

n+

e P = {x ∈ R

n+

: Ax ≥ b}.

Teorema 3.1 Seja P = {x ∈ R

n+

: Ax ≥ b} e X = P ∩ Z

n+

. Então, a casca convexa conv(X) é um poliedro.

Particularmente, o Teorema 3.1 implica que se pode resolver o PI dado por (3.3) resolvendo o problema PL da seguinte forma:

min{c

T

x : x ∈ conv(X)} (3.4)

(32)

3.1 Métodos Exatos 21 Um dos conceitos mais importantes na PI é a relaxação, em que algumas ou todas as restrições de um problema são omitidas ou propriamente ditas relaxadas.

As relaxações são utilizadas, na maioria das vezes, para resultar em um problema mais simples. Com essa simplificação, o problema pode ser resolvido de forma eficiente, obtendo limitantes para as soluções e até mesmo uma solução aproximada, não necessariamente viável para o problema original.

Note que o problema PL (3.2) corresponde ao problema PI (3.3) quando se retiram as condições de integralidade. Pode-se dizer que o problema (3.2) é uma relaxação de PL do problema PI em (3.3). Portanto, a relaxação PL é obtida através da relaxação da restrição de integralidade em PI, produzindo, assim, um problema linear. Assim, qualquer solução viável para o problema PI (3.3) é também viável para o problema PL (3.2). Além disso, o valor da solução ótima do seu relaxamento PL é um limite inferior da solução ótima de PI, ou seja, z

P L

≤ z

P I

.

A título de simplicidade, considere P um politopo. Pelo Teorema 3.1, segue que qualquer um dos pontos de X pode ser escrito como uma combinação convexa de seus Q pontos extremos q

i

. Logo, para todo ponto x ∈ X, segue que:

x =

Q

X

i=1

q

i

λ

i

(3.5a)

s. a:

Q

X

i=1

λ

i

= 1 (3.5b)

λ ≥ 0 (3.5c)

Observe que, caso se considere P um conjunto ilimitado, um ponto de X será a combinação convexa dos seus pontos extremos e de seus raios extremos.

Substituindo x escrito da forma (3.5) no problema PL (3.1), tem-se a seguinte formulação:

z

P L

= min

Q

X

i=1

(c

T

q

i

i

(3.6a)

s. a:

Q

X

i=1

(Aq

i

i

≥ b (3.6b)

Q

X

i=1

λ

i

= 1 (3.6c)

λ ≥ 0 (3.6d)

Nessa formulação, tem-se a decomposição Dantzig-Wolfe (Dantzig e Wolfe, 1960).

Essa decomposição transforma as variáveis originais em uma combinação convexa entre pontos extremos e raios extremos do espaço de busca original. Com isso, tem- se um problema mestre, o qual contém as restrições de ligação do problema original, mais as restrições de convexidade. O problema mestre é discutido na subseção 3.1.1

Uma solução x pode ser caracterizada por:

Referências

Documentos relacionados

passagem do cargo de Coordenador e ou Assistente de Direção para o cargo de diretor, será considerados para o preenchimento do cargo os seguintes requisitos: ser efetivo

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

(grifos nossos). b) Em observância ao princípio da impessoalidade, a Administração não pode atuar com vistas a prejudicar ou beneficiar pessoas determinadas, vez que é

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...

Com intuito, de oferecer os gestores informações precisas atualizadas e pré-formatas sobre os custos que auxiliem nas tomadas de decisões corretas, nos diversos

As situações ambientais encontradas na APP do Córrego foram classificadas em quatro áreas: pasto com árvores frutíferas sem regeneração natural; campo úmido antrópico originado