• Nenhum resultado encontrado

Uma implementação em paralelo para decomposição de benders aplicada a sistemas eixo raio com múltipla atribuição

N/A
N/A
Protected

Academic year: 2021

Share "Uma implementação em paralelo para decomposição de benders aplicada a sistemas eixo raio com múltipla atribuição"

Copied!
62
0
0

Texto

(1)RAQUEL DA SILVA CABRAL. ˜ em paralelo para Uma implementac¸ao ˜ de Benders aplicada a sistemas Decomposic¸ao ˜ eixo–raio com multipla ´ atribuic¸ao. Maceio´ Fevereiro de 2006.

(2) RAQUEL DA SILVA CABRAL. ˜ em paralelo para Uma implementac¸ao ˜ de Benders aplicada a sistemas Decomposic¸ao ˜ eixo–raio com multipla ´ atribuic¸ao. ˜ apresentada ao Curso de Pos´ Dissertac¸ao ˜ em Modelagem Computacional Graduac¸ao de Conhecimento da Universidade Federal ˜ de Alagoas como requisito para a obtenc¸ao do grau de Mestre em Modelagem Computacional de Conhecimento.. Orientador:. Henrique Pacca L. Luna. Maceio´ Fevereiro de 2006.

(3)

(4) AGRADECIMENTOS. Agradec¸o a Deus por estar sempre comigo. ` minha filha Maria Julia, ˜ da minha vida, que me ensina todos os dias com sua A ´ razao ˆ inocencia de crianc¸a. ´ que mesmo distante esteve sempre comigo, acompanhando minhas dificulAndre, ˜ dades e alegrias, me aconselhando e ouvindo minhas reclamac¸oes. Serei eternaˆ mente grata a voce. Aos meus pais, Nazare´ e Cabral, que apesar de toda sua simplicidade, e com todas as dificuldades que tiveram conseguiram me colocar no caminho certo. Eunice, que foi minha companheira, nas horas de estudo, na hora das provas e nas ´ horas das notas tambem. Uma pessoa que me mostrou o que significado das palavras: ˆ bondade, simplicidade e persistencia. ´ ˜ poderia jamais estar escrevendo Ao meu sabio orientador Henrique Pacca, sem ele nao esses agradecimentos agora. Do seu jeito sempre me ensinou o melhor caminho para chegar ao lugar certo. ` minhas amigas Josi e Angelica, ´ ´ sempre estiveram por perto, proporcionandoAs que tambem me momentos de alegria, quando parecia que tudo estava perdido. ` universidade, os alunos, e aos professores que contribu´ıram para minha formac¸ao, ˜ A ´ em especial o Prof. Dr. Hilario Alencar e a Profa. Dra. Solange Bessa..

(5) RESUMO. ´ Sistemas do tipo eixo–raio, tornaram-se uma importante area de pesquisa da teoria de ˜ nas ultimas ´ localizac¸ao ´ decadas. Esse destaque deve-se em grande parte ao sucesso ˜ em sistemas log´ısticos, tanto de transporte de passageiros quanto de sua utilizac¸ao ˜ ´ de servir cada par origem– de cargas, e em redes de telecomunicac¸oes. Ao inves ˜ direta, sistemas do tipo eixo–raio substituem destino de demanda com uma conexao ˜ essas conexoes diretas por uma rede de concentradores. Esses concentradores per´ ´ de um meio de transporte mitem que o trafego seja agrupado e transportado atraves ˜ entregue aos respectivos destinos. Sendo um problema compartilhado, para ser entao ´ ´ ˜ Neste trabalho, e´ NP, e´ necessario o uso de metodos eficientes para sua resoluc¸ao. ˜ em paralelo do metodo ´ ˜ de Bendesenvolvida uma implementac¸ao de Decomposic¸ao ˜ de concentradores de alocac¸ao ˜ multipla ˜ ders para o problema de localizac¸ao ´ nao˜ em paralelo do metodo ´ ˜ de Benders capacitados. A implementac¸ao de Decomposic¸ao ˜ e´ conhecido na literatura, entretanto os bons resultapara o problema eixo–raio nao dos obtidos pelo algoritmo paralelo desenvolvido revelam que a abordagem paralela ´ e´ aplicavel e mais eficiente. Nos experimentos realizados, o algoritmo paralelo apresentou um tempo de resposta ate´ 70% menor que o tempo de resposta do algoritmo sequencial. ¨ ˜ paralela, decomposic¸ao ˜ de BenPalavras-chave: sistemas eixo-raio, programac¸ao ders.

(6) ABSTRACT. Hub and Spoke systems, is a important research area in localization theory. This occur, because of these systems are very used in logistics problems, e.g., telecommunication networks and transport of passenger and load.To serve the demand of each pair source–destination, basically, the Hub and Spoke system replaces direct connections between the pairs for a hubs network. These hubs group the traffic sharing the transportation medium. To get the best hubs configuration is necessary efficient methods, because this problem, hubs allocation, is a NP-problem. In this work was developed an parallel implementation of the Benders Decomposition method for the uncapacitated multiple allocation hub location problem. In our implementation we use the SkorinKapov model. The parallel implementation of Benders Decomposition for hub and spoke problem is not known in literature. The results show that the parallel approach is applicable and more efficient that nonparallel one. The experiments reveals that the parallel algorithm had a time execution 70% minor when compared with the nonparallel one. Key-words: hub and spoke systems, parallel computing, Benders decomposition.

(7) LISTA DE ALGORITMOS 1. ˜ de Benders . . . . . . . . . . . . . . . . . . . . . . . . . Decomposic¸ao. 31. 2. ˜ de Benders em paralelo . . . . . . . . . . . . . . . . . . Decomposic¸ao. 38.

(8) LISTA DE FIGURAS. 1. ˜ do tipo direta (a) e eixo–raio (b) entre pares origem–destino. Conexoes ˆ Os pontos(•) representam os pontos de demanda e os triangulos(N) os concentradores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13. 2. ˜ de nos ´ a concentradores em um sistema eixo–raio 14 Exemplos de atribuic¸ao. 3. Exemplos de redes dos protocolos A-H . . . . . . . . . . . . . . . . . .. 16. 4. ´ Arquitetura de maquinas NOW . . . . . . . . . . . . . . . . . . . . . . .. 19. 5. ˜ dos segmentos de custo. . . . . . . . . . . . . . . . . . Representac¸ao. 24. 6. Rotas poss´ıveis para o par origem-destino i j, para um dado yh . . . . .. 29. 7. ˜ do algoritmo de Benders . . . . . . . . . . . . . . . . . . . . . Ilustrac¸ao. 33. 8. Arquitetura cliente–servidor . . . . . . . . . . . . . . . . . . . . . . . . .. 35. 9. ˜ em paralelo para 5 nos ´ com 4 iterac¸oes ˜ no total . . . . . . . . Execuc¸ao. 39. 10. ˜ da previsao ˜ do tempo de execuc¸ao ˜ usando 1 ate´ 6 proComparac¸ao cessadores e o tempo real obtido para o algoritmo paralelo para uma ˆ ´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . instancia de 18 nos. 11. 42. ˜ do speedup pela lei de Amdahl(linha pontilhada) e speedup Previsao ´ real(linha solida) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 44. 12. Efeito Amdahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 44. 13. ˜ para instancia ˆ Tempo de execuc¸ao RAND16.3 com #processadores igual a 1, 2 e 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 14. ˜ para instancia ˆ Tempo de execuc¸ao RAND16.3 com #processadores igual a 1, 2,3 e 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 15. 52. ˜ para instancia ˆ Tempo de execuc¸ao AP120.2 com #processadores igual a 1, 2 e 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16. 52. 52. ˜ para instancia ˆ Tempo de execuc¸ao AP120.2 com #processadores igual a 1, 2, 3 e 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 52.

(9) 17. ˆ Speedup para instancia RAND16.3 com #processadores igual a 1, 2 e 4. 18. ˆ Speedup para instancia RAND18.3 com #processadores igual a 1, 2, 3. 53. e4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 53. 19. ˆ Speedup para instancia AP100.2 com #processadores igual a 1, 2 e 4 .. 53. 20. ˆ Speedup para instancia AP120.2 com #processadores igual a 1, 2, 3 e 4 53. 21. ˆ ˆ Eficiencia do algoritmo para as instancias RAND18.2 e AP100.2 com o. 22. aumento do #p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 55. ˆ Eficiencia com o aumento do tamanho do problema para p=2 . . . . . .. 55.

(10) LISTA DE TABELAS. 1. ˜ das variaveis ´ Descric¸ao do algoritmo . . . . . . . . . . . . . . . . . . . .. 31. 2. ˜ do algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . Execuc¸ao. 33. 3. ˜ das variaveis ´ Descric¸ao adicionais para o algoritmo paralelo . . . . . .. 37. 4. ˜ para as Resultados obtidos para o speedup e o tempo de execuc¸ao ˆ instancias geradas aleatoriamente. . . . . . . . . . . . . . . . . . . . . .. 48. 5. ˆ Resultados para as instancias CAB. . . . . . . . . . . . . . . . . . . . .. 49. 6. ˆ Resultados para as instancias AP. . . . . . . . . . . . . . . . . . . . . .. 50. 7. ˆ Valores de e para a instancia AP120.2 . . . . . . . . . . . . . . . . . . .. 54.

(11) ´ SUMARIO. ˜ 1 Introduc¸ao. 12. 1.1 Sistemas do tipo eixo–raio . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. ˜ paralela . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Computac¸ao. 16. 1.3 Trabalhos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . .. 19. 1.4 Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 21. ˜ de Benders para o modelo de Skorin-Kapov 2 Decomposic¸ao. 23. 2.1 Modelo de Skorin-Kapov . . . . . . . . . . . . . . . . . . . . . . . . . . .. 23. ´ ˜ de Benders . . . . . . . . . . . . . . . . . . . 2.2 Metodo de decomposic¸ao. 26. 2.2.1 Problema mestre . . . . . . . . . . . . . . . . . . . . . . . . . . .. 27. 2.2.2 Subproblemas . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 28. ˜ de Benders . . . . . . . . . . . . . . . . . . 2.3 Algoritmo de decomposic¸ao. 30. 2.3.1 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30. ˜ do algoritmo . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Execuc¸ao. 32. ´ 2.4 Analise do algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 34. ˜ finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Considerac¸oes. 34. ˜ em paralelo do metodo ´ ˜ de Benders 3 Implementac¸ao de decomposic¸ao. 35. ˜ em paralelo da decomposic¸ao ˜ de Benders . . . . . . . . . . . . 3.1 Soluc¸ao. 35. 3.2 Algoritmo paralelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 37. ˜ do algoritmo . . . . . . . . . . . . . . . . . 3.2.1 Exemplo de execuc¸ao. 39. ´ 3.3 Analise e Benchmarking . . . . . . . . . . . . . . . . . . . . . . . . . . .. 40. ´ 3.4 Analise de performance . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42.

(12) ˆ 3.4.1 Speedup e Eficiencia . . . . . . . . . . . . . . . . . . . . . . . .. 42. 3.4.2 Lei de Amdahl . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 43. ˜ finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Considerac¸oes. 45. 4 Experimentos e Resultados. 46. ´ 4.1 Cenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 46. 4.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 48. ´ 4.3 Analise de Performance . . . . . . . . . . . . . . . . . . . . . . . . . . .. 54. ˜ Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Considerac¸oes. 56. ˜ 5 Conclusao. 57.

(13) 12. 1. ˜ INTRODUC ¸ AO. 1.1 Sistemas do tipo eixo–raio Sistemas do tipo eixo–raio (hub-and-spoke) (O’KELLY; MILLER, 1994; CAMPBELL; ´ ERNST; KRISHNAMOORTHY, 2002), tornaram-se uma importante area de pesquisa ˜ nas ultimas ´ da teoria de localizac¸ao ´ decadas. Esse destaque se deve em grande ˜ em sistemas log´ısticos, tanto de transporte de pasparte ao sucesso de sua utilizac¸ao ˜ ´ de servir cada sageiros quanto de cargas, e em redes de telecomunicac¸oes. Ao inves ˜ direta, sistemas do tipo eixo–raio par origem–destino de demanda com uma conexao ˜ diretas por uma rede de concentradores. Esses concensubstituem essas conexoes ´ ´ de um meio de tradores permitem que o trafego seja agrupado e conduzido atraves ˜ entregue aos respectivos destinos. Esse transporte compartilhado, para ser entao compartilhamento do meio de transporte permite com que esses sistemas eixo–raio ´ o custo por unidade transusufruam dos benef´ıcios da economia de escala, isto e, ´ ´ do meio de transportada torna-se menor ao se aumentar o volume do trafego atraves porte. ˜ direta entre os pares origem–destino, no caso A Figura 1(a) ilustra o tipo de conexao ˜ as capitais brasileiras, enquanto que a Figura 1(b) mostra as conexoes via sistemas ˜ diminui consideravelmente com o eixo–raio, percebemos que o numero ´ de conexoes uso dos sistemas eixo–raio. Na Figura 1.1, os pontos representam origem e destino, os ˆ ˜ concentradores, enquanto as linhas mais grossas entre concentradores triangulos sao ˜ que possuem economia de escala. representam as conexoes ´ ˜ em func¸ao ˜ do papel Esses problemas diferem dos problemas classicos de localizac¸ao ´ ˜ dos concentradores. Nos problemas classicos, geralmente, pontos de demanda sao ˜ objeatendidos, total ou parcialmente, por facilidades a serem localizadas. A func¸ao ˜ dos custos de transporte dos pontos de demanda tivo, normalmente, e´ uma func¸ao ˜ das facilidades. Ja´ nos problemas do tipo eixo–raio, os e dos custos de instalac¸ao ˜ de fluxo. Dessa forma e´ concentradores funcionam como centros de concentrac¸ao.

(14) 13. ˜ o redirecionamento e a separac¸ao ˜ de fluxos de demandas, permitida a concentrac¸ao, ´ sendo pontos intermediarios no caminho entre pontos de origem e de destino.. (a). (b). ˜ do tipo direta (a) e eixo–raio (b) entre pares origem–destino. Os Figura 1: Conexoes ˆ pontos(•) representam os pontos de demanda e os triangulos(N) os concentradores ˜ dos concentradores e o deOs problemas do tipo eixo–raio envolvem a localizac¸ao ´ a atribuic¸ao ˜ das origens e dos destinos a cada concentrador. senho da rede, isto e, Dependendo do problema, o numero ´ de concentradores, a serem localizados a partir de um conjunto de pontos candidatos, pode ser conhecido previamente ou pode ser ´ uma incognita ´ tambem a ser determinada. ˜ de concentradores abrangem um vasto conjuntos de aplicac¸oes, ˜ Modelos de localizac¸ao ˜ desde problemas de transporte ate´ telecomunicac¸oes. Entre os tipos de problemas ˜ ´ de transporte estao: o transporte aereo de passageiros e de cargas (DREZNER; DREZNER, 2001; SASAKI; SUZUKI; DREZNER, 1999; SKORIN-KAPOV, 1998); servi´ c¸os expressos para entregas, sistemas de transporte de cargas rodoviarias e fer´ roviarias (TAYLOR et al., 1995; NAGY; SALHI, 2005) e sistemas postais (DONALDSON et al., 1999; ERNST; KRISHNAMOORTHY, 1996, 1999). Nesses casos, a demanda e´ especificada em termos de fluxos de passageiros ou produtos entre pares de ˜ carros, cidades, ou localidades, sendo transportada em algum tipo de ve´ıculo (aviao, ˜ ˜ conhecidos como terminais, ou centros de caminhoes, etc.) e os concentradores sao ˜ de pequenas quantidades de fluxos em quantidades maiores, triagem. A agregac¸ao ˆ o compartilhamento do meio de transporte e, por consequ¨ encia, rateio de custo permitem grande economia de escala. ˜ ˜ As aplicac¸oes no setor de telecomunicac¸oes incluem desde o processamento dis-.

(15) 14. ˆ tribu´ıdo ate´ v´ıdeo–conferencia, passando por redes de telefonia publica ´ (GAVISH, ˜ da transmissao ˜ 1987; KLINCEWICZ, 1998). Nesses casos, o fluxo e´ dado em func¸ao ˜ (voz, dados, v´ıdeo) atraves ´ de uma variedade de meios f´ısicos de transda informac¸ao ´ porte ou pelo ar, com enlaces de satelite e de micro ondas. O papel do concentrador ˜ comutac¸ao ˜ e roteanessas redes e´ o de funcionar como centro de multiplexac¸ao, mento, interligando desde pequenas redes corporativas ate´ redes globais. ˜ da localizac¸ao ˜ do concenComo visto, problemas desse tipo envolvem a definic¸ao ˜ dos pares origem–destino a cada concentrador instalado. Devido trador e a atribuic¸ao ˜ que esses modelos englobam, a sua complexidade e o grande numero ´ de aplicac¸oes ´ ´ ˆ tornam-se necessarias, tecnicas que consigam resolve-lo de forma eficiente. O obje´ ˜ de Benders (BENDERS, 1962) tivo desse trabalho e´ usar o metodo de decomposic¸ao ´ ˜ de problemas de programac¸ao ˜ linear inteira que e´ um metodo eficiente na resoluc¸ao ´ ˜ paralela, que oferece grande poder commista, combinado a` tecnica de programac¸ ao ˜ dos experimetnos. putacional para realizac¸ao ˜ Como estamos tratando problemas do tipo eixo–raio faremos uma breve classificac¸ao. ˆ principais elementos: os nos, ´ que sao ˜ Em um sistema do tipo eixo–raio, temos tres os pontos de origem–destino, de onde o fluxo sai e para onde o fluxo chega; os conˆ as caracter´ısticas de um no´ comum, mas neles o fluxo nem centradores, que tem termina e nem comec¸a, ele apenas concentra o fluxo; e os arcos que interligam os pares origem–destino e os concentradores. ˜ dos nos ´ a cada concentrador, os problemas eixo–raio poConsiderando a atribuic¸ao ˜ simples, no qual cada ponto so´ dem ser classificados como: problemas de alocac¸ao pode ser atendido por um unico ´ concentrador, como podemos ver na Figura 2(a); ou ˜ multipla, problemas de alocac¸ao ´ no qual cada ponto pode interagir com mais de um concentrador, como podemos ver na Figura 2(b).. (a). (b). ˜ de nos ´ a concentradores em um sistema eixo–raio Figura 2: Exemplos de atribuic¸ao ˜ uma taxonomia para O trabalho de O’Kelly e Miller (O’KELLY; MILLER, 1994) propoe os modelo do tipo eixo–raio, classificando os problemas de acordo com o tipo de.

(16) 15. ˜ considerando os seguintes casos: atribuic¸ao, ˜ todos diretamente interconectados; • se os concentradores estao ´ da rede podem comunicar-se diretamente, sem o uso de algum con• se os nos centrador. Dessa forma, foram criados oito protocolos exemplificados na Figura 3, que podem ser resumidos da seguinte forma: ˜ de concentradores com atribuic¸ao ˜ • Protocolo A: Envolve problemas de localizac¸ao ´ a concentradores (Figura 3(a)); simples de nos ˜ de concentradores com atribuic¸ao ˜ • Protocolo B: Envolve problemas de localizac¸ao ´ a concentradores e a escolha dos arcos que compoe ˜ a rede entre simples de nos concentradores (Figura 3(b)); ˜ de concentradores com atribuic¸ao ˜ • Protocolo C: Envolve problemas de localizac¸ao ´ a concentradores e conexoes ˜ diretas entre nos ´ que nao ˜ sao ˜ consimples de nos centradores (Figura 3(c)); ˜ de concentradores com atribuic¸ao ˜ • Protocolo D: Envolve problemas de localizac¸ao ´ a concentradores, conexoes ˜ diretas entre nos ´ que nao ˜ sao ˜ consimples de nos centradores e a escolha dos enlaces entre concentradores (Figura 3(d)); ˜ de concentradores com atribuic¸ao ˜ • Protocolo E: Envolve problemas de localizac¸ao ´ a concentradores (Figura 3(e)); multipla ´ de nos ˜ de concentradores com atribuic¸ao ˜ • Protocolo F: Envolve problemas de localizac¸ao ´ a concentradores e a escolha dos enlaces entre os concenmultipla ´ de nos tradores (Figura 3(f)); ˜ de concentradores com atribuic¸ao ˜ • Protocolo G: Envolve problemas de localizac¸ao ´ a concentradores e conexao ˜ direta entre nos ´ que nao ˜ sao ˜ conmultipla ´ de nos centradores (Figura 3(g)); ˜ de concentradores com atribuic¸ao ˜ • Protocolo H: Envolve problemas de localizac¸ao ´ a concentradores, conexao ˜ direta entre nos ´ que nao ˜ sao ˜ concenmultipla ´ de nos ˜ sao ˜ concentradores (Figura 3(h)). tradores e a escolha dos enlaces que nao.

(17) 16. (a) Protocolo A. (b) Protocolo B. (c) Protocolo C. (d) Protocolo D. (e) Protocolo E. (f) Protocolo F. (g) Protocolo G (h) Protocolo H. Figura 3: Exemplos de redes dos protocolos A-H ˜ relacionados aos problemas de alocac¸ao ˜ Podemos ver que, os protocolos A-D estao ˜ de concentradores, enquanto que os protocolos E-H estao ˜ simples com localizac¸ao ˜ multipla. ˜ relacionados com os problemas de alocac¸ao ´ Os problemas de alocac¸ao ˜ simples, desde que nao ˜ se multipla ´ podem ser reduzidos aos problemas de alocac¸ao permita que pontos de origem ou destino de demanda sejam conectados a mais de um concentrador. ´ disso, os concentradores e as conexoes ˜ ˜ Alem entre os mesmos podem ser ou nao ´ a capacidade de concentrac¸ao/divis ˜ ˜ e transporte de fluxo pode capacitados, isto e, ao ser limitada. Uma caracter´ıstica interessante desse problema e´ que uma determinada rota entre ´ pares de origem–destino pode possuir um ou dois concentradores no maximo. Essa ˜ proposta inicialmente pelo modelo caracter´ıstica deve-se historicamente a` linearizac¸ao de O’Kelly (O’KELLY, 1986, 1987). ˜ de concentradores No presente trabalho foi considerado o problema de localizac¸ao ˜ capacitados com multipla ˜ de pontos de demanda, utilizando-se o modnao ´ atribuic¸ao elo proposto por Skorin-Kapov em (SKORIN-KAPOV; SKORIN-KAPOV; O’KELLY, 1996a) ˜ com pequenas modificac¸oes, que sera´ mostrado no Cap´ıtulo 2.. ˜ paralela 1.2 Computac¸ao ˜ concorrente de daProcessamento paralelo pode ser definido como a manipulac¸ao dos que pertencem a um ou mais processadores, mas que resolvem um unico ´ prob-.

(18) 17. ˜ temos um grande problema dividido em problemas menores, lema (QUINN, 1994). Entao ˜ resolvidos por varios ´ os quais sao processadores. ˜ de concenComo utilizaremos paralelismo para resolver o problema de localizac¸ao ˜ mostrados os conceitos fundamentais de paralelismo utilizados neste tradores, serao trabalho. ˜ da computac¸ao ˜ paralela, e sua grande maioria Existem diversos campos de aplicac¸ao ˜ e calculos ´ ˆ se encontra em simulac¸oes de experimentos cient´ıficos voltados a` ciencia, ˜ tao ˜ complexos que resolve-los ˆ ´ isto porque muitos dos problemas cient´ıficos sao atraves ˜ numerica ´ ´ poder computacional, somente obtido de simulac¸ao requer um extraordinario ´ ´ em maquinas paralelas, e se encontram em diversas areas, tais como (QUINN, 1994): ˆ ˆ • Qu´ımica Quantica, Estat´ısticas da Mecanica, e F´ısica Relativista; • Cosmologia e Astrof´ısica; ˆ ˆ • Dinamica dos Flu´ıdos e Turbulencia; • Projeto de Materiais e Supercondutividade; ˆ ´ • Biologia, Farmacologia, Sequencia do Genoma, Engenharia Genetica, Cadeias ´ ´ de Prote´ınas, Atividade Enzimatica, e Modelagem de Celulas; ´ aos ˜ e ossos humanos; • Medicina, Modelagem de org • Clima Global e Modelagem de Meio Ambiente. ´ de toda esta gama de aplicac¸oes, ˜ ˜ Alem outro forte motivo para o uso da computac¸ao ´ ˆ ˜ pois esta ferramenta e´ de paralela encontra-se na propria Ciencia da Computac¸ao, ˆ ˜ em tempo habil ´ de problemas de otimizac¸ao, ˜ fundamental importancia para a soluc¸ao processamento de imagens de grande porte, processamento de grandes massas de dados, entre outros. ˜ apresentando uma soluc¸ao ˜ Neste trabalho trataremos de um problema de otimizac¸ao, ˜ para problemas maiores, que com a computac¸ao ˜ em paralelo a fim de obtermos soluc¸oes ˜ seria poss´ıvel de se resolver. sequencial ¨ nao Quando vamos construir um algoritmo paralelo, a primeira coisa que pensamos e´ ˜ os problemas menores como decompor o problema em problemas menores. Entao, ˜ associados a processadores para serem resolvidos de forma simultanea. ˆ sao Existem ˜ decomposic¸ao ˜ de dom´ınio e de dados. basicamente dois tipos de decomposic¸ao:.

(19) 18. ˜ divididos em ˜ de dom´ınio, ou paralelismo de dados, os dados sao Na decomposic¸ao ˜ distribu´ıdos para diferentes pedac¸os aproximadamente do mesmo tamanho e entao ˜ dos dados que processadores. Cada processador trabalha apenas com uma porc¸ao ˜ os processadores se comunicam periodicamente para foi designado para ele. Entao ˜ trocar informac¸oes. Esse tipo de paralelismo tem a vantagem de manter apenas um unico ´ fluxo de controle. ´ Frequentemente ¨ o paralelismo de dados e´ a estrategia que mostra-se mais eficiente para programas em paralelo. No caso em que as partes associadas a cada processador requerem tempos de processamento muito diferentes, pode-se obter uma ˜ na performance do codigo ´ limitac¸ao devido a velocidade dos processadores mais ˜ funcional, ou paralelismo de tarefas lentos. Em casos como esse, a decomposic¸ao ˜ de dom´ınio, porque nesse tipo de decomposic¸ao ˜ faz mais sentido que a decomposic¸ao ˜ associadas aos proo problema e´ dividido em um grande numero ´ de tarefas, que sao cessadores ao passo que os mesmos terminam suas tarefas ˜ de dados, por se mais eficiente Neste trabalho usamos a abordagem de decomposic¸ao ˜ 3.2. e devido a natureza do problemas, como veremos na sec¸ao Um computador paralelo e´ um computador que tem multiplos ´ processadores e e´ capaz ˜ paralela. Esse tipo de computadores possuem basicamente de realizar computac¸ao ´ ´ dois tipos de arquitetura (GROUP, 2001): memoria distribu´ıda e memoria compartilhada. ´ distribu´ıda, temos um conjunto de processadores operanEm arquiteturas com memoria ˜ de um ou varios ´ do de forma cooperativa ou concorrente, na execuc¸ao aplicativos. ´ ´ ´ Cada no´ tem um acesso rapido a sua memoria local e acesso as memorias dos de´ Os dados sao ˜ trocados entre os nos ´ como mensagens atraves ´ da rede. mais nos. ´ compartilhada, varios ´ Em computadores com memoria processadores compartilham o ´ global via um barramento de memoria ´ de alta velocidade. Este acesso a uma memoria ´ global permite que os processadores tenham um acesso eficiente espac¸o de memoria aos dados. Nesse tipo de arquitetura o numero ´ de processadores usados e´ limitado, tipicamente variam entre 2 e 16 processadores, isso se deve ao fato da quantidade de dados que pode ser processada e´ limitada pela banda passante do barramento de ´ memoria que liga os diversos processadores. ´ Neste trabalho utilizaremos um tipo de maquina paralela chamada NOW (Network of Workstations), ou Cluster de computadores(COW– Cluster of Workstations) que se ´ ´ ˜ constru´ıdas a enquadra na arquitetura de memoria distribu´ıda. Essa maquinas sao.

(20) 19. ˜ tradicionais partir de computadores comuns (PCs) ligados por redes de interconexao ´ de alta velocidade (ANDERSON; CULLER; PATTERSON, 1955). Essas maquinas ´ caracterizam-se pelo fato de que cada processador enxerga somente a sua propria ´ ˜ memoria. E para a troca de mensagens e dados e´ preciso o envio de requisic¸oes ´ da rede de interconexao. ˜ ´ atraves Com estas caracter´ısticas, tais maquinas parale´ de um conjunto de maquinas ´ ˆ las podem ser implementadas atraves autonomas, ou seja, computadores tradicionais. A Figura 4 mostra esse tipo de arquitetura, onde ´ ´ podemos ver que cada maquina possui sua memoria, processador e entrada e sa´ıda ´ proprias ligadas por uma rede. Dessa forma trabalham independentes umas das out´ de mensagens. ras, comunicando-se atraves. Rede de Comunicação. ´ Figura 4: Arquitetura de maquinas NOW ´ distribu´ıda e decomposic¸ao ˜ funNeste trabalho usamos uma arquitetura com memoria ˜ do algoritmo, primeiro pela natureza do problema, que cional para a paralelizac¸ao ´ por ser uma estrategia ´ adequa-se a esse tipo de arquitetura e tambem mais eficiente. ˜ 3.1 vamos descrever a soluc¸ao ˜ que foi desenvolvida para paralelizar o algoNa sec¸ao ˜ de Benders apresentada no Algoritmo 1. ritmo para a decomposic¸ao. 1.3 Trabalhos relacionados ´ uma breve descric¸ao ˜ dos problemas do tipo eixo raio na sec¸ao ˜ 1.1, aqui serao ˜ Apos ´ apresentados os principais trabalhos relacionados a sistemas eixo–raio, ao metodo de ˜ de Benders, e ao uso de programac¸ao ˜ paralela para este metodo. ´ decomposic¸ao Desde o trabalho pioneiro de O’Kelly (O’KELLY, 1986, 1987), um crescente numero ´ ˆ propondo abordagens e modelos diferentes para os sistemas de pesquisadores vem eixo–raio. Exames sobre os mais diversos tipos de problemas dentro do contexto podem ser encontrados em (CAMPBELL, 1994a, 1994c; CAMPBELL; ERNST; KRISHNAMOORTHY, 2002)..

(21) 20. ˆ Uma abordagem comum ao se tratar o problema consiste em decompo-lo em dois ˜ dos concentradores; e outro para subproblemas, um para achar a melhor localizac¸ao ´ ´ identificar o melhor roteamento para o trafego de cada par origem–destino atraves ˜ dos concentradores. Baseando-se nisso, Klincewicz (KLINCEWICZ, 1991) propoe ˜ para duas heur´ısticas diferentes e uma meta-heur´ıstica para encontrar boas soluc¸oes cada um dos subproblemas. O trabalho de Skorin- Kapov e Skorin-Kapov (SKORINKAPOV; SKORIN-KAPOV, 1994) apresentam um algoritmo baseado em busca tabu ´ ˜ foi utilizada a mesma base de dados que e para teste deste metodo de soluc¸ao, ´ O’Kelly (O’KELLY, 1987) utilizou, sendo os dados do fluxo aereo de passageiros entre as 25 maiores cidades dos Estados Unidos em 1970. Os resultados computacionais foram apresentados em subconjuntos de 10, 15, 20 e 25 cidades e 2, 3 e 4 terminais ˜ desenvolvipara cada conjunto de cidades. No trabalho de Aykin (AYKIN, 1994) sao ˜ das 2 abordagens diferentes: um branch-and-bound para o problema de localizac¸ao ˜ simples e um algoritmo de enumerac¸ao ˜ para o problema de localizac¸ao ˜ e e atribuic¸ao ˜ multipla. atribuic¸ao ´ Em (CAMPBELL, 1996) uma heur´ıstica e´ elaborada para o prob˜ e atribuic¸ao ˜ multipla.Ernst lema de localizac¸ao ´ e Krishnamoorthy (ERNST; KRISHNAMOORTHY, 1996) usam o resfriamento simulado(simulating annealing) para obter ˜ usados posteriormente num algoritmo de branch-andbons limites superiores que sao bound. Os trabalhos (ABDINNOUR-HELM; VENKATARAMANAN, 1998) e (O’KELLY; ˜ os primeiros a propor metodologias SKORIN-KAPOV; SKORIN-KAPOV, 1995) sao ˜ heur´ıspara se calcular limites inferiores que permitem medir a qualidade das soluc¸oes ticas. ´ Em (KLINCEWICZ, 1996) e´ proposto um metodo de subida e de ajuste do dual do modelo apresentado no trabalho de Campbell (CAMPBELL, 1996). Skorin Kapov et.al (SKORIN-KAPOV; SKORIN-KAPOV; O’KELLY, 1996b) reformula o modelo de ˜ linear mais Campbell (CAMPBELL, 1996) obtendo um modelo com uma relaxac¸ao justa. Usando esse novo modelo, Pirkul e Schilling (PIRKUL; SCHILLING, 1998) ´ de uma otimizac¸ao ˜ baseada no metodo ´ abordam o problema atraves do subgradiente. Mayer e Wagner (MAYER; WAGNER, 2002) desenvolveram um branch-and´ bound usando o metodo de Klincewicz (KLINCEWICZ, 1996) e o modelo desenvolvido por Skorin-Kapov (SKORIN-KAPOV; SKORIN-KAPOV; O’KELLY, 1996b). O trabalho ˜ ´ de (ERNST; KRISHNAMOORTHY, 1996) propoem metodos exatos e heur´ısticos para ˜ baseada nao ˜ mais no par origem–destino, mas apenas na origem. No uma formulac¸ao ˜ trabalho (HAMACHER et al., 2000) os autores conseguem combinar duas restric¸oes do modelo originalmente proposto Skorin-Kapov (SKORIN-KAPOV; SKORIN-KAPOV;.

(22) 21. ˜ que definem O’KELLY, 1996b), obtendo assim uma modelo com conjunto de restric¸oes ˜ apresenta atualmente a melhor facetas do poliedro do problema. Essa formulac¸ao ˜ linear para o problema. relaxac¸ao ´ ˜ de Benders foi apresentado em (BENDERS, 1962), e a O metodo de decomposic¸ao ´ ´ partir da´ı varios problemas foram resolvidos usando o metodo.Geoffrion e Graves (GE´ ˜ e localizac¸ao ˜ OFFRION; GRAVES, 1974) aplicam o metodo a sistemas de distribuic¸ao ´ ˜ foi de facilidades instaladas entre as fabricas e os clientes finais. A decomposic¸ao utilizada em problemas do tipo eixo–raio, no trabalho de Miranda (MIRANDA, 2004), ˜ solucioanados problemas do tipo Quadratic Assignment Problem e probleonde sao ˜ de hubs. mas de localizac¸ao ˜ Existem muitas implementac¸oes paralelas de algoritmos exatos e metaheur´ısticas ˜ tais como: o trabalho Gondzion, Sarkissian para se resolver problemas de otimizac¸ao, ˜ lagrangeana e decomposic¸ao ˜ de Benders, para resolver e Vial (1998) usa relaxac¸ao ˜ de Markov e probleproblemas de planejamento de energia, modelos de decisao ˜ ´ mas em telecomunicac¸oes, juntamente com o metodo de plano de corte com centro ˜ paralela. O algoritmo anal´ıtico (Analytic Center Cutting Plane Method) e programac¸ao ˜ paralela e sao ˜ obtidos e´ executado em duas plataformas diferentes de computac¸ao bons speedups para a classe de problemas tratada. Nielsen e Stavros (NIELSEN; ˜ paralela do metodo ´ ˜ ZENIOS, 1997) apresentam uma implementac¸ao de decomposic¸ao ´ ´ de Benders para um programa linear estocastico dois estagios que alivia a dificuldade de balanceamento de carga. O trabalho de MirHassani et.al (MIRHASSANI et al., ´ ˜ para o problema 2000) considera duas abordagens de modelo e tecnicas de soluc¸ao ˜ com incertezas, a primeira soluc¸ao ˜ envolve o cenario ´ de planejamento de produc¸ao ˜ ˜ inteira estocastica. ´ de soluc¸oes wait and see e a segunda envolve programac¸ao O ´ ˜ de Benders e´ utilizado e sao ˜ feitas duas implementac¸oes ˜ metodo de decomposic¸ao do algoritmo, uma sequencial ¨ e outra paralela. ˜ foram encontrados na literatura trabalhos utilizando algoritmos paralelos em aplicaNao ˜ do tipo eixo–raio com decomposic¸ao ˜ de Benders. c¸oes. 1.4 Estrutura do trabalho ˜ O texto esta´ dividido em cinco cap´ıtulos. O presente Cap´ıtulo, apresenta uma visao geral do trabalho, descreveu problemas do tipo eixo–raio e conceitos sobre paralelismo, ˜ objetivos e revisao ˜ bibliografica. ´ ´ motivac¸ao, O Cap´ıtulo 2 descreve o modelo matematico.

(23) 22. ´ ˜ de Benders aplicado a utilizado para o problema tratado, o metodo de decomposic¸ao ˜ de Benders. O Cap´ıtulo 3 apresenta a esse modelo e o algoritmo de decomposic¸ao ˜ em paralelo para o problema e um estudo sobre os benef´ıcios da paralelizac¸ao ˜ soluc¸ao ˜ do algoritmo sequencial. ¨ O Cap´ıtulo 4 mostra os resultados alcanc¸ados pela soluc¸ao ˜ com os resultados sequenciais. apresentada fazendo uma comparac¸ao ¨ O Cap´ıtulo 5 ˜ do trabalho mostrando as principais contribuic¸oes ˜ e poss´ıveis trabalfaz a conclusao hos futuros..

(24) 23. 2. ˜ DE BENDERS PARA O DECOMPOSIC ¸ AO MODELO DE SKORIN-KAPOV. ´ ˜ de concentradores, Varios modelos foram propostos para problemas de localizac¸ao desde o pioneiro trabalho de O´Kelly (O’KELLY, 1987), que introduziu os primeiros ˜ nao-linear ˜ conceitos dos sistemas eixo–raio propondo uma formulac¸ao inteira para o problema. Seguindo o estudo de O’Kelly, Campbell (CAMPBELL, 1994b) introduz os conceitos iniciais de que cada par origem destino deve selecionar a rota que apresenta o melhor custo benef´ıcio via os concentradores e criou um modelo linear. Esses ˜ de concentradores com conceito mais geral introduziu os modelos de localizac¸ao ˜ multipla. atribuic¸ao ´ Em seguida Skorin-Kapov (SKORIN-KAPOV; SKORIN-KAPOV; ˆ modificac¸oes ˜ ˜ mais O’KELLY, 1996a) propos no modelo de Campbell uma relaxac¸ao ˜ no modelo de de Skorinjusta do que a original. Isto porque os espac¸o de soluc¸oes ˜ ˜ virse-versa. IntuitivaKapov satisfaz as restric¸oes do modelo de Campbell, mas nao ´ ˜ valores fechados para os valores integrais. mente, espera-se que as variaveis y terao Deste Cap´ıtulo constara´ o modelo de Skorin-Kapov utilizado neste trabalho para prob´ ˜ de Benders aplicado ao mesmo. lemas do tipo eixo–raio e o metodo de decomposic¸ao ´ sao ˜ concentradores candidatos, o numero Nesse tipo de problema, se todos os nos ´ ´ ´ ´ de variaveis de fluxo e´ da ordem de n4 variaveis, dessa forma o metodo de Benders ˜ do problema ja´ que permite sua separac¸ao ˜ em probletorna-se eficiente na resoluc¸ao ˜ linear inteira mista em simples mas menores, reduzindo um problema de programac¸ao ˜ 2.1 apresenta o modelo utilizado. A sec¸ao ˜ 2.2 disproblemas de transporte. A sec¸ao ´ ˜ de Benders. Na sec¸ao ˜ 2.3 e´ mostrado o corre sobre o metodo de decomposic¸ao ´ ˜ as considerac¸oes ˜ finais. algoritmo e sua analise e na ultima ´ sec¸ao. 2.1 Modelo de Skorin-Kapov ˜ apresentaremos a formulac¸ao ˜ para o modelo de Skorin-Kapov (SKORINNessa sec¸ao KAPOV; SKORIN-KAPOV; O’KELLY, 1996b). Consideramos aqui os problemas de.

(25) 24. ˜ de concentradores, nao ˜ capacitados e com multipla ˜ dessa forma localizac¸ao ´ atribuic¸ao, ´ vamos enuncia-lo como segue: ˜ 1. Dados um conjunto de pontos, as demandas de cada par origem–destino Definic¸ao e um conjunto de concentradores candidatos, o problema consiste em localizar os concentradores atribuindo os pontos de origem e de destino aos mesmos, de forma que o custo total seja m´ınimo e que a rota entre cada par de origem-destino passe por ˜ dos custos de instalac¸ao ˜ dos 1 ou 2 concentradores. O custo total e´ a composic¸ao concentradores e de transporte. ˜ da formulac¸ao ˜ aqui apresentada, vamos considerar as seguintes Para a compreensao ˜ definic¸oes: ´ isto e, ´ pontos de origem e de destino; • Seja N o conjunto de nos, ´ candidatos a concentradores, tal que K ⊆ N. • Seja K o conjunto de nos ´ i e j, onde i, j ∈ N, representando um ponto de origem • Para qualquer par de nos e de destino respectivamente, tem-se wi j , a demanda de fluxo do no´ i para o no´ j, sendo wi j 6= w ji . ˜ de um concentrador no no´ k ∈ K e ci jkm o custo • Sejam ak o custo de instalac¸ao ´ ´ dos concentrador k e m, tal unitario de transporte do no´ i ate´ o no´ j atraves ´ que i, j ∈ N e k, m ∈ K. A Figura 5 mostra o custo unitario de transporte como a ˜ de tres ˆ segmentos do caminho do no´ i ate´ o no´ j, entao ˜ temos que composic¸ao ci jkm = cik + bckm + cm j , onde: ˜ os custos unitario ´ – cik e cm j sao de transporte do no´ i( j) ate´ o no´ k(m). ´ – bckm e´ o custo unitario de transporte com desconto entre os concentradores k e m, representando a economia de escala, com b ≤ 1; • Se apenas um concentrador e´ usado, tem-se k = m, nesse caso cmm = 0; c kj. k c ik i. bc c im. km. j c mj m. ˜ dos segmentos de custo. Figura 5: Representac¸ao.

(26) 25. O problema que estamos considerando aqui, consiste em decidir onde os concen´ deve ser roteado, tradores devem ser instalados e como o fluxo entre cada par de nos ´ ˜ do modelo sao: ˜ dessa forma temos que as variaveis de decisao. • yk =. (. 1, se o no´ k e´ instalado como concentrador ´ 0, caso contrario. • xi jkm e´ o fluxo do no´ i ate´ o no´ j que e´ roteado via os concentradores k e m nessa ordem. O roteamento via concentradores para cada par de origem–destino e´ feito de forma ´ da variavel ´ ´ disso, originalmente, o modelo proposto impl´ıcita, atraves xi jkm . Alem ˜ contemplava o custo por (SKORIN-KAPOV; SKORIN-KAPOV; O’KELLY, 1996a) nao ˜ dos concentradores, requerendo o conhecimento a priori do numero de instalac¸ao ´ de concentradores a serem instalados. Conforme argumentado por (CAMPBELL, 1994b), ´ esse conhecimento exogeno nem sempre e´ coerente com a realidade, sendo mais in˜ teressante ser computado endogenamente ao se incorporar os custos de instalac¸ao dos concentradores. Nesse caso, o modelo de Skorin-Kapov (SKORIN-KAPOV; SKORINKAPOV; O’KELLY, 1996a) e´ reescrito da seguinte forma: ". #. (2.1). ∑ xi jkm ≤ wi j ym. ∀i, j ∈ N; m ∈ K. (2.2). ∑ xi jkm ≤ wi j yk. ∀i, j ∈ N; k ∈ K. (2.3). ∀i, j ∈ N. (2.4). ∀i, j ∈ N; k, m ∈ K. (2.5). ∀k ∈ K. (2.6). Min. ∑ ak yk + ∑ ∑ ∑ ∑ ci jkm xi jkm. k∈K. i∈N j∈N k∈K m∈K. Sujeito a. k∈K. m∈K. ∑ ∑. xi jkm = wi j. k∈K m∈M. xi jkm ≥ 0 yk ∈ {0, 1}. ˜ objetivo 2.1 e´ composta por dois termos, o primeiro representa o custo de A func¸ao ˜ dos concentradores, enquanto que o segundo, e´ o custo total de transinstalac¸ao ˜ porte. O conjunto de restric¸oes 2.2 e 2.3 garantem que as demandas dos pares ˜ roteadas por concentradores instalados. A restric¸ao ˜ 2.4 asorigem–destino so´ sao ˜ roteadas via algum par de segura que as demandas dos pares origem–destino sao concentradores. Quando k = m, o roteamento so´ acontece via um unico ´ concentrador..

(27) 26. ˜ ˜ as de nao ˜ negatividade e de integralidade, reE por fim, as restric¸oes 2.5 e 2.6 sao spectivamente. ´ Considerando n=—N—, observa-se que o modelo possui n4 variaveis de fluxo xi jkm . ´ Quando esse valor e´ comparado com o numero ´ de variaveis inteiras yk , constata-se ˜ uma enorme diferenc¸a de magnitude, mesmo para valores pequenos de n. A fixac¸ao ´ do numero ´ relativamente pequeno de variaveis inteiras induz uma inerente separabil˜ idade desse problema de grande porte. Essa caracter´ıstica foi uma das motivac¸oes ˜ do metodo ´ ˜ de Benders (BENDERS, 1962). Na para a aplicac¸ao de decomposic¸ao ˜ 2.2 veremos como e´ feita essa decomposic¸ao ˜ usando o metodo ´ sec¸ao de Benders.. ´ ˜ de Benders 2.2 Metodo de decomposic¸ao ´ ˜ de Benders (BENDERS, 1962; GEOFFRION, 1972) utiliza O metodo de decomposic¸ao ˜ matematica ´ a teoria da dualidade (GOLDBARG; LUNA, 2000) em programac¸ao (linear ˜ linear), para particionar um problema de dif´ıcil soluc¸ao ˜ quando sao ˜ consideradas e nao ´ ˜ e linearizac¸ao ˜ extodas as variaveis envolvidas, aplicando os conceitos de dualizac¸ao ´ ˜ resolvidas interativamente terna, em subproblemas com variaveis espec´ıficas, que sao ˜ otima ´ ate´ que uma soluc¸ao seja obtida para o problema completo. ˜ linear inteira mista, o Originalmente desenvolvido para problemas de programac¸ao ´ ´ e´ capaz de resolver problemas nao˜ lineares, desde que a nao ˜ linmetodo tambem ˜ de forma apropriada (GEOFFRION, 1972). earidade seja incorporada a` decomposic¸ao ´ ´ ˜ Esse metodo tem sido empregado com sucesso, ao longo das decadas, na resoluc¸ao ˜ multiproduto de larga escala de problemas de desenho de sistemas de distribuic¸ao (GEOFFRION; GRAVES, 1974; MAGNANTI; WONG, 1984; MIRANDA, 2004). Usare´ ˜ linear inteira mista, mos o metodo aqui para resolver um problema de programac¸ao ´ ´ com variaveis 0/1 e variaveis de fluxo. ´ No metodo, o problema original e´ decomposto em dois problemas chamados de prob˜ formulados nas sec¸oes ˜ 2.2.1 e 2.2.2, respeclema mestre e subproblema, que serao ´ ´ tivamente. O mestre possui essencialmente as variaveis yk sendo responsavel pela ˜ dos concentradores e pela obtenc¸ao ˜ de um limite inferior para o problema. instalac¸ao ´ Por outro lado, o subproblema possui apenas as variaveis de fluxo xi jkm , divididas ˜ responsaveis ´ por pares de origem–destino, que sao por decidir como o fluxo entre ´ e´ roteado. A resoluc¸ao ˜ do subproblema obtem ´ um limite superior e cada par de nos ´ ˜ adicionadas ao problema mestre a cada iterac¸ao ˜ do desigualdades validas que sao.

(28) 27. ˜ otima ´ algoritmo. Quando o limite superior torna-se igual ao limite inferior, uma soluc¸ao para o problema e´ encontrada.. 2.2.1. Problema mestre. ˜ (2.1)–(2.6), vamos determinar o problema mestre, que Considerando a formulac¸ao ˜ de instalar os concentradores para que os subproblemas resolvam os tem a func¸ao problemas de fluxo entre os pares origem–destino, portanto o problema mestre possui ´ apenas as variaveis yk . ˜ em uma dada iterac¸ao ˜ h fixando-se o vetor de variaveis ´ ´ Entao binarias, y = yh , que e´ resolvido no problema mestre, podemos escrever o problema primal como: Min ∑. ∑ ∑ ∑ ci jkm xi jkm. (2.7). i∈N j∈N k∈K m∈K. Sujeito a. ∑ xi jkm ≤ wi j yhm. ∀i, j ∈ N; m ∈ K. (2.8). ∑ xi jkm ≤ wi j yhk. ∀i, j ∈ N; k ∈ K. (2.9). ∀i, j ∈ N. (2.10). ∀i, j ∈ N; k, m ∈ K. (2.11). k∈K. m∈K. ∑ ∑. xi jkm = wi j. k∈K m∈M. xi jkm ≥ 0. Para formular o problema mestre precisamos encontrar o dual do problema primal ˜ vamos associar o conjunto de variaveis ´ ` restric¸oes ˜ 2.8, acima, entao duais uhijk , nhijm e rihj as ˜ no problema primal, temos uma 2.9 e 2.10, respectivamente. Pois para cada restric¸ao ´ variavel no problema dual. ˜ Pode-se escrever o dual do subproblema (2.8)–(2.11) como o conjunto de equac¸oes (2.12)–(2.16):. ". Max wi j ri j − ∑. ∑ ∑ wi j yhk ui jk − ∑ ∑ ∑ wi j yhmni jm. i∈N j∈N k∈K. i∈N j∈N m∈K. #. (2.12).

(29) 28. Sujeito a ri j − ni jm − ui jk ≤ ci jkm. ∀i, j ∈ N; k, m ∈ K. (2.13). ∀i, j ∈ N. (2.14). ui jk ≥ 0. ∀i, j ∈ N; k ∈ K. (2.15). ni jm ≥ 0. ∀i, j ∈ N; m ∈ K. (2.16). ri j ∈ R. ˆ na func¸ao ˜ objetivo uma variavel ´ O problema mestre formado tem que chamamos de ´ ˜ sao ˜ derivadas subsestimativa dos custos de transporte e as variaveis yk . As restric¸oes do problema dual dado acima. Dessa forma o problema mestre pode ser escrito como (2.17)-(2.20): ". Min η +. ∑ ak yk. k∈K. #. (2.17). Sujeito a. η≥. ∑ ∑ wi j rihj − ∑ ∑ ∑ wi j uhijk yk − ∑ ∑ ∑ wi j nhijmym. i∈N j∈N. i∈N j∈N k∈K. ∀h ∈ H. (2.18). i∈N j∈N k∈K. ∑ yk ≥ 1. (2.19). k∈K. yk ∈ {0, 1}. η ≥0. ∀k ∈ K. (2.20) (2.21). ˜ de Benders. A func¸ao ˜ objetivo 2.17 possui os cusOnde h representa a iterac¸ao ˜ e uma variavel ´ ˜ 2.21, subestimadora do custo de tos de instalac¸ao η , veja restric¸ao ˜ 2.19 apenas determina que pelo menos um concentrador deve transporte. A restric¸ao ˜ propostas pelo problema ser instalado, garantindo a viabilidade de todas as soluc¸oes ˜ 2.18 sao ˜ conhecidas como os cortes de Benders do tipo I, sendo mestre. As restric¸oes ´ da resoluc¸ao ˜ do os valores de: uhijk , nhijm e rihj , calculados de forma eficiente atraves subproblema, como veremos a seguir.. 2.2.2. Subproblemas. ˜ da soluc¸ao ˜ otima ´ ˜ h, envolve o A determinac¸ao no n´ıvel inferior, em uma dada iterac¸ao ´ roteamento de menor custo de transporte para cada par i j de origem–destino. Isto e, ˜ nesse n´ıvel em um subproblema para cada par i j. Lempode-se dividir a resoluc¸ao ˜ existem brando que esse roteamento e´ feito via um ou dois concentradores, entao.

(30) 29. ˜ quatro situac¸oes poss´ıveis de roteamento para um dado par i j e para uma dada ˜ de concentradores instalados. A Figura 6 ilustra as quatro situac¸oes ˜ configurac¸ao poss´ıveis: em 6(a) e 6(b) a rota de menor custo pode passar por apenas um concentrador instalado, k ou m ; em 6(c) e 6(d) a rota de menor custo pode passar por dois ´ concentradores instalados, tanto no sentido concentrador k → m ou, o contrario, m → k.. j. m. i. m. i k. (b). k. j. j. i. i. k. (a). m. j. k. m. (c). (d). Figura 6: Rotas poss´ıveis para o par origem-destino i j, para um dado yh. ˜ otima ´ ˜ (2.7)–(2.11) e´ dada A soluc¸ao para o subproblema primal dado pelas equac¸oes ˜ pela equac¸ao:. ∑. wi j Mink,m∈K {ci jkm | yhk = yhm = 1}. (2.22). i, j∈N. ´ disso, os valores otimos ´ ´ ˜ do Alem das variaveis duais devem ser obtidos para a adic¸ao ˜ dos valores das variaveis ´ corte de Benders do tipo I ao problema mestre. A obtenc¸ao ´ da interpretac¸ao ˜ economica ˆ ´ duais, uhijk , nhijm e rihj pode ser feito atraves de cada variavel ˜ e pela propriedade das folgas complementares (LUNA, 1978). Essa interpretac¸ao ˜ eficientes na resoluc¸ao ˜ do problema. Considerando vhij como permite implementac¸oes a maior diferenc¸a de prec¸o poss´ıvel entre os pontos i e j que se esta´ disposto a pagar, ˜ tem-se que vhij e´ o menor custo de transporte entre i e j, dada pela equac¸ao: rihj = Mink,m∈K {ci jkm | yhk = yhm = 1}. (2.23). Interpretando uhijk e nhijm como taxas adicionais a serem pagas para se rotear o fluxo de ˆ ˜ i ate´ j via os concentradores k e m, tem-se, que quando os concentradores k e m estao ˜ iguais a zero, como mostram as equac¸oes ˜ a instalados (yhk = yhm = 1), essas taxas sao seguir: uhijk = 0, se yhk = 1. (2.24). nhijm = 0, se yhm = 1. (2.25).

(31) 30. ˜ estao ˜ instalados, deve-se analisar qual e´ a Por outro lado, se os concentradores nao ˜ marginal de cada concentrador, isto e, ´ qual deles ofereceria a menor taxa contribuic¸ao ˜ dadas pelas relac¸oes: ˜ para se rotear o fluxo. Essas taxas sao uhijk = Max {0, Maxm∈M {rihj − ci jkm }}, se yhk = 0. (2.26). nhijm = Max {0, Maxk∈K {rihj − ci jkm }}, se yhm = 0. (2.27). Dessa forma, consegue-se resolver o subproblema adicionando os cortes de Benders ao problema mestre. E´ importante observar que devemos esperar que a maior ˜ se deva aos subproblemas, uma vez que para cada par parcela de custo da soluc¸ao origem–destino, havera´ a necessidade de se determinar a rota de custo m´ınimo entre os diversos concentradores alocados pelo mestre.. ˜ de Benders 2.3 Algoritmo de decomposic¸ao ˜ matematica ´ ˜ anterior, apresentaremos aqui Dada a formulac¸ao mostrada na sec¸ao ˜ computacional do problema, sua complexidade, o algoritmo utilizado na resoluc¸ao ˜ e um exemplo de sua execuc¸ao. ˜ limitac¸oes. 2.3.1. Algoritmo. ˜ do metodo ´ ˜ de Benders ao modelo dado pelas equac¸oes ˜ A aplicac¸ao de decomposic¸ao ˜ vamos considerar a descric¸ao ˜ (2.1)–(2.6) conduz ao Algoritmo 1, para cuja compreensao ´ das variaveis utilizadas, mostrada na Tabela 1. ˜ do algoritmo temos os seguintes dados de entrada: Para a execuc¸ao ´ (N); • O numero ´ de nos • Uma matriz de custos de transporte entre os pares i j (ci jkm ) dos pares origem– destino; • As demandas (wi j ); ˜ dos concentradores (ak ); • Os custos de instalac¸ao • O desconto (b). ´ ˜ modificadas a cada iterac¸ao ˜ do algoritmo. As variaveis CF, LS, LI, ls, li, η , µ e v sao.

(32) 31 ´ Variavel N K,M LI LS ls CF CT η ak y ci jkm xi jkm wi j µ ev i, j, k e m. ˜ Descric¸ao ´ Numero ´ de nos do problema ´ candidatos a concentradores Conjunto de nos ˜ dos concentradores Limite Inferior do custo de transporte e instalac¸ao ˜ dos concentradores Limite superior do problema do custo de transporte e instalac¸ao ˜ Limite superior da iterac¸ao ´ que sao ˜ concentradores em uma iterac¸ao ˜ h Custo total do nos Custo de transporte do no´ i ao no´ j Subestimadora do custo de transporte no problema mestre ˜ do concentrador k Custo de instalac¸ao ´ os nos ´ Vetor que contem Custo de transporte do no´ i ao no´ j passando pelos concentradores k e m Quantidade de fluxo do no´ i ate´ o no´ j que roteado via os concentradores k e m Demanda de fluxo do no´ i ao no´ j ´ Variaveis duais ´ Variaveis de controle. ˜ das variaveis ´ Tabela 1: Descric¸ao do algoritmo ˜ Os dados de sa´ıda do algoritmo sao: ˜ final dos nos ´ y, ou seja quais os nos ´ que deverao ˜ ser instalados • A configurac¸ao de forma a obter o menor custo de transporte entre os pares i j; ˜ da rede e o custo de transporte total • O custo fixo total (CF), dada a configurac¸ao (CT ). ˜ de Benders Algoritmo 1 Decomposic¸ao 1: LI ← 0; ´ que sao ˜ concentradores} 2: CF ← ∑ ak ;{onde k refere-se os nos k. 3: 4: 5: 6: 7: 8:. CT ← Resolve subproblema (2.7)–(2.11) LS ← CF + CT ; Adiciona o corte ao problema mestre (2.18); while LS 6= LI do LI ← Resolve problema mestre (2.17)–(2.21) ˜ os nos ´ que sao ˜ concentradores} CF ← ∑ ak ;{onde k sao k. 9: CT ← Resolve subproblema (2.7)–(2.11) 10: ls ← CF + CT ; 11: if LS < ls then 12: LS ← ls; 13: end if 14: Adiciona o corte ao problema mestre (2.18); 15: end while. ˜ ´ As linhas 1 a 5 do Algoritmo 1 fazem todas as inicializac¸oes das variaveis para a ˜ do algoritmo. A linha 1 inicia o limite inferior com 0. Para que se primeira iterac¸ao ´ ˜ inicial da rede, tenha o valor do custo fixo e´ necessario estabelecer uma configurac¸ao ´ serao ˜ instalados como concentradores. Nesse caso a configurac¸ao ˜ ou seja, quais nos ˜ de todos os nos ´ como concentradores, assim na linha 2 inicial utilizada foi a instalac¸ao.

(33) 32. ˜ dos nos ´ que foram o custo fixo e´ inicializado com a soma dos custos de instalac¸ao ˜ do subproblema que instalados como concentradores. Na linha 3 temos a resoluc¸ao ´ o menor custo de transporte, dada a configurac¸ao ˜ inicial da rede, cuja soluc¸ao ˜ obtem ˜ (2.22)-(2.27). Na linha 4 o valor do limite superior e´ dada pelo conjunto de equac¸oes ˜ e transporte. Na linha 5 e´ e´ calculado, sendo a soma dos custos totais de instalac¸ao adicionado o corte de Benders. Da linha 6 a 15 temos um lac¸o que implementa os ciclos de Benders. O algoritmo ´ quando os limites inferior e superior convergem. Na linha 7 o problema mestre para e´ resolvido e o valor do limite inferior para o problema e´ obtido. As linhas 8, 9 e 10 ˜ correspondentes as linhas 2, 3 e 4 do algoritmo, considerando a configurac¸ao ˜ dos sao ˜ corrente que e´ representada por h, que nos da´ o custo de concentradores na iterac¸ao transporte para se rotear o fluxo entre os pares i j. ˜ do novo valor para o limite superior, verificando se o Na linha 12 e´ feita a atribuic¸ao valor atual e´ melhor do que o anterior. A linha 14 adiciona o corte de Benders ao ˜ que para quando os limites superior problema mestre. Voltamos ao in´ıcio da repetic¸ao ˜ iguais. e inferior sao ´ importante observar que devemos esperar que a maior parcela de tempo da execuc¸ao ˜ E ˜ dos subproblemas, uma vez que para cada par do algoritmo se deva a resoluc¸ao origem–destino havera´ a necessidade de se determinar a rota de custo m´ınimo entre os diversos concentradores alocados pelo mestre. Essa foi uma caracter´ıstica imporˆ ˜ em paralelo. tante para se obter efciencia na soluc¸ao. 2.3.2. ˜ do algoritmo Execuc¸ao. ˜ do Algoritmo 1 vamos considerar um exemplo simples, com Para ilustrar a execuc¸ao os seguintes dados de entrada: ´ (N) igual a cinco; • Numero ´ de nos • Uma matriz de custos de transporte entre os pares i j; • Uma matriz de demandas; ˜ dos concentradores. • Os custos de instalac¸ao.

(34) 33 Corte de Benders Problema Mestre y. 1. = [0 0 1 0 0]. 5. y. 4. . . . = [0 1 0 0 0]. para LS=LI h=4 LS = 1820188 LI = 1820188 . . . h=1 LS = 1820188 LI = 1820188. 5. Subproblemas. ˜ do algoritmo de Benders Figura 7: Ilustrac¸ao ˜ do algoritmo e´ ilustrada na Figura 7. No n´ıvel superior e´ estabelecida A execuc¸ao ˜ para os nos ´ na primeira iterac¸ao, ˜ y15 = [00100]∗, enviando esses uma configurac¸ao ˜ resolvidos os subproblemas e um novo limite superior dados para o n´ıvel inferior sao ˜ repetidos ate´ que estabelecido e comparado com o limite inferior, esses passos sao ˜ quatro. Os valores obtidos estao ˜ na esses valores se igualem, nesse caso na iterac¸ao Tabela 2. h 1 2 3 4. yh [0 0 1 0 0 ] [0 1 0 0 0 ] [0 1 1 0 0 ] [0 1 0 0 0 ]. LI 1025929.8000 1227762.8000 1588087.8000 1820188.0000. LS 4278273.0000 1820188.0000 1841617.0000 1820188.0000. CF 360325.0000 562158.0000 922483.0000 562158.0000. CT 3917948.0000 1258030.0000 919134.0000 1258030.0000. ˜ do algoritmo Tabela 2: Execuc¸ao ´ A seguir e´ feita a analise de complexidade de tempo para o algoritmo.. ∗ y1 5. ´ na iterac¸ao ˜ 1 significa o valor do vetor y, que tem 5 nos. CF/CT 0.0920 0.4469 1.0036 0.4469.

(35) 34. ´ 2.4 Analise do algoritmo ˜ Para analisar a complexidade do Algoritmo 1 vamos recordar as seguinte definic¸oes ˜ 2.1: k e´ o numero ´ candidatos a concentradores e N o numero dadas na sec¸ao ´ de nos ´ ´ com k ⊆ N. Entao ˜ no pior caso temos k = N. Dessa forma temos: na linha 7 de nos, no problema mestre temos complexidade de O(n), na linha 8 temos complexidade de ˜ dos subproblema que e´ O(n4 ) e na linha 14, o O(n), na linha 9 temos a execuc¸ao corte de Benders temos O(n3 ), dessa forma temos que a complexidade do algoritmo e´ O[h(2n + n4 + n3 )], onde h e´ o numero ´ de ciclos de Benders. Desconsiderando-se h por ser uma constante e tomando-se apenas o maior dos termos temos que a complexidade do algoritmo sequencial ¨ e´ O(n4 ). ˜ complicados de resolver quando o tamanho do problema Algoritmos de O(n4 ) sao ´ ou seja, N = 10 temos um cresce , por exemplo, para um problema com dez nos, ˜ da ordem de 102 u.t., se esse numero tempo de execuc¸ao ´ for aumentado para N = 100 percebemos que o tempo aumenta consideravelmente ficando na ordem de 108 u.t. o ˜ muito alto. que representa um tempo de execuc¸ao ´ Considerando a natureza do metodo utilizado para se resolver o problema, percebe´ se que e´ embarac¸osamente paralelizavel, dessa forma podemos obter bons tempos ˜ para a resoluc¸ao ˜ de grandes problemas, que as vezes nao ˜ conseguimos de execuc¸ao ˆ resolve-los com o algoritmo sequencial. ¨. ˜ 2.5 Considerac¸oes finais ´ ˜ de Benders O Cap´ıtulo mostrou o modelo que e´ utilizado, o metodo de decomposic¸ao ˜ sequencial. aplicado a esse modelo e o algoritmo para sua execuc¸ao ¨ Como vimos, ´ o problema possui um grande numero ´ de subproblemas e com o uso de um metodo ˜ instancias ˆ ˜ resolvidas. No Cap´ıtulo 3 e´ apresentada a de decomposic¸ao, maiores sao ˜ em paralelo do metodo, ´ ˜ e soluc¸ao bem como o algoritmo utilizado na implementac¸ao ˆ um estudo sobre a eficiencia do algoritmo..

(36) 35. 3. ˜ EM PARALELO DO IMPLEMENTAC ¸ AO ´ ˜ DE METODO DE DECOMPOSIC ¸ AO BENDERS. ´ ˜ de Benders, visto no Cap´ıtulo 2 e´ uma tecnica ´ O metodo de decomposic¸ao adequada ˜ por permitir a decomposic¸ao ˜ de problemas separaveis. ´ a` paralelizac¸ao, Este Cap´ıtulo ˜ em paralelo utilizada e um estudo do algoritmo paralelo. mostra a soluc¸ao. ˜ em paralelo da decomposic¸ao ˜ de Benders 3.1 Soluc¸ao Como vimos anteriormente, para paralelizar um problema devemos dividi-lo em problemas menores, de forma que estes sejam resolvidos pelos processadores de forma ˜ em um curto espac¸o de tempo. Para conjunta, com o objetivo de obter uma soluc¸ao ˜ aqui adotada, vamos considerar que P e´ o numero compreender a soluc¸ao ´ de pro˜ do programa, sendo um deles chamado de processo cessos utilizados na execuc¸ao mestre, ou processo 0, e P-1 e´ o numero ´ de processos escravos, enumerado de 1 ate´ P-1, que podemos chamar de arquitetura cliente–servidor, como mostra a Figura 8. Nosso problema consiste em localizar os concentradores, considerando que e´ dado Processo 0 Mestre dados. Processo 1 Escravo. dados. Processo 2 Escravo. Processo 3 Escravo. Figura 8: Arquitetura cliente–servidor ´ as demandas de cada par origem-destino e um conjunto de conum conjunto de nos, centradores candidatos, atribuindo os pontos de origem e de destino aos mesmos, de.

(37) 36. forma que o custo total seja m´ınimo e que a rota entre cada par de origem-destino passe por um ou dois concentradores. ´ Dessa forma, como o problema e´ decomposto em problemas menores pelo metodo ˜ utilizado, usaremos essa caracter´ıstica para paralelizar o nosso algoritmo. Entao ˜ em paralelo consiste em dividir o problema entre os processadores, da a soluc¸ao ˜ seguinte forma: o problema mestre, representado pelas equac¸oes (2.17)-(2.6) e´ re˜ solvido no processo zero e os subproblemas, o conjunto de equac¸oes (2.12)-(2.16), ˜ distribu´ıdos aos processos escravos. sao ˜ temos que cada processo escravo resolve problemas de roteamento de fluxo Entao para um par i j, levando em conta que quando um processo termina e´ atribu´ıdo um novo subproblema a ele. ˜ em paralelo, o processo 0 e´ responsavel ´ Na soluc¸ao por resolver o problema mestre e adicionar o corte de Benders, estabelecendo um limite inferior para o problema e ˜ dos concentradores, isto e, ´ quais nos ´ sao ˜ instalados como concena configurac¸ao ˜ da rede em uma iterac¸ao ˜ h, yh , e´ enviada para os tradores. A nova configurac¸ao ´ o limite superior e envia os processos. Quando o subproblema e´ resolvido ele obtem ´ valores das variaveis duais, para o processo mestre, que adiciona o corte de Benders ˜ para os processos escravos. O numero e envia as novas informac¸oes ´ de processos, ˜ dos pares i j e´ feita de modo que cada nesse caso, e´ fixo, dessa forma a distribuic¸ao processo escravo receba uma quantidade de subproblemas. ˜ temos que diComo estamos utilizando a abordagem de paralelismo de dados, entao vidir os dados entre os processadores, com blocos de dados aproximadamente iguais. ˜ sendo divididos entre os processadores, isto e, ´ as maNesse caso, os pares i j estao ˜ dadas como entrada para o problema sao ˜ divididas por linha para cada trizes que sao processador. O numero ´ de linhas a serem enviadas QL para cada processador e´ determinado pela ˜ entre o tamanho do problema(N) e o numero razao ´ de processadores utilizados(P), ou ´ igual a dez e o numero seja QL = N/P. Dessa forma se tivermos o numero ´ de nos ´ ˜ cada processo vai receber duas linhas da made processadores igual a cinco, entao ˜ do algoritmo, a soluc¸ao ˜ aqui triz para, pois 10/5 = 2. Para facilitar a implementac¸ao ´ seja multiplo exposta exige que o numero ´ de nos ´ do numero ´ de processos utilizados. ˜ resolvidos pelos Essas linhas representam os dados dos subproblemas que serao ˜ a paralelizac¸ao ˜ do algoritmo permite a resoluc¸ao ˜ de varios ´ processadores. Entao ˜ menor difersubproblemas ao mesmo tempo, resultando em um tempo de execuc¸ao.

(38) 37. ˜ sequencial, entemente da computac¸ao ¨ onde apenas um subproblema para um par i j ˜ 3.2, que segue, e´ mostrado o algoritmo utilizado. e´ resolvido por vez. Na sec¸ao. 3.2 Algoritmo paralelo ˜ 1.2 em maquinas ´ ˜ entre os processadores Como vimos na sec¸ao NOW a comunicac¸ao ˜ baseados no envio e recebimento de mensagens entre os processadores. Essa sao ´ mensagens podem proceder de varias formas, tais como um unico ´ processador envia a mensagem e outro recebe, um unico ´ processador envia a mensagem para todos os ´ outros, varios processadores enviam a mensagem para um unico ´ processador, etc. Neste trabalho dois tipos de mensagens foram utilizadas: ´ • Mensagens enviadas de varios processos para um unico ´ processador, onde ˜ de reduc¸oes ˜ sao ˜ utilizadas; operac¸oes ´ • Mensagens enviadas de um processo para varios processos, o que podemos chamar de broadcast. ˜ em paralelo do Algoritmo 1 mostrado na sec¸ao ˜ 2.3.1, O Algoritmo 2 e´ uma versao ´ dessa forma vamos considerar todas as variaveis definidas na Tabela 1. Para implemen˜ em paralelo, foram necessarias ´ ´ ˜ descritas na Tabela 3. tac¸ao novas variaveis, que estao. ´ Variavel P QL processo. ˜ Descric¸ao Numero ´ de processos utilizados Quantidade de linhas a serem resolvidos por cada processo ESCRAVO Numero ´ do processo corrente. ˜ das variaveis ´ Tabela 3: Descric¸ao adicionais para o algoritmo paralelo. ˜ 2.3.1, temos a partir da linha 1 ate´ a Como no Algoritmo 1 apresentado na sec¸ao ˜ das variaveis ´ ˜ do algoritmo. A linha 10 todas as inicializac¸oes para a primeira iterac¸ao ˜ resolvidos por linha 2 define a quantidade de linhas da matriz de entrada que serao ´ ˜ objetivo 2.7 do subprobcada processo ESCRAVO, o primeiro somatorio da func¸ao ´ lema e´ dividido entre os provessadores seguindo a seguinte formula i = processo ∗ QL. ˜ dos nos ´ que Na linha 3 o custo fixo e´ inicializado com a soma dos custos de instalac¸ao ˜ do subproblema foram instalados como concentradores. Na linha 4 temos a resoluc¸ao ´ o menor custo de transporte em todos os processos, o ´ındice do primeiro que obtem ´ ˜ entre os processos variando de acordo com o processo somatorio faz a distribuic¸ao.

(39) 38. ˜ de Benders em paralelo Algoritmo 2 Decomposic¸ao 1: LI ← 0; 2: QL ← N/P; {Definindo a quantidade de dados a enviar para cada processador} ˜ os nos ´ que sao ˜ concentradores} 3: CF ← ∑ ak ;{onde k sao k. ˜ sendo resolvidos 4: CT ← Resolve subproblema (2.7)–(2.11){Nesse momento os subproblemas estao em paralelo} 5: Envia os valores de u, n, r e CT dos processos ESCRAVOS para o MESTRE; 6: if MESTRE then 7: LS ← CF + CT ; 8: Adiciona o corte ao problema mestre (2.13); 9: end if 10: Enviar LS do MESTRE para os processos ESCRAVOS; 11: while LS 6= LI do 12: if MESTRE then 13: Resolve problema mestre (2.17)–(2.21) ˜ os nos ´ que sao ˜ concentradores} 14: CF ← ∑ ak ;{onde k sao k. 15: end if 16: ˜ sendo resolvidos 17: CT ← Resolve subproblema (2.7)–(2.11){Nesse momento os subproblemas estao em paralelo} 18: Envia os valores de u, n, r e CT dos processos ESCRAVOS para o MESTRE; 19: if MESTRE then 20: ls ← CF + CT ; 21: if LS < ls then 22: LS ← ls; 23: end if 24: Adiciona o corte ao problema mestre (2.13); 25: end if 26: Enviar LS e LI do MESTRE para os processos ESCRAVOS; 27: end while. ˜ a linha um sera´ resolvida corrente, ou seja, se tivermos processo = 1 e QL = 1, entao ˜ calculados em paralelo, os pelo processo um. Depois que todos os subproblemas sao ˜ atualizados no MESTRE, isso e´ feito na linha 5. A seguir, valores de u, n, r e CT sao ˜ do novo limite superior e o corte de Benders sao ˜ feitos pelo MESTRE, a atribuic¸ao linhas 7 e 8, respectivamente. Da mesma forma que no algoritmo sequencial, ¨ a partir da linha 11 ate´ 27 temos um lac¸o que implementa os ciclos de Benders, que para quando os limites inferior e superior convergem. Na linha 13 e´ calculado o problema mestre apenas no processo ˜ correMESTRE e um limite inferior para o problema e´ obtido. As linhas 14 e 17 sao spondentes as linhas 3 e 4 do algoritmo, sendo nesse caso o CF calculado apenas ˜ da rede que foi determinada pela resoluc¸ao ˜ do no MESTRE, com a nova configurac¸ao ˜ atualizados no MESTRE. problema mestre. Na linha 18 os valores de u, v e CT sao ˜ com o limite superior anterior e a atribuic¸ao ˜ do novo limite superior e´ A comparac¸ao feita apenas no mestre nas linhas 19 e 22. A linha 24 adiciona o corte de Benders ao ˜ diferentes voltamos problema mestre. Se os valores dos limites superior e inferior sao.

(40) 39. ˜ ao in´ıcio da repetic¸ao.. 3.2.1. ˜ do algoritmo Exemplo de execuc¸ao. ˜ do algoritmo em paralelo foi utilizado o mesmo exemplo Para exemplificar a execuc¸ao ˜ 2.3.2. A Figura 9(a) mostra a primeira iterac¸ao ˜ da execuc¸ao ˜ em mostrado na sec¸ao ˜ paralelo, temos os valores iniciais obtidos do, limite inferior, limite superior na iterac¸ao ´ a configurac¸ao ˜ dos concentradores, que no caso e´ apenas um conum, como tambem ´ centrador instalado. Como podemos ver cada um dos processadores resolve varios ˜ reduzidos a um so´ no mestre, atraves ´ subproblemas obtendo custos parciais, que sao ˜ de reduc¸ao. ˜ de uma operac¸ao ˜ 9(b), quando o algoritmo para, pois o limite inferior e superior se Na ultima ´ iterac¸ao ˜ final para a rede, com tres ˆ nos ´ sendo igualam. Dessa forma temos uma configurac¸ao concentradores. Processo 0 Problemas Mestre Corte de Benders. LI = 1227762 LS = 1820188 CT = 3917948 y. 1. = [0 0 1 0 0]. 5. Processo 1 Subproblemas. Processo 2 Subproblemas. CT parcial. CT parcial. Processo 3 Subproblemas CT parcial. ˜ na iterac¸ao ˜ 1 (a) Execuc¸ao Processo 0 Problemas Mestre Corte de Benders. LI = 1820188 LS = 1820188 CT= 1258030 y. 4. = [0 0 1 0 0]. 5. Processo 1 Subproblemas. Processo 2 Subproblemas. CT parcial. CT parcial. Processo 3 Subproblemas CT parcial. ˜ iterac¸ao ˜ na ultima ˜ (b) Execuc¸ao ´ iterac¸ao. ˜ em paralelo para 5 nos ´ com 4 iterac¸oes ˜ no total Figura 9: Execuc¸ao.

Referências

Documentos relacionados

E as mineradoras da Região Carbonífera do Sul de Santa Catarina, que durante décadas exploraram sem muitos cuidados o carvão mineral, estão dentro desse contexto.Com base em

São considerados custos e despesas ambientais, o valor dos insumos, mão- de-obra, amortização de equipamentos e instalações necessários ao processo de preservação, proteção

Neste tipo de situações, os valores da propriedade cuisine da classe Restaurant deixam de ser apenas “valores” sem semântica a apresentar (possivelmente) numa caixa

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

No final, os EUA viram a maioria das questões que tinham de ser resolvidas no sentido da criação de um tribunal que lhe fosse aceitável serem estabelecidas em sentido oposto, pelo

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

Este estudo apresenta como tema central a análise sobre os processos de inclusão social de jovens e adultos com deficiência, alunos da APAE , assim, percorrendo