DO RIO DE JANEIRO
Dissertao de Mestrado
Dissertao apresentada ao Programa de Ps-Graduao em Engenharia de Produo da PUC-Rio como requisito parcial para obteno do grau de Mestre em Engenharia de Produo. Orientador: Prof. Jos Eugnio Leal
Dissertao apresentada como requisito parcial para obteno do grau de Mestre pelo Programa de PsGraduao em Engenharia de Produo da PUC-Rio. Aprovada pela Comisso Examinadora abaixo assinada.
Todos os direitos reservados. proibida a reproduo total ou parcial do trabalho sem autorizao da universidade, do autor e do orientador.
Ficha Catalogrfica Cordeiro, Joaquim Pedro de Vasconcelos Simplex para redes, algoritmo e implementao / Joaquim Pedro de Vasconcelos Cordeiro ; orientador: Jos Eugnio Leal. 2008. 78 f. : il. (color.) ; 30 cm Dissertao (Mestrado em Engenharia Industrial) Pontifcia Universidade Catlica do Rio de Janeiro, Rio de Janeiro, 2008. Inclui bibliografia 1. Engenharia industrial Teses. 2. Simplex para redes. 3. Fluxo de custo mnimo. 4. Programao linear. 5. Otimizao. I. Leal, Jos Eugnio. II. Pontifcia Universidade Catlica do Rio de Janeiro. Departamento de Engenharia Industrial. III. Ttulo.
CDD: 658.5
Aos meus pais, Joo Pedro e Anna pela confiana e a Carmen pelo amor e pela pacincia
Agradecimentos
Ao orientador, Prof Jos Eugenio Leal, pelo suporte e ajuda no desenvolvimento deste trabalho.
CAPES e PUC-Rio, pelos auxlios concedidos, sem os quais a realizao deste trabalho no seria possvel
Aos professores e funcionrios da PUC-Rio, por quase dez anos de convivncia e de aprendizado.
Resumo
Cordeiro, Joaquim Pedro de Vasconcelos; Leal, Jos Eugnio. Simplex para Redes, Algoritmo e Implementao. Rio de Janeiro, 2008. 78p. Dissertao de Mestrado Departamento de Engenharia Industrial, Pontifcia Universidade Catlica do Rio de Janeiro.
Este trabalho busca desenvolver o mtodo Simplex para Redes na soluo de problemas de Fluxo de Custo Mnimo. Este mtodo consiste em uma adaptao do
PUC-Rio - Certificao Digital N 0611758/CA
mtodo Simplex primal em que so exploradas as caractersticas especficas da rede subjacente ao problema ao se buscar a soluo tima em um nmero finito de rvores geradoras. A rvore geradora tima ser obtida iterativamente atravs de sucessivas melhorias na estrutura de cada rvore formada. A maior eficincia do Simplex para Redes se d tanto no menor nmero de iteraes necessrias para se atingir o timo, quanto na maior velocidade destas iteraes, trata-se, portanto, de um mtodo bastante poderoso na resoluo de problemas de Fluxo de Custo Mnimo. Sero, tambm, abordados aspectos prticos da implementao do algoritmo alm da aplicao deste algoritmo implementado em VBA (Visual Basic for Applications) em um problema prtico a ttulo de exemplificao.
Palavras-Chave
Simplex para Redes, Fluxo de Custo Mnimo, Programao Linear, Otimizao.
Abstract
Cordeiro, Joaquim Pedro de Vasconcelos; Leal, Jos Eugnio. Network Simplex, Algorithm e Implementation. Rio de Janeiro, 2008. 78p. MSc. Dissertation Departamento de Engenharia Industrial, Pontifcia Universidade Catlica do Rio de Janeiro
The current work intends to develop a Network Simplex Method for solving Minimum Cost Flow problems. Such method consists of a primal Simplex Method
PUC-Rio - Certificao Digital N 0611758/CA
adaptation in which specific characteristics of the network underlying the problem are investigated by searching for the optimal solution within a finite number of spanning trees. The optimal spanning tree is iteratively obtained through successive structure improvements in each formed tree. The higher efficiency of Network Simplex lies both in fewer iterations necessary to achieve the optimum and in the higher speed of these iterations. Therefore, it is a powerful method for solving Minimum Cost Flow Problems. Practical aspects of implementing the algorithm will be discussed, as well as the algorithms implementation in VBA (Visual Basic for Applications) through a practical instance.
Keywords
Network Simplex, Minimum Cost Flow, Linear Programming, Optimization.
Sumrio
1 Introduo 1.1. Motivao 1.2. Objetivos 1.3. Roteiro dos captulos 1.4. Definies 2 O Problema do Fluxo de Custo Mnimo 2.1. O Problema de Transbordo 2.2. O Problema do Caminho Mais Curto 2.3. O Problema de Atribuio 2.4. O Problema de Transporte 3 Simplex Para Redes 3.1. Noes Iniciais 3.2. Soluo livre de ciclos e soluo como uma rvore geradora 3.3. A matriz de incidncia n-arco 3.4. Uma reviso de lgebra linear 3.4.1. Independncia linear 3.4.2. Matriz no singular 3.4.3. Rank de uma matriz 3.5. Rank da matriz de incidncia n-arco 3.6. Varivel Artificial 3.7. Soluo inicial 3.8. Representao da estrutura de rvore geradora 3.9. Variveis Duais e Potenciais dos ns 3.10. Otimalidade 3.11. ndices da rvore 3.11.1. Predecessor 3.11.2. Profundidade 3.11.3. Caminho 3.12. Funcionamento do algoritmo simplex para redes 3.13. Selecionando o arco entrante. 3.13.1. Regra de Dantzig 3.13.2. Primeiro Candidato 3.13.3. Precifcao Parcial 3.13.4. Precificao por Clusters 3.13.5. Precificao Normalizada 3.13.6. Precificao Mltipla 3.14. Selecionando o arco que sai. 3.15. Atualizando a rvore
10 10 11 12 12 15 15 16 17 18 21 21 21 23 25 25 26 26 26 27 29 32 32 35 38 38 38 39 40 41 41 42 42 42 42 43 44 48
3.15.1. Atualizao dos potenciais dos ns 3.15.2. Atualizao dos ndices caminho. 3.15.3. Atualizao das profundidades 3.15.4. Atualizao dos predecessores 3.16. Algoritmo 3.17. Degenerescncia 3.18. rvores Geradoras Fortemente Factveis 4 Implementao 4.1. Estrutura de Dados 4.2. rvore Geradora 4.2.1. A Classe N. 4.2.2. A Classe Arco. 4.3. Os Conjuntos S 4.4. Atualizao dos ndices da rvore 4.4.1. Atualizao dos ndices caminho. 4.4.2. Atualizao dos ndices profundidade. 4.4.3. Atualizao dos ndices predecessor. 4.5. O Programa 4.5.1. Dados de Entrada 4.5.2. Sada 4.6. Um Exemplo: O escoamento da produo nacional de acar. 5 Concluses 6 Bibliografia
48 51 52 53 54 54 55 57 57 57 58 59 60 61 63 64 65 66 66 68 69 73 75