a divisão de tarefas no balanceamento de carga em linhas ... · o conceito de produção em linha...

81
U NIVERSIDADE F EDERAL DE G OIÁS I NSTITUTO DE I NFORMÁTICA C ARLOS A LEXANDRE X. DA S ILVA A divisão de tarefas no balanceamento de carga em linhas de produção Goiânia 2017

Upload: dangminh

Post on 25-Jan-2019

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

UNIVERSIDADE FEDERAL DE GOIÁSINSTITUTO DE INFORMÁTICA

CARLOS ALEXANDRE X. DA SILVA

A divisão de tarefas no balanceamentode carga em linhas de produção

Goiânia2017

Page 2: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez
Page 3: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

CARLOS ALEXANDRE X. DA SILVA

A divisão de tarefas no balanceamentode carga em linhas de produção

Dissertação apresentada ao Programa de Pós–Graduação doInstituto de Informática da Universidade Federal de Goiás,como requisito parcial para obtenção do título de Mestre emCiência da Computação.

Área de concentração: Ciência da Computação.

Orientador: Prof. Dr. Humberto José Longo

Co-Orientador: Prof. Dr. Leslie Richard Foulds

Goiânia2017

Page 4: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Ficha de identificação da obra elaborada pelo autor, através doPrograma de Geração Automática do Sistema de Bibliotecas da UFG.

CDU 658.5

Xavier da Silva, Carlos Alexandre A divisão de tarefas no balanceamento de carga em linhas deprodução [manuscrito] / Carlos Alexandre Xavier da Silva. - 2017. 81 f.: il.

Orientador: Prof. Dr. Humberto José Longo; co-orientador Dr.Leslie Richard Foulds. Dissertação (Mestrado) - Universidade Federal de Goiás, Institutode Informática (INF), Programa de Pós-Graduação em Ciência daComputação, Goiânia, 2017. Bibliografia. Apêndice. Inclui siglas, abreviaturas, gráfico, tabelas, lista de figuras, listade tabelas.

1. Sistemas de fabricação. 2. Balanceamento de linhas de produção.3. Divisão de tarefas. 4. Otimização combinatória. I. Longo, HumbertoJosé, orient. II. Título.

Page 5: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez
Page 6: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Todos os direitos reservados. É proibida a reprodução total ou parcial dotrabalho sem autorização da universidade, do autor e do orientador(a).

Carlos Alexandre X. da Silva

Page 7: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Aos Professores Waldemar Grzechca (in memoriam), Humberto Longo e LeslieFolds que iniciaram a pesquisa sobre o tema dessa dissertação e foram fundamentais paraa conclusão deste mestrado.

Aos meus pais, pelo apoio incondicional e incentivo aos estudos.

Page 8: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Agradecimentos

Agradeço ao meu orientador, Prof. Humberto José Longo, por estar sempre dis-ponível, pela paciência nas inúmeras correções durante o mestrado e pelos ensinamentos,que desde a época da graduação foram fundamentais para minha formação e sempre esti-mularam meu interesse pela pesquisa.

Agradeço ao meu co-orientador Prof. Leslie Richard Foulds pela atenção, dispo-nibilidade, pelas críticas e correções sugeridas durante o mestrado.

Agradeço aos meus pais por estarem sempre presente e pelo apoio incondicionalpara minha formação.

Agradeço aos meus amigos pelo incentivo e apoio constante, em especial, PauloCezar, Victor Martin, Vinícius Coelho e Welton Cardoso.

Agradeço à CAPES (Coordenação de Aperfeiçoamento de Pessoal de NívelSuperior) pela concessão da bolsa durante todo o período de realização deste mestrado.

Page 9: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Não é a saída do porto, mas a chegada que determina o sucesso de umaviagem.

Henry Ward Beecher,1921.

Page 10: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Resumo

X. da Silva, Carlos Alexandre. A divisão de tarefas no balanceamento de cargaem linhas de produção. Goiânia, 2017. 81p. Dissertação de Mestrado. Institutode Informática, Universidade Federal de Goiás.

O balanceamento eficaz de uma linha de produção é importante para aprimorar a produ-tividade e reduzir custos de uma industria. O problema do balanceamento de linhas deprodução (Assembly Line Balancing Problem - ALBP) envolve atribuir as tarefas neces-sárias para produzir cada unidade de um produto entre estações de trabalho ao longo deuma linha de produção, a fim de otimizar alguma medida de desempenho do sistema.Tradicionalmente, supõe-se que o trabalho total necessário para cada unidade de produtofoi particionado em tarefas economicamente indivisíveis, de modo que uma maior di-visão gera custos desnecessários. Assim, cada tarefa requerida não pode ser dividida edeve ser realizada em uma única estação. Na prática, no entanto, isso pode não ser sem-pre verdadeiro quando existe um objetivo orientado ao tempo, tal como a minimizaçãodo número de estações para um determinado tempo de ciclo. Neste caso, pode ser que onúmero mínimo das estações possa ser reduzido quando for possível continuar a dividirtarefas particulares de formas limitadas, mesmo se a divisão induzir custos adicionais detempo. A permissão de tal divisão de tarefas nos leva a um novo problema de balancea-mento de linhas de produção, o qual denotamos por TDALBP (Task Division Assembly

Line Balancing Problem). Nós propomos um modelo de programação linear inteira biná-ria para o TDALBP e procedimentos efetivos para solucioná-lo. Os procedimentos foramavaliados sobre adaptações de várias instâncias SALBP clássicas da literatura. Os resulta-dos computacionais são promissores e mostram o potencial do TDALBP para a melhorasignificativa do desempenho de linhas de produção.

Palavras–chave

Sistemas de fabricação, balanceamento de linhas de produção, divisão de tarefas,otimização combinatória.

Page 11: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Abstract

X. da Silva, Carlos Alexandre. The task division assembly line balancingproblem. Goiânia, 2017. 81p. MSc. Dissertation. Instituto de Informática,Universidade Federal de Goiás.

In one version of the Simple Assembly Line Balancing Problem (SALBP) tasks areassigned to stations along an assembly line with a fixed cycle time in order to minimise therequired number of stations. It has traditionally been assumed that the total work neededfor each product unit has been partitioned into economically indivisible tasks. However, inpractice, it may be that the minimum number of stations can be reduced when it is possibleto further divide particular tasks in limited ways even with additional time penalty costs.Allowing task division leads to a new assembly line balancing problem, TDALBP (TaskDivision Assembly Line Balancing Problem) and a solution procedure for it. This workintroduces a mathematical model for the TDALBP and presents promising computationalresults for the adaptation of some classical SALBP instances from the research literature.The results demonstrate that the TDALBP has the potential to significantly improveassembly line performance.

Keywords

Manufacturing systems, assembly line balancing, task division, combinatorialoptimisation.

Page 12: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Sumário

Lista de Figuras 14

Lista de Tabelas 15

1 Introdução 161.1 Estrutura da dissertação 19

2 O balanceamento de linhas de produção 202.1 Revisão bibliográfica 212.2 Conceitos e definições básicas 252.3 Medidas de qualidade 27

3 TDALBP – Task Division ALBP 293.1 Introdução 293.2 Definição do TDALBP 303.3 Modelo matemático para o TDALBP 35

4 Algoritmo BB&R e adaptação ao TDALBP 414.1 Algoritmo BB&R 414.2 Adaptação do BB&R para o TDALBP 47

5 Experimentos computacionais 505.1 Introdução 505.2 Instâncias do TDALBP 50

5.2.1 Resultados com o Método-M 515.2.2 Resultados com o Método-A 525.2.3 Teste de penalidade 60

6 Principais contribuições e propostas de pesquisas 626.1 Principais contribuições 626.2 Propostas de pesquisas 63

Referências Bibliográficas 64

A Abreviações e Acrônimos 68

B Notação utilizada 69

Page 13: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

C Modelos SALBP-1 e ASALBP 72C.1 Modelo SALBP-1 de Patterson e Albracht 72C.2 Modelos ASALBP 73

C.2.1 Capacho e Pastor 73C.2.2 Scholl, Boysen e Fliedner 74

D Tabelas de resultados 76

Page 14: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Lista de Figuras

1.1 Trabalhadores na linha de produção na fábrica da Ford Motor CompanyRouge Plant, 1932. [39] 17

1.2 linha de produção moderna - Maruti’s - 2012. [28] 18

2.1 Fluxo de uma linha de produção. 252.2 Grafo de precedência de uma instância do SALBP-1. 262.3 Disposição das tarefas em estações para a solução detalhada na Tabela

2.1. 26

3.1 Grafo de precedência ilustrando as tarefas potencialmente divisíveis. 333.2 A versão expandida do grafo de precedência do exemplo numérico. 34

Page 15: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Lista de Tabelas

2.1 Solução ótima para a instância apresentada na Figura 2.2, com tempo deciclo c = 10. 27

3.1 Dados de entrada para a instância TDALBP. 33

4.1 Possíveis valores para os parâmetros de entrada da função H . 444.2 Solução ótima do BPA-TD para o TDALBP sem penalidades. 484.3 Solução ótima do BPA-TD para o TDALB com penalidades. 48

5.1 Resultados computacionais - Mediana. 525.2 Resultados do CPLEX com as instâncias do TDALBP geradas pelo

Método-A. 535.3 Resultados do BB&R-TD com as instâncias do TDALBP geradas pelo

Método-A. 555.4 Resultados computacionais - Teste de penalidade. 60

D.1 Eficiências de linha das soluções ótimas de 31 instâncias SALBP-1. 76D.2 Resultados para as instâncias do TDALBP geradas pelo Método-A que

não obtiveram um resultado melhor que suas versões SALBP-1. 77

Page 16: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

CAPÍTULO 1Introdução

O artesanato pode ser considerado a primeira forma de processo produtivo, noqual uma única pessoa podia realizar todo o processo de produção para construir uma peçade artesanato. Os mestres de ofício, que eram os donos das oficinas e dos instrumentos,conheciam todas as etapas de produção e dominavam as técnicas necessárias para produzircada produto. Os aprendizes dependiam dos mestres para trabalhar e aprender o ofício, oque poderia demorar anos para dominar as técnicas de produção. O processo de produçãoera totalmente manual e dependia diretamente da habilidade e velocidade do artesão. Porisso, o artesanato produzia em pequena escala, e devido ao tempo gasto na produção, osprodutos eram mais caros.

A manufatura surgiu após o artesanato, no período de transição do feudalismopara o capitalismo. Nesse período, como escrito por Marx e Engels [25], em A ideologiaalemã, “a manufatura tornou-se, ao mesmo tempo, um refúgio dos camponeses contra ascorporações que os excluíam ou remuneravam mal, do mesmo modo que anteriormente ascidades dominadas pelas corporações haviam servido de refúgio aos camponeses contraa nobreza rural que os oprimia”. Na manufatura a produção era dividida em diferentesetapas, com cada trabalhador responsável por uma etapa, e não mais por todo o processode produção. Era requerido que o trabalhador aprendesse apenas as técnicas requeridaspor sua etapa de produção. A manufatura diminuiu os custos e aumentou a produção, oque permitiu atender um mercado consumidor maior.

De acordo com Mantoux [24] a indústria moderna nasceu na Inglaterra, na últimaterça parte do século XVIII. Na revolução industrial, a manufatura foi substituída pelamaquinofatura. Com a evolução da tecnologia a indústria passou a utilizar máquinas cadavez mais eficientes, e no lugar de pessoas habilidosas para realizar tarefas complexas,era necessário pessoas comuns, com pouco treinamento, para realizar tarefas bem maissimples como manusear o maquinário ou verificar a qualidade do produto. Assim, oprocesso de produção ficou mais eficiente, produzindo em grande escala produtos maisbaratos.

A linha de produção é um processo de fabricação no qual partes de um produtosão montadas sequencialmente para gerar um produto final. Na maioria dos casos, as

Page 17: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

17

linhas de produção possuem um sistema semiautomatizado no qual o produto se move deuma estação a outra, como mostrado na Figura 1.1. Em cada estação ao longo da linha,começando com uma parte até o produto final, há operários e máquinas que executamsuas tarefas sobre o produto.

Figura 1.1: Trabalhadores na linha de produção na fábrica daFord Motor Company Rouge Plant, 1932. [39]

A linha de produção foi projetada para ser um meio eficiente e altamenteprodutivo de fabricação de produtos. Ela teve um impacto significativo no início doséculo XX, desencadeando a produção em massa e permitindo pela primeira vez que umgrande volume e variedade de produtos chegassem a população com um preço razoável.O conceito de produção em linha teve seu início na indústria automotiva, onde foiintroduzido pela primeira vez por Ransom Eli Olds em 1901, na sua Olds Motor VehicleCompany [41]. Em 1913, Henry Ford tinha melhorado significativamente o conceitode linha de produção, e a primeira linha de produção para a fabricação em massa deautomóveis padronizados construída foi atribuída a ele.

As linhas de produção modernas mantiveram os mesmos princípios, porém oavanço da tecnologia revolucionou o modo de produção. Como pode ser visto na Figura1.2, uma linha de produção 95% automatizada. Grande parte das tarefas realizadas poroperários envolviam movimentos repetitivos, o que um robô fazia eficientemente, commais precisão, de forma mais segura e ainda diminuía os custos de produção. As linhasde produção desencadearam a produção de grandes volumes de uma ampla variedade deprodutos montados, padronizados e personalizados, incluindo não só os veículos, mastambém muitos aparelhos domésticos e produtos eletrônicos.

No balanceamento de linhas de produção, tradicionalmente supõe-se que otrabalho total requerido para qualquer unidade de qualquer produto foi dividido em

Page 18: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

18

Figura 1.2: linha de produção moderna - Maruti’s - 2012. [28]

tarefas economicamente indivisíveis. Assim, divisões menores das tarefas resultariam emsubtarefas improdutivas e um aumento no conteúdo total de trabalho. Portanto, cada tarefarequerida é indivisível, no sentindo de que ela deve ser realizada em uma única estação.No entanto, mudanças tecnológicas, planejamento de produtos, processos de fabricação eprojeto de trabalhos podem criar oportunidades de mudanças significativas, de modo queo conteúdo total de trabalho possa vir a ser dividido em novas formas. Assim, algumasdas tarefas consideradas indivisíveis poderiam ser divididas em subtarefas e atribuídas adiferentes estações.

Quando uma tarefa, com tempo de processamento relativamente longo, envolvevárias operações simples, partes dessa tarefa podem ser proveitosamente adiadas paraoutras estações. Por exemplo, suponha que uma tarefa consista no aperto de uma certaquantidade de parafusos e possua um dos tempos de processamentos mais longos dentretodas as tarefas. Suponha também que apenas dois parafusos sejam suficientes para fixarcom segurança duas peças em seus lugares. Assim, o restante dos parafusos podemser apertados em estações posteriores, sem prejuízo para a conclusão de outras tarefasintermediárias. Neste caso, o número mínimo de estações requerido pode ser reduzido,mesmo se a divisão induzir uma penalidade adicional de tempo.

A inclusão da possibilidade de tal divisão de tarefas leva a uma nova variante doproblema de balanceamento de linha de produção. Este conceito foi discutido de maneiraqualitativa por alguns autores, como Chase e Jacobs [10]. Mas, até onde sabemos, além deuma breve introdução ao problema por Grzechca e Foulds [13], a questão não foi discutidana literatura aberta de forma quantitativa. A proposta do presente trabalho é preencher essalacuna na literatura, discutindo uma versão rigorosa do problema, formulando um modelointeiro binário, propondo métodos, soluções e relatando experimentos computacionaiscom os métodos propostos.

Page 19: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

1.1 Estrutura da dissertação 19

1.1 Estrutura da dissertação

Neste Capítulo 1 introduzimos o problema do balanceamento de linhas de pro-dução com divisão de tarefas e evidenciamos os objetivos deste trabalho. No Capítulo 2discutimos os principais conceitos e soluções relacionados a sistemas de linha de pro-dução apresentados na literatura aberta e introduzimos formalmente o ALBP - Assembly

Line Balancing Problem e seus conceitos básicos. No Capítulo 3 definimos formalmenteo TDALBP - Task Division Assembly Line Balancing Problem e os modelos matemáti-cos que o descrevem. No Capítulo 4 discutimos sobre o algoritmo BB&R - Branch and

Bound & Remember para o SALBP-1 e apresentamos uma adaptação desse algoritmo parao TDALBP. No Capítulo 5 discorremos sobre a criação de instâncias de teste do TDALBPe sobre os resultados computacionais obtidos no trabalho. No Capítulo 6 apresentamos asprincipais contribuições do trabalho e definimos novas propostas de pesquisa.

Page 20: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

CAPÍTULO 2O balanceamento de linhas de produção

O problema do balanceamento de linhas de produção consiste em atribuir àsestações de trabalho de uma linha de produção tarefas necessárias para produzir cadaunidade de um produto, a fim de otimizar o desempenho do sistema sobre alguma medidadada.

O princípio do balanceamento de uma linha de produção foi introduzido primei-ramente por Bryton [6], como um desafio de planejamento de médio prazo. Um estudoquantitativo publicado por Salveson [29] formulou esse problema como um programa li-near e foi o primeiro a introduzir o termo the Assembly Line Balancing Problem (ALBP).

Em 1986 Baybars [2] definiu duas classes para o ALBP, Simple Assembly

Line Balancing Problem (SALBP) e Generalized Assembly Line Balancing Problem

(GALBP). A classe SALBP contém os problemas de linha de produção cujo objetivoé minimizar o tempo ocioso total considerando exclusivamente dois tipos de restriçõesrelacionadas à atribuição de tarefas: restrição de tempo de ciclo, relacionada ao tempodisponível da estação; e restrição de precedência, estabelecida pela ordem em que astarefas podem ser processadas. Outros problemas que contém restrições adicionais sãoconsiderados GALBP. Baybars [2] descreve várias dessas restrições, como o caso em quea linha pode ser utilizada para a produção de dois ou mais modelos do mesmo produto emlotes, conhecido multi-model, ou o caso em que a linha pode ser utilizada para a produçãode dois ou mais modelos do mesmo produto, não em lotes, mas podem ser misturados,conhecido como mixed-models,

O seguinte conjunto de pressupostos é válido para o SALBP:

P1) todos os parâmetros de entrada são conhecidos com certeza;P2) nenhuma tarefa pode ser dividida entre duas ou mais estações;P3) tarefas não podem ser processadas em sequências arbitrárias, devido a requisitos

tecnológicos de precedência;P4) cada tarefa deve ser processada;P5) todas as estações de trabalho são identicamente equipadas e capazes de processar

qualquer tarefa;

Page 21: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

2.1 Revisão bibliográfica 21

P6) tempos de processamento de tarefas são independentes da estação em que sãoprocessadas e das tarefas que as precedem;

P7) qualquer tarefa pode ser processada em qualquer estação;P8) a linha de produção é em série, sem paralelismo, nem alimentação secundária;P9) a linha de produção é projetada para a fabricação em massa de um modelo de um

único produto;P10) o tempo disponível para completar todas as tarefas atribuídas a uma estação (tempo

de ciclo) é dado e fixo, eP11) o número de estações de trabalho é dado e fixo.

Os pressupostos P1–P11 são bem restritivos em relação aos problemas de ba-lanceamento de linha de produção do mundo real. Muitos problemas de balanceamentode linha de produção apresentados na literatura são derivados do relaxamento de um dospressupostos P1–P11. Os dois problemas mais populares do SALBP consideradas na lite-ratura surgem do relaxamento dos pressupostos P10 e P11 e são:

SALBP-1: The Simple Assembly Line Balancing Problem-1 — Dado o tempo dispo-nível para completar todas as tarefas atribuídas a uma estação, o objetivo éminimizar o número de estações (relaxamento do pressuposto P11).

SALBP-2: The Simple Assembly Line Balancing Problem-2 — Dado o número deestações, o objetivo é minimizar o tempo necessário para completar todasas tarefas atribuídas a uma estação (relaxamento do pressuposto P10).

Nesta dissertação é discutida uma nova variante do SALBP-1, a qual surge dorelaxamento do pressuposto P2, permitindo que uma tarefa possa ser dividida entre duasou mais estações. Esse novo problema é discutido em detalhes no Capítulo 3. A seguiré apresentada uma breve revisão bibliográfica sobre diversos trabalhos relacionados adiferentes variantes do ALBP.

2.1 Revisão bibliográfica

A gestão das linhas de produção, tal como observado por Baybars [2], Scholl[31] e muitos outros, é um desafio significativo a curto-médio prazo no planejamentode produção. Os planejadores frequentemente têm que examinar um grande númerode alternativas e lidar com informações incertas, restrições tecnológicas e logísticas domodelo.

O procedimento mais direto para solucionar o SALBP-1 seria gerar todas aspossíveis combinações de conjuntos de tarefas e estações, que respeitam as restrições doproblema e escolher a mais eficiente. Porém, essa abordagem exige um tempo exponencialde execução, sendo assim inviável até mesmo para pequenas instâncias do problema.

Page 22: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

2.1 Revisão bibliográfica 22

Instâncias práticas do SALBP-1 no mundo real podem ser extremamente grandes, commilhares de tarefas. De fato, como mostrado por Baybars [2], o SALBP-1 é um problemade otimização combinatória pertencente à classe N P -difícil.

Os modelos de Programação Linear Inteira foram os primeiros a serem utiliza-dos para descrever formalmente os problemas de balanceamento de linha de produção.A primeira formulação matemática apresentada na literatura foi publicada por Salveson[29] em 1955. Essa formulação exigia um grande número de variáveis, o que a tornou in-viável até mesmo para instâncias médias do problema. Em 1960 Bowman [5] introduziuduas novas formulações de programação linear inteira. Desde então, vários autores, comoWhite [40], sugeriram modificações ou variações que reduzem o número de variáveis erestrições na formulação.

O conceito de GALBP proposto por Baybars foi estendido brevemente porGhosh e Gagnon [12], os quais levaram em consideração o número de produtos quesão processados na linha de produção e a variabilidade do tempo de processamento dastarefas. Depois, Becker e Scholl [3] apresentam um estudo sobre os principais problemase métodos do GALBP.

Capacho e Pastor [9] apresentaram formalmente uma generalização do GALBPdenominada ASALBP (Alternative Subgraphs Assembly Line Balancing Problem). Nestavariante do problema o pressuposto P3, de que todas as tarefas são processadas em ummodo predeterminado, é relaxado. Eles consideram a possibilidade de processamentosalternativos, nos quais os tempos de processamento e as relações de precedência dealgumas tarefas dependem da alternativa selecionada.

Devido à natureza N P -difícil do SALBP-1, os métodos heurísticos e meta-heurísticos tornaram-se técnicas populares para resolvê-lo. Os métodos heurísticos maiscomuns na literatura para a resolução do SALBP-1 são construtivos ou de enumeraçãoaproximada das soluções. Os meta-heurísticos mais comuns são aplicações da busca tabuou de algoritmos genéticos (Betancourt (capítulo 2.4.2) [4], Scholl e Becker [32]).

A maior parte dos métodos construtivos são baseados em regras de prioridade.A prioridade de cada tarefa é computada a partir do seu tempo de processamento e desuas relações de precedência. As tarefas são então ordenadas em uma lista de prioridadepara a execução do procedimento de construção. O procedimento de construção de umasolução pode ser orientado a estação ou orientado a tarefa. Na primeira estratégia, emcada iteração, a tarefa com maior prioridade é atribuída a uma determinada estação k,até que ela esteja completamente carregada, e repetido para as estações seguintes. Nasegunda estratégia, a tarefa de maior prioridade, dentre todas as disponíveis, é selecionadae atribuída à primeira estação na qual ela pode ser atribuída (Talbot et al [38], Scholl(capítulo 5.1) [31]).

Os métodos de enumeração aproximada são baseados nos métodos de enumera-

Page 23: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

2.1 Revisão bibliográfica 23

ção exatos, os quais são modificados por alguma heurística para reduzir o espaço de busca.Por exemplo na Heurística de Hoffmann [19], a solução é construída estação por estaçãoe, em cada iteração, são geradas todas as possíveis cargas e escolhida aquela que possuío menor tempo ocioso. Muitas variações dessa heurística foram propostas na literatura,algumas podem ser vistas em Fleszar e Hindi [11] e Sewell e Jacobson [36].

Lapierre, Ruiz e Soriano [23] utilizam a Busca Tabu para resolver o SALBP-1 com dois tipos de transições para soluções vizinhas, os quais eles chamam de Nh1 eNh2. Na Nh1 ocorre um processo de troca entre duas tarefas. Assim, em cada iteração,é selecionada a estação que possuí o tempo de estação mais próximo de 50% da suacapacidade. Para cada tarefa da estação escolhida, são consideradas todas as possíveistrocas com cada uma das tarefas atribuídas a outras estações. A função objetivo é entãoaplicada a cada uma dessas possíveis trocas e a que apresentar o melhor aperfeiçoamentoé aplicada. Na Nh2 há um processo de transferência de tarefas, onde, em cada iteração,é selecionada a estação com a menor carga de tarefas. E de forma semelhante à Nh1, afunção objetivo é calculada sobre a transferência de cada tarefa da estação escolhida paracada uma das outras estações, e a transferência que apresentar o melhor aperfeiçoamentoé aplicada. Em ambas, Nh1 e Nh2, só são consideradas transições não listadas como tabu.

Lapierre, Ruiz e Soriano [23] utilizam dois mecanismos tabu para lidar comtarefas e estações. Uma tarefa se torna um tabu quando é transferida de sua estaçãoatual. Essa tarefa se mantem tabu por uma certo número de iterações, que incluí umfator randômico para evitar ciclos na lista. Uma estação se torna um tabu quando umade suas tarefas é transferida para outra estação. Neste caso, a estação não pode recebernovas tarefas, mas, suas tarefas ainda podem ser transferidas. Da mesma forma, a estaçãose mantem um tabu por um certo número de iterações. O algoritmo parte de uma soluçãoinicial válida e iterativamente aplica a transição Nh1 até que nenhuma melhoria possaser feita. Então, ele alterna para a transição Nh2 e, novamente, explora até que nenhumamelhoria possa ser feita. O processo continua alternando entre os métodos de transiçãoaté que um critério global de parada seja atingido. Seu algoritmo também permite quesoluções inviáveis sejam visitadas, ou seja, soluções onde o tempo de estação das estaçõesexcede o tempo de ciclo.

Com o surgimento de métodos de otimização modernos, baseados em Programa-

ção Dinâmica e Branch and Bound, métodos exatos se tornaram cada vez mais eficientese se tornaram capazes de resolver muitas instâncias do ALBP. Apesar disso, eles aindanão são capazes de resolver instâncias de grande porte, pois o tempo de processamento eo armazenamento requerido continuam inviáveis na prática.

O primeiro modelo de programação dinâmica apresentado na literatura para oALBP foi publicado por Jackson [17] em 1956. Posteriormente outros modelos forampublicados, como o de Kao e Queyranne [20] em 1982. A programação dinâmica para o

Page 24: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

2.1 Revisão bibliográfica 24

ALBP se inicia com um estado para cada possível atribuição de carga completa para aprimeira estação. Então, uma transição de um estado s para um estado s+ 1 é realizadaatravés de uma escolha (função de transição). Cada novo estado representa uma novaestação na linha de produção. O principal problema da programação dinâmica é quea quantidade de estados cresce de forma exponencial, de forma que o armazenamentorequerido torna-se inviável na prática. Os algoritmos atuais que envolvem programaçãodinâmica utilizam a técnica em conjunto com outras técnicas, como Sewell e Jacobson[36] que utilizam programação dinâmica e Branch and Bound.

A técnica de Branch and Bound tem sido utilizado nos modelos mais conceitua-dos para resolver o SALBP-1 otimamente. Scholl e Klein [35] apresentaram uma compa-ração com resultados computacionais entre abordagens que utilizam Branch and Bound

com diferentes estratégias para solucionar o SALBP-1.O SALBP-1, sem as restrições de precedência, pode ser visto como um Bin

Packing, onde um conjunto de tarefas (itens) tem que ser alocado (guardado) em estações(caixas) idênticas de mesmo tempo de ciclo (mesmo tamanho finito). A solução de umatal instância do Bin Packing é utilizada em muitos algoritmos como um limite inferiorpara o SALBP-1, como em FABLE [18], SALOME [34] e BB&R [36].

Os métodos que resolvem o SALBP-1 otimamente evoluíram com o desenvol-vimento de técnicas modernas, seguidas do aproveitamento das melhores característicasapresentadas por métodos anteriores. O algoritmo FABLE, apresentado por Johnson [18],utiliza um conjunto de limites inferiores, incluindo uma solução do Bin Packing, comodescrito anteriormente, e uma série de regras de dominação, para descartar soluções par-ciais dominadas por soluções previamente exploradas.

Nourie e Venta [26] apresentaram uma estrutura em árvore utilizada em seu al-goritmo OptPack, para eliminar soluções previamente exploradas de forma mais eficientedo que as regras de dominação utilizadas no FABLE. Hoffmann [15] apresentou um sis-tema híbrido, chamado Eureka, que utiliza Branch and Bound para encontrar uma soluçãoótima dentro de um tempo limite previamente definido. Caso essa solução não seja en-contrada, é utilizada uma heurística para encontrar uma solução aproximada. Hoffmanntambém percebeu que algumas instâncias poderiam ser resolvidas mais rapidamente seprocessadas na direção oposta. E então, ele propôs utilizar metade do tempo limite com-putando em uma direção e a outra metade na direção oposta.

Scholl e Klein [34] apresentaram em 1997 o algoritmo SALOME, o qual com-binava as melhores características dos algoritmos FABLE e Eureka. Em 1999 [35] apri-moraram o SALOME adicionando uma regra de dominação baseada na árvore desenvol-vida por Nourie e Venta [26] para o OptPack. De acordo com Sewell e Jacobson [36],SALOME era o melhor algoritmo para resolver o SALBP-1 otimamente. Porém, nessemesmo artigo eles propuseram um novo algoritmo híbrido chamado BB&R (Branch,

Page 25: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

2.2 Conceitos e definições básicas 25

Bound and Remember) o qual utiliza Branch and Bound e programação dinâmica, comresultados computacionais superiores ao SALOME.

2.2 Conceitos e definições básicas

O princípio fundamental do balanceamento de linhas de produção consiste ematribuir tarefas a um conjunto ordenado de estações de trabalho, de maneira que asrelações de precedências entre as tarefas sejam respeitadas e alguma medida de eficiênciaseja otimizada.

Seguindo a notação e terminologia usada por Scholl, Boysen e Fliedner [30],uma linha de produção consiste de um conjunto de m estações de trabalho organizadasde forma linear, ligadas por um dispositivo mecânico de manuseamento de materiais.O movimento básico do material através da linha de produção começa com as peçasnecessárias para iniciar a criação de cada unidade de um único produto, alimentandoconsecutivamente a primeira estação. O trabalho necessário para completar cada unidadedo produto é dividido em um conjunto de tarefas V = {1, . . . ,n}, onde cada uma delasdeve ser atribuída a uma estação. Uma vez que um produto parcialmente montado entraem uma estação ativa, um conjunto de tarefas (não vazio) atribuído é executado sobre ele,o qual, após isto, segue para a próxima estação ativa até o produto final como ilustrado naFigura 2.1.

Figura 2.1: Fluxo de uma linha de produção.

Material base Estação 1 Estação 2 ... Estação m Produto final

Materiale/ou

tarefa

Materiale/ou

tarefa

Materiale/ou

tarefa

Materiale/ou

tarefa

O tempo requerido para completar cada tarefa j ∈ V é denominado tempo de

processamento (inteiro positivo) e é denotado por t j, j = 1, . . . ,n. O conjunto de tarefasatribuído a uma estação k compreende a sua carga, e é denotado por Sk. O tempototal requerido para processar todas as tarefas atribuídas a cada estação k = 1, . . . ,m;é denominado tempo de estação, e é denotado por t(Sk). O tempo comum disponívelpara completar todas as tarefas atribuídas em sequência em cada estação é denominadotempo de ciclo, e é denotado por c. O tempo de estação não deve exceder c. Se t(Sk) éestritamente menor que c, então k tem tempo ocioso de c− t(Sk) unidades de tempo emcada ciclo.

Há sequências de tarefas que devem ser seguidas na produção de qualquerproduto e estas são representadas em um grafo de precedência G = (V,A, t), que tem

Page 26: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

2.2 Conceitos e definições básicas 26

um conjunto de arcos A, representando as relações de precedências necessárias (i, j) entrediferentes tarefas i, j ∈ V . Isto é, se (i, j) ∈ A ou se existe em G um caminho de arcosde i até j (denotado por i G

j), então a tarefa i deve ser completada antes que a tarefa j

seja iniciada. G é acíclico, com V numerado topologicamente e t : V →N, onde t( j) = t j,j = 1, . . . ,n (tempo de processamento da tarefa j). Para cada tarefa j ∈V , seu conjunto depredecessores diretos é definido como Pj = {i∈V |(i, j)∈A} e seu conjunto de sucessoresdiretos é definido como Fj = {i∈V |( j, i)∈ A}. Para as relações indiretas de precedência,também são definidos o conjunto de todos os predecessores P∗j = {i ∈ V | i G

j} e o

conjunto de todos os sucessores F∗j = {i ∈V | j G i}.

Exemplo 1:A Figura 2.2 ilustra um grafo de precedência de uma instância SALBP-1com tempo de ciclo c = 10, n = 23 tarefas, e seus respectivos tempos deprocessamento.

Figura 2.2: Grafo de precedência de uma instância do SALBP-1.

1

5

2

6

3

7

4

2 5

5

7

1

6

3

8

8

9

8

10

6

11

4

12

2

13

5

14

8

15

2

16

3

17

1

18

8

19

3

20

3

21

2

22

2

23

6

Figura 2.3: Disposição das tarefas em estações para a soluçãodetalhada na Tabela 2.1.

1

5S1

2

6

3

7S3

4

2

S2

5

5

7

1S4

6

3

8

8

9

8S6

10

6

11

4S7

12

2

S5

13

5

14

8

15

2

16

3S8

17

1

18

8

19

3

20

3S10

21

2S9

22

2

S11

23

6S12

Para o SALBP-1, o objetivo é atribuir as tarefas a estações respei-tando o tempo de ciclo, as precedências e minimizando o número de estações

Page 27: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

2.3 Medidas de qualidade 27

necessárias para o processamento das tarefas. A solução ótima da instânciaapresentada na Figura 2.2 necessita de m = 12 estações. Uma das soluçõescom m = 12 tarefas é detalhada na Tabela 2.1 e mostrada na Figura 2.3.

Tabela 2.1: Solução ótima para a instância apresentada na Figura2.2, com tempo de ciclo c = 10.

k Sk t(Sk)1 {1} 52 {2,4} 83 {3} 74 {5,6,7} 95 {8,12} 106 {9} 87 {10,11} 108 {13,15,16} 109 {14,21} 10

10 {17,19,20} 711 {18,22} 1012 {23} 6

2.3 Medidas de qualidade

A qualidade de uma solução de uma instância ALBP pode ser avaliada segundodiferentes critérios. Os mais comuns são a Eficiência de Linha (LE – Line Efficiency),o Tempo de Linha (LT – Line Time) e o Índice de Suavidade (SI – Smoothness Index).A eficiência de linha, calculada pela Equação 2-1, é o percentual de utilização da linha,o qual é expresso como a razão entre o tempo total para processamento das tarefas nasestações e o tempo de ciclo multiplicado pelo número de estações. Quando LE = 100%,significa que a linha de produção opera a 100% da sua capacidade.

LE =

m∑

k=1t(Sk)

c ·m·100%, (2-1)

O tempo de linha, calculado pela Equação 2-2, é o período de tempo necessário para cadaunidade do produto ser completado na linha de produção.

LT = c · (m−1)+ t(Sm), (2-2)

O índice de suavidade, calculado pela Equação 2-3, descreve o equilíbrio relativo de umalinha de produção em relação ao maior dos tempos de estação. O equilíbrio perfeito é

Page 28: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

2.3 Medidas de qualidade 28

indicado pelo índice de suavidade 0.

SI =

√m

∑k=1

(t(Smax)− t(Sk))2; (2-3)

onde Smax é a estação que possuí a maior carga entre todas as estações.

Exemplo 2:Essas medidas de qualidade computadas sobre a solução da instância, doExemplo 1, ilustrada na Figura 2.3, produz LE = 83,33%, LT = 116 e SI =

8,25. Portanto, o percentual de utilização da linha (LE) é de 83,33%, o períodode tempo necessário para produzir cada unidade do produto (LT) é de 116segundos e o equilíbrio relativo da linha (SI) é 8,25.

Page 29: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

CAPÍTULO 3TDALBP – Task Division ALBP

3.1 Introdução

O TDALBP (Task Division Assembly Line Balancing Problem) é uma generali-zação do SALBP-1, com o pressuposto1 P2 relaxado de forma limitada, no sentido de queum dado subconjunto de tarefas pode, potencialmente, ser dividido de maneira particu-larmente conhecida. Em vez de limitar cada tarefa a ser processada em exatamente umaestação, ela pode ser dividida atribuindo-se cada uma das suas consequentes subtarefaspara diferentes estações. Neste caso, a soma dos tempos de processamento das subtarefasdeve ser igual ao tempo de processamento da tarefa original. Foi considerado também quea divisão de uma tarefa implica em um gasto extra de tempo, o que faz com que uma dadapenalidade de tempo seja adicionada ao tempo de processamento de cada uma das suassubtarefas. Essa penalidade é fixa para cada subtarefa e não depende da estação em que asubtarefa é ativada.

Neste capítulo será definido formalmente o TDALBP e apresentado um modelode programação linear inteira binária para o mesmo. O TDALBP foi formulado de ma-neira similar ao modo como o ASALBP (Alternative Subgraphs Assembly Line Balan-

cing Problem) foi formulado por Scholl, Boysen e Fliedner [30]. O ASALBP estende oSALBP-1 relaxando a suposição implícita de que todas as tarefas são processadas emum modo pré-determinado, ou seja, não existem alternativas de processamento. Em vezdisso, os autores assumem que existem alternativas para partes do processo de produção.Cada parte é chamada de variável subprocesso, o que resulta em um subgrafo (disjuntivo)alternativo ao grafo de precedência, dos quais exatamente um tem que ser escolhido paracada parte.

Em nossa formulação do TDALBP também assumimos que existe alternativas deprocessamento, mas apenas para um determinado subconjunto de tarefas potencialmentedivisíveis. O nó que representa cada tarefa potencialmente divisível no grafo de precedên-cia é expandido para um conjunto de nós adicionais (cada um com as mesmas relações de

1Os pressupostos que definem o SALBP são apresentados no Capítulo 2

Page 30: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.2 Definição do TDALBP 30

precedência que o nó original), onde cada novo nó representa uma subtarefa criada com adivisão da tarefa original.

É possível considerar o TDALBP como um caso especial do ASALBP, em quecada tarefa potencialmente divisível é considerada como um subprocesso variável e cadacombinação possível de subtarefas é representada por um subgrafo alternativo. Destaforma, qualquer instância TDALBP pode ser resolvida por qualquer método ASALBP,como os propostos por Capacho [7] e por Scholl, Boysen e Fliedner [30]. No entanto, noTDALBP cada tarefa potencialmente divisível pode ser dividida em diversas subtarefas.Além disso, as combinações de subtarefas viáveis não correspondem somente às partiçõesdo tempo de processamento, tal como ilustrado no Exemplo 3. Estes fatores podem levar,na prática, a um número exponencial de subgrafos.

Exatamente uma das combinações de subtarefas deve ser escolhida com todasas suas subtarefas atribuídas a diferentes estações. O processamento de cada subtarefatambém induz uma penalidade de tempo, independentemente da estação em que elaserá processada. Assim, a menos que restrições sejam colocadas no processo de divisão,o número de opções de divisão cresce exponencialmente com o número de subtarefasdadas. Isto leva a um grande número de subgrafos ASALBP alternativos para todosos casos triviais de instâncias TDALBP. Por esta razão, nós preferimos construir ummodelo TDALBP dedicado que contém somente o conjunto de subtarefas dadas, cujacardinalidade cresce em O(1).

Exemplo 3:Suponha uma instância do TDALBP com uma tarefa que é potencialmentedivisível em várias subtarefas viáveis, cada uma com tempo de processamentodentro do conjunto {1,2,3,4,5,6}. Note-se que a própria tarefa original, comtempo de processamento igual a 6, é considerada uma alternativa entre assubtarefas. As opções de possíveis divisões podem incluir combinações desubtarefas com os seguintes tempos de processamento: {6}, {5, 1}, {4, 2},{4, 1, 1}, {3 , 3}, {3, 2, 1}, {3, 1, 1, 1}, {2, 1, 1, 1, 1} e {1, 1, 1, 1 , 1, 1}.A escolha da primeira combinação de “subtarefas” reflete a decisão de nãodividir a tarefa original.

3.2 Definição do TDALBP

Ainda seguindo a notação e terminologia usada por Scholl, Boysen e Fliedner[30], apresentamos o TDALBP que permite uma combinação única de subtarefas paracada tarefa potencialmente divisível a ser escolhida, o que leva ao modelo TDALBP dadona seção 3.3. A seguir uma notação complementar necessária para a apresentação do

Page 31: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.2 Definição do TDALBP 31

modelo TDALBP.

D – conjunto de tarefas potencialmente divisíveis (D⊆V,D 6=∅);

I – conjunto de tarefas indivisíveis (I ⊆V, D∪ I =V, D∩ I =∅);

r j – número de subtarefas na qual a tarefa j pode ser processada,∀ j ∈V . (r j = 1∀ j ∈ I e r j > 1∀ j ∈ D);

tqj – qth tempo de processamento (positivo, inteiro) disponível para a

tarefa j, ∀ j ∈V,q = 1, . . . ,r j;

Tj = 〈tqj |q = 1, . . . ,r j〉 – sequência (não crescente) dos tempos de processamentos em

que a tarefa j ∈V pode ser processada, onde t1j = t j, o tempo de

processamento original da tarefa j, e t pj ≥ tq

j sempre que p < q,para 1 ≤ p,q ≤ r j (para toda tarefa j ∈ I, Tj contém apenas otempo t1

j de processamento da tarefa original);

f qj – penalidade de tempo (estritamente positiva) caso a tarefa j seja

processada por tqj unidades de tempo, ∀ j ∈V , q = 1, . . . ,r j ( f 1

j

é definido como zero para cada tarefa original j, ∀ j ∈V ).

O nó que representa cada tarefa potencialmente divisível em V é expandido paraincluir um novo conjunto de nós em G, os quais representam todas as subtarefas quepoderiam ser criadas se a tarefa for dividida. Cada novo nó é atribuído às mesmas relaçõesde precedência do nó original.

Com apenas um leve abuso de terminologia, a partir de agora, nós usamos ostermos tarefas e nós indistintamente. Supõe-se que o nó terminal n, é o único em G semsucessores. Se isso não ocorrer naturalmente em G, um último nó fictício com tempo deprocessamento nulo é introduzido. Supõe-se também que a tarefa n é indivisível. Parapermitir certas combinações de subtarefas, de cada tarefa potencialmente divisível j ∈ D,j pode ser dividida em subtarefas com tempos iguais de processamento. No entanto,presume-se que tais subtarefas ainda têm de ser processadas em diferentes estações.Por exemplo, se t j = 6, pode ser útil dividir j em duas subtarefas, a serem processadasem diferentes estações, cada uma com tempo de processamento de 3 unidades. Não hánenhuma penalidade de tempo se a tarefa j não for dividida e é por isso que f 1

j é definidocomo zero para toda tarefa j ∈ V . Se uma tarefa j for dividida e isso resultar em umasubtarefa com um tempo de processamento de tq

j , ativa em qualquer estação, o tempo totalde processamento dessa subtarefa é definido como (tq

j + f qj ), j ∈D; q = 1, . . . ,r j. Note-se

que todos os valores f qj são independentes da estação. Além disso, presume-se que não

Page 32: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.2 Definição do TDALBP 32

existem relações de precedência entre subtarefas de uma mesma tarefa potencialmentedivisível. Esses conceitos são ilustrados através do exemplo 4.

Como mencionado anteriormente, a tarefa n é supostamente indivisível e única,no sentido de que não possui tarefas sucessoras. Cada nó j é utilizado para gerar umconjunto de nós D j = { j} ∪ { jq | q = 2, . . . ,r j}, formado pelas possíveis subtarefas datarefa j, (incluindo a própria tarefa) correspondendo às entradas em Tj, i.e.: tq

j , ∀ j ∈D,q = 1, . . . ,r j. Cada nó j ∈ D é substituído por |D j| nós em G. A cada novo nó jq,na versão expandida de G, são atribuídas as mesmas relações de precedência do nó j,∀ j ∈ D,q = 2, . . . ,r j. Isso é realizado da seguinte maneira. Se o arco (hp, jq) ∈ A paraalgum p, 1 ≤ p ≤ rh e para algum jq, j ∈ D e 1 ≤ q ≤ r j, então os arcos (hp, jq),∀ p = 1, . . . ,rh e q = 1, . . . ,r j são adicionadas a A. Se o arco ( jq, is) ∈ A para algumjq, onde j ∈ D e 1 ≤ q ≤ r j; e para algum s, onde 1 ≤ s ≤ ri; então os arcos ( jq, is),∀q= 1, . . . ,r j; e s= 1, . . . ,ri; são adicionados a A. A cada novo nó jq é atribuído um tempode processamento de (tq

j + f qj ). Os tempos de processamento de todos os nós originais em

V mantêm-se inalterados. Assim, V agora está particionado em V = I∪ ( j′ ∈⋃

j∈DD j) e n

é aumentado de modo a representar o novo número total de nós. Todos os nós no grafotransformado são reindexados topologicamente. Para cada nó potencialmente divisível j,um registro deve ser mantido sobre os nós recém criados das subtarefas em D j, ∀ j ∈ D.Esse processo de transformação é ilustrado nas Figuras 3.1 e 3.2 do Exemplo 4.

O TDALBP consiste em ativar um subconjunto de subtarefas para cada tarefaj ∈ D potencialmente divisível, atribuindo-as a estações com as seguintes características:

• a subtarefa ativada satisfaz todas as relações de precedência que envolvem a tarefaj;

• a soma dos tempos de processamento das subtarefas ativadas é igual ao tempo deprocessamento fornecido t j da tarefa j;• o tempo total de processamento de cada subtarefa ativada é a soma dos seus tempos

de processamento e penalidades de tempo fornecidos; e• cada subtarefa ativada da tarefa j deve ser processada em uma estação distinta,∀ j ∈ D.

Se uma tarefa potencialmente divisível j ∈ D não for dividida (quando o tempooriginal t1

j é escolhido), suas subtarefas têm seus arcos em G ignorados. O objetivo doTDALBP é minimizar o número necessário de estações para processar todas as tarefas.Esse objetivo é alcançado quando todas as tarefas ativadas (as indivisíveis e as subtarefasde tarefas potencialmente divisíveis) podem ser atribuídas ao número mínimo possível deestações, considerando-se o tempo de ciclo e as restrições de precedência.

Como mencionado anteriormente, cada tarefa potencialmente divisível j ∈ D

é mantida como alternativa de subtarefa, com tempo de processamento t1j . A ativação

Page 33: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.2 Definição do TDALBP 33

dessa subtarefa corresponde à não divisão da tarefa j. Essa possibilidade garante que umasolução ótima do SALBP-1 continua a ser válida para o TDALBP. Logo, a solução ótimadeste não pode ser pior do que a do SALBP-1.

Exemplo 4:Este exemplo 4 mostra a transição da instância SALBP-1 apresen-tada no Exemplo 1 para uma instância TDALBP. O conjunto D =

{2,3,9,13,14,18} de tarefas foi escolhido como aquelas potencialmentedivisíveis (representadas por nós redondos na Figura 3.1) e o conjuntoI = {1,4,5,6,7,8,10,11,12,15,16,17,19,20,21,22,23} representa as tarefasindivisíveis (nós quadrados na Figura 3.1). Os tempos de processamento dastarefas são mostrados acima dos nós. Todas as subtarefas, seus tempos deprocessamento e de penalização são apresentados na Tabela 3.1.

Figura 3.1: Grafo de precedência ilustrando as tarefas potencial-mente divisíveis.

1

5

2

6

3

7

4

2 5

5

7

1

6

3

8

8

9

8

10

6

11

4

12

2

13

5

14

8

15

2

16

3

17

1

18

8

19

3

20

3

21

2

22

2

23

6

Tabela 3.1: Dados de entrada para a instância TDALBP.

j t1j t2

j t3j t1

j + f 1j t2

j + f 2j t3

j + f 3j f 1

j f 2j f 3

j2 6 3 3 6 4 4 0 1 13 7 4 3 7 5 4 0 1 19 8 6 2 8 7 3 0 1 113 5 3 2 5 4 3 0 1 114 8 5 3 8 6 4 0 1 118 8 6 2 8 7 3 0 1 1

Como pode ser visto na Tabela 3.1, cada tarefa potencialmente divi-sível j tem três (r j = 3) opções de processamento: Tj = (t1

j , t2j , t

3j ). Duas das

subtarefas da tarefa potencialmente divisível têm os mesmos tempos de pro-cessamento determinados (t2

2 = t32 = 3). Neste exemplo, todas as penalidades

de tempo são iguais à uma unidade. A Figura 3.2 exibe a versão expandida de

Page 34: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.2 Definição do TDALBP 34

G, com a inclusão de todas as possíveis subtarefas e de seus tempos finais deprocessamento. Para tornar o processo de transformação claro, os índices detarefas não foram renumerados topologicamente.

Figura 3.2: A versão expandida do grafo de precedência do exem-plo numérico.

1

5

S2

32

5

31

7

33

4

21

6 S1

22

4

23

4

4

2

5

5S3 7

1

6

3S4

8

8

S5

92

7

91

8

93

3

S6

10

6

S7

142

6

141

8S8

143

4

11

4

12

2

131

5

132

4

133

3

15

2

16

3

17

1

182

7

181

8 S10

183

3

19

3 S9

20

3

21

2

22

2

23

6S11

A instância utilizada no Exemplo 1 e ilustrada pela Figura 3.1 é umainstância SALBP-1, portanto, sem divisão de tarefas e sem penalidades detempo. Uma solução ótima para esta instância exibida na Tabela 2.1, com umtempo de ciclo c = 10, tem estações com cargas: S1 = {1}, S2 = {2,4}, S3 =

{3}, S4 = {5,6,7}, S5 = {8,12}, S6 = {9}, S7 = {10,11}, S8 = {13,15,16},S9 = {18,22}, S10 = {14,21}, S11 = {17,19,20} e S12 = {23}. O númeromínimo de estações necessárias para processamento das tarefas é m∗ = 12.

Dadas as potenciais divisões de tarefas descritas na Tabela 3.1, comsuas respectivas penalidades de tempo, seria possível reduzir o número mí-nimo de estações necessárias para processamento das tarefas?

A resposta para essa questão é afirmativa. Ao transformar essa ins-tância em uma instância TDALBP, uma solução ótima, ainda com tempode ciclo c = 10, possui estações com cargas de: S1 = {1,32}, S2 = {2,33},S3 = {4,5,7}, S4 = {6,92}, S5 = {8,12}, S6 = {93,11,16}, S7 = {10,143},S8 = {132,142}, S9 = {15,18}, S10 = {133,17,19,20}, S11 = {21,22,23}. O

Page 35: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.3 Modelo matemático para o TDALBP 35

número mínimo de estações necessárias para processamento das tarefas agoraé m∗ = 11, que é estritamente menor do que para o Exemplo 1.

Note-se que é possível processar a subtarefa 143 antes da subtarefa142 já que não existem relações de precedência entre subtarefas de uma mesmatarefa potencialmente divisível. Além disso, das seis tarefas potencialmentedivisíveis em D = {2,3,9,13,14,18}, quatro são divididas (tarefas 3, 9, 13,e 14) e duas não (tarefas 2 e 18). Apesar do tempo total de penalidade,calculado pelo somatório das penalidades de todas as subtarefas ativas, def 23 + f 3

3 + f 29 + f 3

9 + f 213+ f 3

13+ f 214+ f 3

14 = 8 unidades de tempo, comparando-se com a solução anterior, o número mínimo de estações necessárias paraexecutar todas as tarefas foi reduzido em 1 unidade.

Uma outra solução ótima para este problema, ainda com o númeromínimo de estações necessárias para o processamento das tarefas igual a11, mas com uma penalidade adicional de tempo total de apenas f 2

3 + f 33 +

f 29 + f 3

9 = 4 unidades de tempo, tem estações com cargas de S1 = {2,4},S2 = {1,32}, S3 = {33,5}, S4 = {6,92}, S5 = {8,12}, S6 = {7,93,13}, S7 =

{10,16}, S8 = {14,17}, S9 = {11,19,20}, S10 = {15,18}, S11 = {21,22,23}.Os conjuntos Si, i = 1, . . . ,11, relacionados a essa solução, são demostradosna Figura 3.2.

3.3 Modelo matemático para o TDALBP

Nesta seção é apresentado um modelo de programação linear inteira binário parao TDALBP, o qual é, em parte, baseado no modelo SALBP-1 de Patterson e Albracht [27]e nos modelos ASALBP de Capacho [7] e de Scholl [30] (vide Apêndice C).

Cada tarefa indivisível em I deve ser atribuída a exatamente uma estação. Paracada tarefa potencialmente divisível j ∈ D, deve-se considerar as subtarefas em D j, queincluem a própria tarefa j. Neste caso, duas possibilidades devem ser consideradas: (i) aprimeira subtarefa (que representa a tarefa original) de j é ativada sozinha e é atribuídaa uma única estação, onde será processada em t j unidades de tempo, sem penalidades( f 1

j = 0); ou (ii) as subtarefas jq ∈ D j, q = 2, ...,r j (excluindo a primeira subtarefa)são ativadas e atribuídas a diferentes estações, onde cada subtarefa jq será processadaem tq

j + f qj unidades de tempo, referentes ao processamento e à penalidade pela divisão.

Os tempos de processamento das subtarefas ativadas, desconsiderando-se as penalidades,devem somar o tempo de processamento t j original da tarefa j.

A seguinte notação e terminologia é utilizada para o grafo expandido. Para cadatarefa j ∈ V , seja E j a primeira estação na qual j pode ser atribuída, dada as relações deprecedência, os tempos de processamento e o tempo de ciclo. Seja L j a última estação

Page 36: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.3 Modelo matemático para o TDALBP 36

viável na qual a tarefa j, ∀ j ∈ V , pode ser atribuída, dadas as relações de precedência,os tempos de processamento, o tempo de ciclo e m′ (≤ n) o número máximo de estaçõesnecessárias para identificar uma solução viável. O valor de m′ pode ser definido como n,assim, inicialmente cada tarefa é atribuída à sua própria estação individual. m′ tambémpode ser computado por um algorítimo heurístico, por exemplo, a heurística de Hoffmann[14], que foi utilizada por Sewell e Jacobson [36] como limite superior em seu algoritmoBB&R (vide Capítulo 4).

As fórmulas comuns para calcular E j e L j para o SALBP-1 foram primeiramenteintroduzidas por Patterson e Albracht [27] e são exibidas nas Equações 3-1 e 3-2.

E j =

1, se (t j +∑i∈P∗j

ti) = 0;⌈(t j+∑i∈P∗j

ti)

c

⌉, caso contrário, j ∈V.

(3-1)

L j =

m′, se (t j +∑i∈F∗j

ti) = 0;

m′+1−⌈(t j+∑i∈F∗j

ti)

c

⌉, caso contrário, j ∈V.

(3-2)

No TDALBP a sequência Tj, dos tempos de processamento das possíveis sub-tarefas de cada tarefa potencialmente divisível j, é estritamente decrescente. Assim, tr j

j émínimo entre todos os elementos de Tj, ∀ j ∈D. Utilizando-se esse fato, tr j

j é utilizado nolugar de t j para calcular os limites E j e L j para o TDALBP:

E j =

1, se (tr j

j +∑i∈P∗jti) = 0;⌈

(tr jj +∑i∈P∗j

ti)

c

⌉, caso contrário, j ∈V.

(3-3)

L j =

m′, se (tr j

j +∑i∈F∗jti) = 0;

m′+1−

⌈(t

r jj +∑i∈F∗j

ti)

c

⌉, caso contrário, j ∈V.

(3-4)

Estabelecidos os parâmetros definidos em (3-3) e (3-4), o intervalo de estação

SI j = [E j,L j], pode ser computado para definir o intervalo de estações no qual a tarefaj pode ser atribuída. Cada tarefa j (indivisível ou subtarefa de tarefa potencialmentedivisível) deve ser atribuída a exatamente uma estação em SI j, ∀ j ∈V .

Para tornar mais compacto o modelo proposto, definimos como intervalo de

estação Bk o conjunto de tarefas que pode ser atribuído à estação k, ou seja, Bk = { j ∈V | k ∈ SI j}, para cada estação k = 1, . . . ,m′. O uso dos conjuntos SI j e Bk possibilitamuma redução significante (comparado com os modelos tradicionais de outras variações

Page 37: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.3 Modelo matemático para o TDALBP 37

do SALBP) no número de restrições do modelo proposto. Na descrição do modelo sãoutilizados os seguintes índices, parâmetros e variáveis:

• Índices:

i, j – para tarefas;

k – para estações; e

q – para subtarefas.

• Parâmetros:

n – número de tarefas;

m′ – número máximo de estações requerido;

V – conjunto de todas as tarefas (|V |= n);

I – conjunto de tarefas indivisíveis, I ⊂V ;

D – conjunto de tarefas potencialmente divisíveis, D∩ I =∅ e D∪ I =

V ;

D j – conjunto de subtarefas (incluindo a própria j) no qual a tarefa j

pode ser potencialmente dividida (∀ j ∈ D);

t j – tempo de processamento (sem penalidade de tempo) para a tarefaj (∀ j = 1, . . . ,n);

f qj – penalidade de tempo (estritamente positiva) caso a tarefa j seja

processada por tqj unidades de tempo, ∀ j ∈V , q = 1, . . . ,r j ( f 1

j édefinido como zero para cada tarefa original j, ∀ j ∈V ).

Pj (Fj) – conjunto de predecessores imediatos (sucessores) da tarefa j

(∀ j = 1, . . . ,n);

E j – primeira estação viável na qual a tarefa j pode ser atribuída(∀ j = 1, . . . ,n);

L j – última estação viável na qual a tarefa j pode ser atribuída (∀ j =

1, . . . ,n);

SI j = [E j,L j] – intervalo de estações no qual a tarefa j pode ser atribuída (∀ j =

1, . . . ,n); e

Page 38: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.3 Modelo matemático para o TDALBP 38

Bk – conjunto de tarefas que pode ser potencialmente atribuído à esta-ção k (∀ k = 1, . . . ,m′).

• Variáveis de decisão:

xqjk =

1, se a subtarefa q da tarefa j é atribuída à estação k, ou

0, caso contrário; j = 1, . . . ,n; q = 1, . . . ,r j; ∀ k ∈ SI j.

Se uma tarefa j ∈ I (ou uma subtarefa q de j ∈D), for ativada em alguma estaçãoκ, então x1

jκ = 1 (ou xqjκ = 1). O índice κ é dado por:

κ = ∑k∈SI j

k·xqjk, j = 1, . . . ,n. (3-5)

Se κ = 0, então a tarefa j (ou subtarefa q de j) não foi ativada. Note-se que apenas tarefasque são membros de Bk podem ser atribuídas à estação k, para k = 1, . . . ,m′. Como podeser visto na Expressão (3-6) a seguir, por ser assumido que o nó terminal em G não temsucessores. Logo, se j é configurado para n na Expressão 3-5, o número de estaçõesrequerido resume-se a uma simples soma ponderada.

O modelo proposto (3-6)–(3-15), envolve apenas variáveis binárias de decisãoxq

jk. Se a tarefa j é indivisível, isso é j ∈ I e r j = 1, então x1jk e t1

j são simplesmentedenotados por x jk e t j, respectivamente.

Modelo TDALBP:

Minimizar ∑k∈SIn

k·xnk, (3-6)

sujeito a

∑k∈SI j

xik = 1, i ∈ I; (3-7)

∑k∈SI j

∑q∈D j

tqj ·x

qjk = t1

j , j ∈ D; (3-8)

∑q∈D j

xqjk ≤ 1, j ∈ D,

k ∈ SI j; (3-9)

∑i∈I∩Bk

ti·xik + ∑j∈D

∑q∈D j∩Bk

(tqj + f q

j )·xqjk ≤ c, k = 1, . . . ,m′; (3-10)

∑k∈SIi

k·xik− ∑k∈SI j

k·x jk ≤ 0, i ∈ I,

j ∈ I∩Fi,

Li ≥ E j; (3-11)

∑k∈SIi

k·xik− ∑k∈SI j

k·xqjk +m′· ∑

k∈SI j

xqjk ≤ m′, q ∈

⋃j∈D

D j∩Fi,

i ∈ I,

Page 39: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.3 Modelo matemático para o TDALBP 39

Li ≥ E j; (3-12)

∑k∈SIi

k·xqik− ∑

k∈SI j

k·x jk +m′· ∑k∈SIi

xqik ≤ m′, q ∈

⋃i∈D

Di,

j ∈ I∩Fi,

Li ≥ E j; (3-13)

∑k∈SIi

k·xq′ik− ∑

k∈SI j

k·xq′′jk +m′·( ∑

k∈SIi

xq′ik + ∑

k∈SI j

xq′′jk)≤ 2·m′, q′ ∈

⋃i∈D

Di,

q′′ ∈⋃j∈D

D j∩Fi,

Li ≥ E j; (3-14)

xqjk ∈ {0,1}, q = 1, . . . ,r j,

j = 1, . . . ,n,

k ∈ SI j. (3-15)

A função objetivo (3-6) minimiza o índice da estação da tarefa terminal n, o queequivale a minimizar o número de estações requerido. A restrição (3-7) garante que cadatarefa indivisível é atribuída a uma única estação. A restrição (3-8) garante que a soma dostempos de processamentos de subtarefas ativadas de cada tarefa potencialmente divisívelé igual ao tempo de processamento da tarefa. Satisfazendo-se a restrição (3-9) garante-se que as subtarefas ativas de qualquer tarefa potencialmente divisível são atribuídasa diferentes estações. A restrição de tempo de ciclo é dada em (3-10), onde, paracada estação, a primeira expressão representa os tempos de processamento de tarefasindivisíveis (sem penalidades de tempo) e a segunda representa aquelas potencialmentedivisíveis (com penalidades de tempo).

As equações (3-11)–(3-14) lidam com possíveis restrições de precedência de ta-refas que podem surgir da existência do arco (i, j)∈ A, dependendo da sua natureza, e dasrelações entre as tarefas i e j, (lembrando que o conjunto de subtarefas de qualquer tarefapotencialmente divisível inclui a própria tarefa). Quando i e j são ambas indivisíveis, arestrição de precedência é dada em (3-11). Quando i é indivisível mas j é uma subtarefade um tarefa potencialmente divisível, a restrição de precedência decorre de que o arco(i, j) deve se manter somente se j é ativada. Isso é, quando j é atribuída a alguma esta-ção, ou seja, ∑k∈SI j xq

jk = 1. As restrições correspondentes são dadas em (3-12). Quandoi é uma subtarefa de uma tarefa potencialmente divisível mas j é indivisível, a restri-ção de precedência decorre de que (i, j) deve se manter somente se i é ativada. Isso é,quando i é atribuída a alguma estação, ou seja, ∑k∈SIi xik = 1. A restrição correspondenteé dada em (3-13). Quando ambas i e j são subtarefas de duas tarefa potencialmente di-visíveis distintas, a restrição de precedência decorre de que (i, j) deve se manter apenasse ambas i e j forem ativadas. Isso é, quando i e j são ambas atribuídas a estações, ou

Page 40: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

3.3 Modelo matemático para o TDALBP 40

seja, ∑k∈SIi xik = ∑k∈SI j xqjk = 1. A restrição correspondente é dada em (3-14). A restrição

(3-15) define o domínio da variável xqjk.

Comparado com o modelo ASALBP de Scholl [30], o número de variáveisbinárias é reduzido significativamente. O ASALBP incluí (até) m′·(n + |D|) variáveis,enquanto o novo modelo requer (até) m′·n variáveis. No entanto, o ASALBP e o novomodelo têm aproximadamente o mesmo número de restrições. Usando-se a notação O, asordens de magnitude são O((n+ |D|)2 +m′) e O(|I|·|D|+m′) restrições para o ASALBPe o novo modelo, respectivamente. Utilizando-se as relações m′ ≤ n, |I| ≤ n e |D| ≤ n,ambos modelos requerem O(n2) variáveis e restrições.

Page 41: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

CAPÍTULO 4Algoritmo BB&R e adaptação ao TDALBP

4.1 Algoritmo BB&R

Sewell e Jacobson [36] criaram um algoritmo híbrido, chamado BB&R (Branch,

Bound, and Remember), para resolver o SALBP-1 de maneira exata. O BB&R combinauma série de estratégias como Branch and Bound, programação dinâmica e regras dedominações. Essas estratégias foram escolhidas especificamente por apresentarem umótimo desempenho na solução do SALBP-1, o que é demonstrado na literatura por váriosautores (Hoffmann [15], Nourie e Venta [26], Scholl e Becker [32], Scholl e Klein [34],entre outros).

O princípio básico do algoritmo BB&R é a enumeração de soluções parciaispara o SALBP-1. Uma solução parcial é parte de uma solução viável, que pode ter tarefasainda não atribuídas à estações, ou seja, parte das tarefas já foram atribuídas e respeitam asrestrições de tempo de ciclo e precedências entre as tarefas. No processo de enumeração,as soluções parciais são incrementadas com a atribuição de tarefas ainda não atribuídas àuma nova estação de trabalho. Se uma solução parcial já foi gerada anteriormente, se onúmero de estações esperado para a solução parcial for superior ao número de estações deuma solução viável já encontrada, ou se a solução parcial for dominada por outra soluçãoparcial devido à alguma regra de dominação, então essa solução parcial é eliminada. Esseprocesso se mantém para cada solução parcial até que uma solução viável seja encontrada,ou seja, até que todas as tarefas da solução parcial sejam atribuídas.

Na descrição do BB&R utilizaremos a mesma nomenclatura apresentada nasseções 2.2 e 3.3. Além disso, uma solução parcial é definida como E = (A,U,S1, . . . ,Sm),onde:

m – número de estações usadas por E ;

Sk – conjunto de tarefas atribuídas à estação k em E ;

A =m⋃

k=1Sk – conjunto de tarefas atribuídas às m estações; e

Page 42: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

4.1 Algoritmo BB&R 42

U – conjunto de tarefas não atribuídas a qualquer estação.

A abordagem adotada no BB&R é semelhante à utilizada nos sistemas Eureka[15] e SALOME [34], ou seja, o procedimento de construção de uma solução é orientadoa estação. Uma estação possui carga completa quando nenhuma das tarefas ainda nãoatribuídas pode ser alocada a ela devido a restrições de tempo de ciclo ou de precedências.Uma solução parcial E = (A,U,S1, ...,Sm) é expandida pela atribuição de uma cargacompleta para a próxima estação de E .

No Branch and Bound limites no valor da solução ótima são importantes paraeliminar soluções parciais e diminuir a quantidade de nós gerados em cada iteração, oque impacta diretamente na sua eficiência. O BB&R utiliza os seguintes limites inferioresapresentados por Scholl e Klein [34] e Scholl e Becker [32]:

LB1 =⌈

∑j∈U

t j

c

⌉; (4-1)

LB2 =⌈

∑j∈U

w1j

⌉; (4-2)

LB3 =⌈

∑j∈U

w2j

⌉; (4-3)

onde

w1j =

1, se t j >

c2,

12, se t j =

c2

;(4-4)

e

w2j =

1, se t j >2·c3,

23, se t j =

2·c3,

12, se

c3< t j <

2·c3,

13, se t j =

c3.

(4-5)

O SALBP-1, sem as restrições de precedência, pode ser visto como um Bin

Packing, onde um conjunto de tarefas (itens) tem que ser alocadas (guardadas) emestações (caixas) idênticas de mesmo tempo de ciclo (mesmo tamanho finito). Assim,outro limite inferior utilizado no BB&R, chamado LBbin, é obtido pela solução de umainstância do Bin Packing Problem via o algoritmo Bin Packing Algorithm (BPA), o qual ébaseado em um algoritmo proposto por Korf [22].

O LBbin é utilizado como um limite inferior local e global. Em cada iteração

Page 43: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

4.1 Algoritmo BB&R 43

do BB&R o BPA é executado sobre o conjunto U de tarefas não atribuídas da soluçãoparcial E gerada na iteração corrente. O BPA gera todas as possíveis cargas completas eatribuí a uma “estação”, gerando um novo subproblema com as “tarefas” que não foramatribuídas. Esse processo se repete para cada novo subproblema, até que todas as tarefassejam atribuídas.

Dado que o Bin Packing é um problema pertencente à classe N P -difícil, éesperado que um algoritmo exato demore um tempo excessivo para resolver uma instânciade porte razoável desse problema. Na prática, para muitas instâncias a solução do Bin

Packing pode demorar tanto quanto a solução do SALBP-1. Assim, como o LBbin écomputado para cada solução parcial E gerada pelo BB&R, o consumo de tempo poderiasubir exponencialmente. Para garantir que isso não aconteça, dois limites foram impostosao BPA. Se o tempo exceder 1 segundo de CPU, ou se o número de cargas geradas parauma única estação (caixa) exceder a 50, o BPA é abortado. Nesses casos, o valor do LBbin

é fixado em zero.Além disso, a solução de todo subproblema gerado pelo BPA, desde sua primeira

até a sua última chamada, é armazenada em uma memória de soluções. Antes de calcularo LBbin para um conjunto de tarefas (itens), é verificado nessa memória se a soluçãopara esse conjunto de tarefas (itens) já foi computada, evitando assim que um mesmosubproblema seja resolvido mais de uma vez.

O limite LBmax é o maior limite inferior dentro de todos os limites inferiores. Eleé computado da seguinte forma:

LBmax = max(LB1,LB2,LB3,LBbin). (4-6)

O limite superior UB é atualizado sempre que uma nova solução viável comum menor número de estações, do que a melhor solução corrente, for encontrada. Parao cálculo do limite superior inicial, o BB&R utiliza a heurística MHH, a qual é umaversão modificada de uma heurística proposta por Hoffmann [14]. A heurística originalde Hoffmann constrói a solução estação por estação, ou seja, a cada iteração todas aspossíveis cargas são geradas e escolhida aquela que tem o menor tempo ocioso. Naheurística MHH é escolhida a carga que maximiza a seguinte função:

H (α, β, γ) = ∑j∈U

(t j +α(t j + ∑i∈F∗j

ti)+β|Fj|− γ). (4-7)

O termo t j isolado na função H estimula a escolha de cargas cheias ou quase cheias. Osfatores α e β estimulam a escolha, respectivamente, de tarefas em que os sucessores têmum tempo maior de processamento e de tarefas que vão liberar mais tarefas para a próximaestação. O fator γ é utilizado como um desempate quando os outros fatores são iguais, ou

Page 44: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

4.1 Algoritmo BB&R 44

seja, γ estimula cargas que contém menos tarefas, deixando tarefas menores para o final efacilitando a atribuição de tarefas às estações. Quando α = β = γ = 0, t j é maximizado, oque equivale a minimizar o tempo ocioso. Nesse caso, o MHH produz a mesma soluçãoque a heurística original de Hoffmann.

O MHH é executado múltiplas vezes, com todas as combinações possíveis entreos valores de α, β, e γ listados na Tabela 4.1. A solução que possuir o menor valor éescolhida como solução inicial do SALBP-1 e o seu valor é fixado como o limite superiorUB inicial.

Tabela 4.1: Possíveis valores para os parâmetros de entrada dafunção H .

α β γ

0,000 0,000 0,0000,005 0,005 0,0100,010 0,010 0,0200,015 0,015 0,0300,020 0,020 —

O limite inferior LBmax e o limite superior UB são utilizados para eliminarsoluções parciais em cada uma das iterações. Se m+LBmax ≥UB, então a solução parcialE corrente é descartada, pois E utiliza uma quantidade igual ou superior de estações doque a melhor solução encontrada até o momento.

Com a programação dinâmica o BB&R memoriza todos as soluções parciaisgeradas (considerando cada solução parcial como um estado). Antes de processar umanova solução parcial, ele verifica na memória se essa solução parcial é dominada por outrasolução parcial processada anteriormente. Se duas soluções parciais E = (A,U,S1, ...,Sm)

e E ′ = (A′,U ′,S′1, ...,S′m) possuem o mesmo conjunto de tarefas atribuídas às estações e

o número de estações requerido por E é menor do que o requerido por E ′, então E ′

é dominado por E e não precisa ser processada, ou seja, se A = A′ e m < m′ então Edomina E ′. Essa mesma regra de dominância foi utilizada no OptPack (Nourie e Venta[26]) e no SALOME (Scholl e Klein [35]). Nesses dois sistemas as soluções parciais sãoarmazenadas em uma árvore compacta. Já o BB&R utiliza uma tabela hash para ter acessoàs soluções parciais armazenadas na memória.

Sewell e Jacobson [36] utilizaram três regras de dominação que não são baseadasem memória, ou seja, uma solução parcial não precisa ser diretamente comparada comoutra previamente processada. Essas regras são descritas a seguir:

Regra de carga máxima – se uma solução parcial contém uma estação que não possuicarga completa então ela pode ser podada.

Regra estendida de Jackson – uma tarefa i potencialmente domina uma tarefa j, se nãoexiste uma relação de precedência entre i e j, ti ≥ t j e F∗i ⊇ F∗j . Se ti = t j e F∗i = F∗j ,

Page 45: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

4.1 Algoritmo BB&R 45

então i domina j quando i < j. Se a tarefa i domina j e j for atribuída a uma estaçãow, na qual a tarefa i também pode ser atribuída, ou seja, a tarefa i não foi atribuída aoutra estação e sua atribuição não viola o tempo de ciclo, então i deve ser atribuídaantes de j.

Regra de dominância BB&R – seja uma solução parcial E = (A,U,S1, ...,Sm), com asm estações com carga completa, onde nenhuma das tarefas atribuídas à estaçãoSm possui sucessores. Suponha que exista uma tarefa não atribuída que possuisucessores, e seja E ′ uma solução criada a partir de E , e S′m′ , com m′>m, a primeiraestação que possui uma tarefa com um sucessor em E ′. Então as cargas nas estaçõesSm e S′m′ podem ser trocadas sem violar nenhuma regra de precedência. Assim, Epode ser eliminada.

O algoritmo BB&R utiliza uma formula simples para decidir em qual direçãoconstruir a solução. O valor E j é um limite inferior da primeira estação na qual a tarefaj pode ser atribuída, e L j é um limite superior da última estação na qual a tarefa j podeser atribuída. As fórmulas para calcular E j e L j estão descritas nas Equações 3-1 e 3-2.A função dk = |{ j : E j ≤ k}| define o número de itens disponíveis para serem atribuídosà estação k quando a solução é construída na ordem direta. A função rk = |{ j : L j ≥ k}|,definida de modo similar, é usada quando a solução é construída em ordem inversa. Assim,dois novos termos são utilizados, bd que é relacionado ao número de ramos nos primeiros` níveis da árvore construída na ordem direta, e de modo similar, br é relacionado aos `primeiros ramos da árvore construída na ordem inversa. Se bd ≤ br, então BB&R constróia solução na ordem direta, caso contrário utiliza a ordem inversa. Os termos bd e br sãocomputados da seguinte forma:

bd =`

∏i=1

di, (4-8)

br =`−1

∏i=0

rm−i; (4-9)

onde m é um limite superior do número mínimo de estações.A principal estratégia de busca do BB&R é a CBFS (Cyclic Best-First Search

inicialmente chamada Distributed Best-First Search em [21]), a qual é uma estratégia debusca que combina as estratégias BFS (Best First Search) e DFS (Depth First Search). OCBFS começa expandindo uma solução parcial na profundidade 1, depois expande outrada profundidade 2 e assim por diante, até a maior profundidade da árvore, então alternapara a profundidade 1 e repete esse processo novamente para outras soluções parciais.

O CBFS utiliza a função B para decidir qual é a melhor solução parcial a serexpandida. Dada uma solução parcial E = (A,U,S1, ...,Sm), a função B(E) é calculada

Page 46: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

4.1 Algoritmo BB&R 46

da seguinte forma:B(E) = I/m−λ|U |; (4-10)

onde I é o tempo total ocioso em todas as m estações e λ é um fator de balanceamentoda equação (Sewell e Jacobson [36] determinaram λ = 0.002 empiricamente através detestes computacionais preliminares em um subconjunto de instâncias). Sewell e Jacobsonexplicam que o termo I/m estimula cargas cheias ou quase cheias. Quando os outrosvalores são iguais, λ|U | estimula cargas que contém menos tarefas, deixando tarefasmenores para o final, facilitando a atribuição de tarefas a estações.

O BB&R utiliza uma fila de prioridade mínima (que utiliza a função B definidapela Equação 4-10) para cada profundidade da árvore. Em cada iteração é removida aprimeira solução parcial E da fila de prioridade da profundidade corrente. Em seguidasão geradas todas as possíveis cargas completas com as tarefas não atribuídas de E . Cadacarga completa é então atribuída como uma nova estação a E , gerando uma nova soluçãoparcial E ′. Essa nova solução E ′ é inserida na fila de prioridade da próxima profundidade.Esse processo é repetido até que todas as soluções viáveis sejam geradas, ou seja, paraqualquer solução parcial todas suas tarefas foram atribuídas, ou até que algum limiteimposto seja alcançado.

O algoritmo BB&R-CBFS é dividido em três etapas. Na etapa I o MHH éexecutado para encontrar um limite superior inicial. Na etapa II o BB&R é executadocom a estratégia de busca CBFS. Os objetivos da segunda etapa são encontrar uma soluçãoótima e provar a otimalidade, se possível. Alguns limites foram impostos para evitar queuma grande quantidade de tempo fosse utilizada tentando encontrar uma carga para umaestação e que uma grande quantidade de memória fosse utilizada. Assim a quantidademáxima de cargas geradas por solução parcial foi limitada a 10000 e o tamanho máximode cada fila de prioridade foi definido como 300000. Dessa forma, a etapa II prova aotimalidade se nenhum desses limites forem ultrapassados. Na etapa III, a qual só éexecutada quando a etapa II não consegue provar a otimalidade, o BB&R é executadoutilizando a estratégia de Busca em Largura (BFS). O objetivo da etapa III é provar aotimalidade da melhor solução encontrada nas etapas anteriores.

O algoritmo BB&R-CBFS apresenta resultados superiores aos de seus predeces-sores, utilizando os mesmos recursos e instâncias de referência conhecidas. Uma compa-ração entre BB&R-CBFS e SALOME foi realizada por Sewell e Jacobson [36]. O BB&R-CBFS foi capaz de encontrar e verificar a solução ótima em todas as 269 instâncias, onde oSALOME encontrou e verificou a otimalidade em apenas 257 dos problemas. Para os pro-blemas onde a solução ótima foi verificada, BB&R-CBFS obteve um desempenho cercade 40 vezes mais rápido do que o SALOME.

Page 47: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

4.2 Adaptação do BB&R para o TDALBP 47

4.2 Adaptação do BB&R para o TDALBP

Nessa Seção são discutidas as mudanças realizadas no algoritmo BB&R e emseus métodos, para que, as adaptações do BB&R e do BPA apresentados na Seção 4.1possam resolver de maneira exata o TDALBP. Denotamos como BB&R-TD e BPA-TDas respectivas versões adaptadas para TDALBP.

Quando permitimos a divisão de tarefas, estamos mudando o problema e conse-quentemente alguns limites ou estratégias não se aplicam diretamente ao TDALBP. Assimdevemos também modificar esses limites e estratégias para que eles possam ser utilizadosno TDALBP. O limite inferior LB1 é calculado da mesma forma como na Equação 4-1, jáLB2 e LB3 são agora computados da seguinte forma:

LB2 =

⌈∑

j∈U∩Iw1

j +r j

∑q=2, j∈U∩D

w1j

⌉(4-11)

LB3 =

⌈∑

j∈U∩Iw2

j +r j

∑q=2, j∈U∩D

w2j

⌉(4-12)

Para minimizar o tempo de processamento, o BPA-TD sempre utiliza a divisãode tarefas para todas as tarefas potencialmente divisíveis. Desta forma é reduzida expo-nencialmente a quantidade de soluções parciais geradas, pois o BPA-TD não tem quedecidir entre dividir ou não uma tarefa potencialmente divisível. Para garantirmos quea solução do BPA-TD seja um limite inferior válido para uma instância TDALBP, nãoincluímos a penalidade f q

j das subtarefas. Como estamos considerando apenas as subta-refas das tarefas divisíveis (desconsiderando a original), se computarmos a penalidade desuas subtarefas, a solução do BPA-TD pode não ser um limite inferior, como ilustrado noExemplo 5;

Exemplo 5:Dado que as relações de precedências entre tarefas de uma instância são sem-pre desconsideradas pelo BPA-TD, essas relações não serão descritas paraa instância TDALBP deste exemplo. Suponha uma instância TDALBP comtempo de ciclo c = 10, conjunto de tarefas V = {1,2,3,4,5} e o respectivoconjunto T = {5,7,8,10,10} de tempos de processamento. V é subdivididono conjunto de tarefas indivisíveis I = {1,2,3} e no conjunto de tarefas poten-cialmente divisíveis D = {4,5}. Os tempos de processamento das subtarefasdas tarefas de D são T4 = {10,5,3,2} e T5 = {10,5,5} e as respectivas pena-lidades são f4 = {0,1,1,1} e f5 = {0,1,1}.

A Tabela 4.2 descreve a solução ótima do BPA-TD, com LBbin = 4,desconsiderando as penalidades de tempo. A Tabela 4.3 descreve a solução

Page 48: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

4.2 Adaptação do BB&R para o TDALBP 48

Tabela 4.2: Solução ótima do BPA-TD para o TDALBP sem pena-lidades.

k Sk t(Sk)

1 {t1, t25} 10

2 {t2, t34} 10

3 {t3, t44} 10

4 {t24 , t3

5} 10

Tabela 4.3: Solução ótima do BPA-TD para o TDALB com penali-dades.

k Sk t(Sk)

1 {t1, t34 + f 3

4 } 92 {t2, t4

4 + f 44 } 10

3 {t3} 84 {t2

4 + f 24 } 6

5 {t25 + f 2

5 } 66 {t3

5 + f 35 } 6

ótima do BPA-TD, com LBbin = 6, considerando as penalidades de tempo. In-dependente das relações de precedência entre as tarefas, uma solução simplesdo TDALBP, com m= 5 estações, é obtida pela atribuição de cada tarefa origi-nal à uma estação própria. Para a instância utilizada neste exemplo, a divisãode tarefa não reduz o número de estações de processamento. Pelo contrário,por causa das suas penalidades, a divisão de tarefa induz uma quantidade maiorde estações de processamento. O BPA-TD sempre utiliza a divisão de tarefaspara todas as tarefas potencialmente divisíveis. Assim, considerando as pena-lidades de tempo, ele não computaria um limite inferior, já que o LBbin = 6,como descrito na Tabela 4.3. Uma solução para instância TDALBP tem m = 5.Porém, se desconsiderarmos a penalidade de tempo, é certo de que a soluçãodo BPA-TD sempre será um limite inferior para a instância TDALBP. Como émostrado, para a instância desse exemplo, pela Tabela 4.2, com LBbin = 4.

O BPA-TD tem que ser o mais eficiente possível, pois ele é executado múltiplasvezes durante o branching. A cada vez que uma nova solução parcial é gerada, o LBbin écomputado sobre as tarefas que não foram atribuídas às estações. A intenção é descobrirum limite inferior referente a essas tarefas. Caso a soma da quantidade de estações dasolução parcial mais o valor do limite inferior seja maior do que o limite superior atual,essa solução pode então ser eliminada, pois, na melhor das hipóteses, sua solução finalserá pior do que a melhor solução atual.

O algoritmo BB&R-TD para o TDALBP segue as mesmas três etapas do BB&R-

Page 49: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

4.2 Adaptação do BB&R para o TDALBP 49

CBFS original, utilizando a mesma heurística de Hoffmann para o limite superior inicial,a mesma estratégia de busca CBFS e os mesmos limites foram atribuídos a quantidade decargas geradas por estado e ao tamanho da heap. Para o TDALBP o BB&R-TD procurauma solução que satisfaça o modelo matemático descrito em 3-6.

Adicionamos uma nova regra que verifica a otimalidade da solução. Seja Sa =

{Sa ≤ Sk|k ∈W} a estação que possui a menor carga de processamento entre todas asestações, p(Sk) o somatório das penalidades das tarefas da estação k e Toc = ∑k∈W c−(t(Sk)− p(Sk)) o somatório de tempo ocioso de todas as estações, desconsiderando-se aspenalidades de tempo. Se Toc < t(Sa) então a carga de Sa é maior do que a soma do tempoocioso de todas as outras estações. Assim, mesmo que as dividindo unitariamente e semcustos de penalidade, seria impossível atribuir as tarefas de Sa a outras estações. Portanto,a solução atual é ótima.

Page 50: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

CAPÍTULO 5Experimentos computacionais

5.1 Introdução

Os experimentos computacionais realizados foram baseados em instâncias deteste de benchmark sistematicamente construídas. Na Seção 5.2 são descritos os doismétodos usados para gerar as instâncias utilizadas nos testes. Nas seções seguintes sãorelatados os resultados obtidos nos testes.

Os testes computacionais com as instâncias TDALBP geradas foram realizadoscom o IBM ILOG CPLEX [16] e com o algoritmo BB&R-TD, apresentado no Capítulo 4.O algoritmo BB&R-TD foi codificado na linguagem C++, e é uma adaptação do códigodo BB&R original disponível em [33]. O CPLEX foi utilizado para resolver o modeloapresentado na Seção 3.3, o qual, foi implementado através de um conjunto de bibliotecascom API, disponíveis para o CPLEX [16], na linguagem C++. Em ambos os casos, ocompilador GNU (g++ version 4.8.2 com parâmetros “-O3 -mcmodel=medium -m64 -g

-W -Wall”) foi utilizado.Todos os testes computacionais foram realizados em um computador que possui

um processador Intel(R) Xeon(R) CPU E5620 2.40GHz, 62GB de RAM, e utilizandoapenas um núcleo.

5.2 Instâncias do TDALBP

As instâncias usadas nos testes foram geradas a partir de um conjunto de 269instâncias do SALBP-1, com base em 25 grafos de precedência com 8 a 297 nós ediferentes tempos de ciclo. A descrição detalhada desse conjunto de dados está disponívelem [33]. Cada uma dessas 269 instâncias SALBP-1 foi adaptada, com a manutenção dotempo de ciclo, das tarefas e das precedências entre elas e a introdução dos parâmetros I,D, D j, r j e f j e valores específicos para eles. Os nós do grafo de precedência associado acada instância gerada foram renumerados em ordem topológica.

Page 51: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 51

A fim de avaliar o potencial do TDALBP, foram definidos e testados doismétodos simples para selecionar o conjunto D e dividir as tarefas neste conjunto:

Método-M: O conjunto D de tarefas potencialmente divisíveis foi selecionado a partirda mediana dos tempos de execuções das tarefas (X(t j)). As tarefas que possuíamo tempo de execução maior que a mediana foram selecionadas para o conjunto D

e as restantes compuseram o conjunto I de tarefas indivisíveis. O conjunto D foientão subdividido em dois subconjuntos, D1 e D2, de forma que uma tarefa j ∈ D

foi alocada a D1 se t j ≤ δ·X(t j) ou alocada a D2 se t j > δ·X(t j). Os valores δ = 1,2e δ = 1,5 foram testados na alocação das tarefas aos subconjuntos D1 e D2. Astarefas em D1 foram divididas em duas subtarefas e aquelas em D2 foram divididasem três subtarefas, sempre de modo que o somatório dos seus tempos de execuçãofosse igual ao da tarefa original. A penalidade utilizada para cada subdivisão foi de1 unidade de tempo.

Método-A: 30% das tarefas foram selecionadas, de forma aleatória, para comporem oconjunto D de tarefas potencialmente divisíveis. Cada uma das tarefas j ∈ D foisubdividida em 2 ou 3 subtarefas, com probabilidades 60% e 40%, respectivamente.O somatório dos tempos de execução das subtarefas é igual ao da tarefa originale um custo adicional de 1 unidade foi atribuído a cada subtarefa, como umapenalidade de tempo.

5.2.1 Resultados com o Método-M

A Tabela 5.1 resume os resultados dos testes com as instâncias para as quaisforam obtidas reduções no número de estações necessárias, em relação a suas instânciasSALBP-1.

Os seguintes parâmetros e medidas estão presentes na Tabela 5.1: c – tempo deciclo; n – número de tarefas; m∗, LE e LT – respectivamente, número de estações, eficiên-cia de linha e tempo de linha da solução do ALBP; m∗

δ, LEδ, LTδ e Fδ – respectivamente,

número de estações, eficiência de linha, tempo de linha e penalidade de tempo da soluçãodas instâncias TDALBP construída com os parâmetros δ = 1,2 e δ = 1,5; t – indicativose o limite de 1.800 segundos de tempo de processamento foi atingido, segundo a se-guinte convenção: * – tempo limite atingido nas duas classes de instâncias, ** – apenasna instância da classe δ = 1,5 e *** – apenas na instância da classe δ = 1,2.

A heurística utilizada para selecionar as tarefas potencialmente divisíveis de-monstra o potencial da divisão de tarefas na otimização do desempenho de um sistema debalanceamento de linha de produção. A variação no parâmetro δ influencia diretamentenos resultados finais, mudando a forma como as tarefas são subdividas. Com o valorδ = 1.5, a redução no número de estações foi alcançada em 16 das 269 instâncias geradas.

Page 52: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 52

Tabela 5.1: Resultados computacionais - Mediana.

Grafo c n m∗ LE LT m∗1,5 F1,5 LE1,5 LT1,5 m∗1,2 F1,2 LE1,2 LT1,2 t1 GUNTHER 41 35 14 84,15 539 13 9 90,62 532 13 9 90,62 5322 SAWYER30 30 30 12 90,00 353 11 3 98,18 328 11 3 98,18 3283 WEE-MAG 56 75 30 89,23 1676 28 14 96,49 1568 28 26 97,26 1568 *4 WEE-MAG 54 75 31 89,55 1669 30 22 92,53 1615 30 25 92,53 1620 *5 WEE-MAG 45 75 38 87,66 1663 35 18 95,17 1573 35 21 95,17 1575 *6 WEE-MAG 43 75 50 69,72 2134 39 34 89,39 1669 39 28 89,39 16707 WEE-MAG 42 75 55 64,89 2310 41 36 89,14 1716 40 32 91,13 1679 **8 WEE-MAG 41 75 59 61,97 2419 42 34 87,05 1719 42 38 87,05 17179 WEE-MAG 35 75 60 71,38 2096 45 42 97,84 1575 46 35 95,28 1610 *

10 WEE-MAG 36 75 60 69,40 2151 44 36 94,63 1584 44 44 94,63 1584 *11 WEE-MAG 37 75 60 67,52 2219 43 38 96,61 1589 44 43 94,72 1626 *12 WEE-MAG 38 75 60 65,75 2267 43 38 91,74 1631 43 39 91,74 1634 *13 WEE-MAG 39 75 60 64,06 2334 42 38 91,51 1634 42 36 91,51 163814 WEE-MAG 40 75 60 62,46 2381 42 38 89,23 1678 42 38 89,23 167715 WEE-MAG 33 75 61 74,47 2008 57 40 81,82 1875 57 30 81,29 1876 ***16 WEE-MAG 34 75 61 72,28 2073 53 34 85,07 1796 53 48 85,85 180017 WARNECKE 58 58 29 92,03 1679 — — — — 28 27 96,98 1618 ***18 WARNECKE 54 58 31 92,47 1672 — — — — 30 30 97,41 1618 ***

Já com δ = 1.2, além dessas 16 instâncias, mais duas outras também tiveram redução nonúmero de estações. Contudo, há variações no valor da penalidade, eficiência da linha,tempo de linha e até mesmo no número das estações na melhor solução TDALBP, tantopara melhor quanto para pior. Isso pode ser observado, por exemplo, nas linhas 7, 9 e 11da tabela. Note-se que nesses três casos o tempo limite de execução foi alcançado e umasolução ainda melhor pode existir para essas instâncias.

5.2.2 Resultados com o Método-A

O uso do Método-A para selecionar as tarefas potencialmente divisíveis possibi-litou identificar, das 269 instâncias TDALBP geradas, 37 com soluções melhores do queas das versões SALBP-1. Por outro lado, em 31 das instâncias foi atingido o tempo limitede processamento de 3.600 segundos, sem nenhuma melhora na qualidade da soluçãoSALBP-1, e 201 instâncias mantiveram-se com a mesma solução ótima que suas versõesSALBP-1. Esses resultados foram obtidos com a execução tanto do CPLEX quanto doBB&R-TD com cada uma das 269 instâncias, com o tempo limite de 3.600 segundos paracada uma.

Note-se que a execução do CPLEX e do BB&R-TD com todo o conjunto de 269instâncias requer, em média, 7 a 8 dias para cada um dos métodos de solução. Assim, otempo estimado para cada bateria de teste com as 269 instâncias do TDALBP geradas peloMétodo-A é de aproximadamente 15 dias. Devido ao longo tempo para processar todasas instâncias, foram selecionadas apenas as 37 instâncias TDALBP para as quais foramobtidas soluções melhores do que suas instâncias SALBP-1, para compor um conjunto de

Page 53: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 53

teste. Dessa forma, foi possível executar várias baterias de testes sobre essas 37 instânciasselecionadas, com diferentes conjuntos D de tarefas divisíveis para cada uma (gerados deforma aleatória).

As Tabelas 5.2 e 5.3 contém os resultados obtidos com o CPLEX e com oalgoritmo BB&R-TD, respectivamente, para as instâncias do TDALBP geradas peloMétodo-A. Cada tabela descreve as 37 instâncias selecionadas para os testes. A primeiralinha de cada instância na tabela descreve o grafo, o tempo de ciclo, a solução ótima para aversão SALBP-1 da instância, e os resultados obtidos para a primeira bateria de testes. Asegunda e terceira linha de cada instância descrevem os resultados de outras duas bateriasde testes, com diferentes conjuntos D de tarefas divisíveis. Os parâmetros m∗A, R%, FA,LEA, LTA são referentes, respectivamente ao número de estações, percentual de reduçãoem relação à solução SALBP-1, penalidade de tempo, eficiência de linha e tempo de linhapara a solução TDALBP. A coluna rotulada OPT indica se a solução ótima foi encontrada(o símbolo * indica que uma solução ótima foi encontrada para aquela instância).

Tabela 5.2: Resultados do CPLEX com as instâncias do TDALBPgeradas pelo Método-A.

Grafo c m∗ m∗A R% FA LE LT OPT CPU

1 BOWMAN8 20 5 4 20,00 2 96,25 78 * 0,014 20,00 2 96,25 80 * 0,024 20,00 2 96,25 78 * 0,02

2 GUNTHER 49 11 10 9,09 4 99,39 489 * 0,3810 9,09 2 98,98 489 * 0,6510 9,09 4 99,39 489 * 0,49

3 GUNTHER 41 14 13 7,14 12 92,87 498 * 1,0013 7,14 8 92,12 498 * 0,8613 7,14 12 92,87 517 * 0,68

4 JAESCHKE 7 7 6 14,29 3 95,24 42 * 0,027 0,00 2 79,59 48 * 0,017 0,00 0 75,51 49 * 0,00

5 LUTZ2 11 49 49 0,00 0 91,09 525 3600,8049 0,00 0 91,09 525 3600,8049 0,00 0 90,04 518 3600,01

6 LUTZ3 150 12 11 8,33 4 99,88 1648 * 24,8712 0,00 10 91,89 1793 * 30,7411 8,33 2 99,76 1650 * 1,96

7 MERTENS 8 5 4 20,00 3 100,00 32 * 0,025 0,00 0 72,50 38 * 0,025 0,00 0 72,50 37 * 0,02

8 SAWYER30 30 12 12 0,00 11 93,06 353 * 1,2511 8,33 5 99,70 329 * 0,5212 0,00 0 90,00 344 * 1,02

9 TONGE70 293 13 13 0,00 12 92,47 3800 3600,0113 0,00 29 92,91 3788 3600,01

Continua na próxima página. . .

Page 54: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 54

Tabela 5.2 – . . . continuação da página anterior.

Grafo c m∗ m∗A R% FA LE LT OPT CPU13 0,00 32 92,99 3807 3600,02

10 TONGE70 220 17 16 5,88 5 99,86 3520 * 2,8116 5,88 6 99,89 3520 * 505,4917 0,00 34 94,76 3740 3600,01

11 TONGE70 207 18 18 0,00 8 94,42 3724 3600,0118 0,00 20 94,74 3689 3600,0218 0,00 2 94,26 3699 3600,02

12 WARNECKE 62 27 26 3,70 26 97,64 1612 * 721,3427 0,00 9 93,01 1674 3600,0127 0,00 0 95,11 1580 3600,01

13 WARNECKE 58 29 28 3,45 15 96,24 1618 3600,0129 0,00 2 92,15 1679 3600,0128 3,45 14 96,18 1621 3600,01

14 WARNECKE 54 31 30 3,23 19 96,73 1620 * 184,8830 3,23 22 96,91 1618 * 614,9130 3,23 23 96,98 1618 * 2165,59

15 WEE-MAG 56 30 28 6,67 26 97,26 1568 3600,0128 6,67 24 97,13 1568 3600,0128 6,67 25 97,19 1568 3600,01

16 WEE-MAG 52 31 30 3,23 36 98,40 1560 * 512,4030 3,23 17 97,18 1555 3600,0230 3,23 21 97,44 1560 * 1235,61

17 WEE-MAG 54 31 29 6,45 27 97,45 1563 3601,1029 6,45 16 96,74 1565 3600,0129 6,45 27 97,45 1566 3600,00

18 WEE-MAG 49 32 31 3,13 6 99,08 1519 * 2808,8432 0,00 14 96,49 1567 3600,0132 0,00 11 96,30 1568 3600,02

19 WEE-MAG 50 32 32 0,00 32 95,69 1598 3600,0131 3,13 8 97,23 1550 * 304,5331 3,13 5 97,03 1542 * 44,20

20 WEE-MAG 46 34 34 0,00 15 96,80 1563 3600,0134 0,00 19 97,06 1562 3600,0334 0,00 12 96,61 1563 3600,01

21 WEE-MAG 45 38 35 7,89 34 97,33 1573 3600,0135 7,89 21 96,51 1575 3600,0235 7,89 17 96,25 1574 3600,02

22 WEE-MAG 43 50 37 26,00 30 96,10 1591 * 114,5437 26,00 37 96,54 1590 3600,0136 28,00 39 99,35 1548 * 1815,74

23 WEE-MAG 42 55 40 27,27 41 91,67 1674 3600,0138 30,91 49 96,99 1596 * 2616,9839 29,09 43 94,14 1632 3600,01

24 WEE-MAG 41 59 42 28,81 36 89,14 1711 * 26,4841 30,51 48 92,03 1678 * 85,5043 27,12 37 87,12 1756 * 210,90

25 WEE-MAG 35 60 45 25,00 45 98,03 1575 * 395,56

Continua na próxima página. . .

Page 55: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 55

Tabela 5.2 – . . . continuação da página anterior.

Grafo c m∗ m∗A R% FA LE LT OPT CPU46 23,33 39 95,53 1609 * 219,6146 23,33 40 95,59 1610 3600,01

26 WEE-MAG 36 60 44 26,67 42 97,29 1584 3600,0145 25,00 40 95,00 1616 3600,0245 25,00 43 95,19 1620 3602,23

27 WEE-MAG 37 60 43 28,33 43 96,92 1588 3600,0144 26,67 38 94,41 1627 * 79,7143 28,33 42 96,86 1591 * 123,87

28 WEE-MAG 38 60 42 30,00 46 96,80 1593 * 91,5442 30,00 45 96,74 1594 3600,0142 30,00 51 97,12 1593 3600,01

29 WEE-MAG 39 60 42 30,00 47 94,38 1638 * 120,9344 26,67 42 89,80 1716 * 62,7342 30,00 48 94,44 1638 * 220,56

30 WEE-MAG 40 60 44 26,67 42 87,56 1754 * 202,0841 31,67 50 94,45 1640 * 3368,1044 26,67 43 87,61 1751 * 166,26

31 WEE-MAG 32 61 54 11,48 32 89,48 1698 3600,0152 14,75 37 92,31 1661 * 235,0152 14,75 39 92,43 1664 * 954,51

32 WEE-MAG 33 61 51 16,39 28 90,73 1683 * 673,9149 19,67 40 95,18 1616 3600,0249 19,67 39 95,11 1617 * 1542,53

33 WEE-MAG 34 61 46 24,59 39 98,34 1563 3600,0148 21,31 37 94,12 1632 * 846,9447 22,95 37 96,12 1598 3600,01

34 WEE-MAG 30 62 54 12,90 34 94,63 1618 * 1464,2556 9,68 36 91,37 1680 3600,0257 8,06 34 89,65 1708 * 316,77

35 WEE-MAG 31 62 53 14,52 37 93,49 1642 * 1648,7654 12,90 40 91,94 1666 * 1545,9457 8,06 28 86,42 1767 * 113,92

36 WEE-MAG 28 63 62 1,59 11 86,98 1735 3600,0162 1,59 19 87,44 1735 3600,0162 1,59 15 87,21 1733 3600,02

37 WEE-MAG 29 63 59 6,35 37 89,77 1709 * 509,6359 6,35 32 89,48 1708 3600,0159 6,35 25 89,07 1706 3600,03

Tabela 5.3: Resultados do BB&R-TD com as instâncias doTDALBP geradas pelo Método-A.

Grafo c m∗ m∗A R% FA LE LT OPT CPU

1 BOWMAN8 20 5 4 20,00 4 98,75 80 * 0,564 20,00 2 96,25 78 * 0,54

Continua na próxima página. . .

Page 56: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 56

Tabela 5.3 – . . . continuação da página anterior.

Grafo c m∗ m∗A R% FA LE LT OPT CPU4 20,00 4 98,75 80 * 0,56

2 GUNTHER 49 11 10 9,09 4 99,39 489 * 0,5610 9,09 2 98,97 489 * 2,7110 9,09 6 99,80 489 * 0,58

3 GUNTHER 41 14 13 7,14 13 93,06 498 * 0,5813 7,14 8 92,12 498 * 0,5613 7,14 12 92,87 498 * 0,55

4 JAESCHKE 7 7 6 14,29 3 95,24 42 * 0,567 0,00 0 75,51 48 * 0,547 0,00 0 75,51 48 * 0,56

5 LUTZ2 11 49 48 2,04 20 95,64 525 * 1520,4848 2,04 15 94,70 525 * 764,5548 2,04 7 93,18 525 * 397,77

6 LUTZ3 150 12 11 8,33 4 99,88 1648 * 0,8012 0,00 0 91,33 1680 * 1,3211 8,33 2 99,76 1650 * 1,28

7 MERTENS 8 5 4 20,00 3 100,00 32 * 0,565 0,00 0 72,50 36 * 0,555 0,00 0 72,50 36 * 0,56

8 SAWYER30 30 12 12 0,00 0 90,00 353 * 0,7411 8,33 5 99,70 329 * 0,5912 0,00 0 90,00 353 * 0,77

9 TONGE70 293 13 12 7,69 4 99,94 3516 * 6,4112 7,69 5 99,97 3516 * 4,8812 7,69 5 99,97 3515 * 3,60

10 TONGE70 220 17 16 5,88 10 100,00 3520 * 0,9816 5,88 10 100,00 3520 * 4,6116 5,88 10 100,00 3520 * 1,05

11 TONGE70 207 18 17 5,56 5 99,89 3519 * 2,0817 5,56 6 99,91 3519 * 1,1517 5,56 5 99,89 3518 * 6,63

12 WARNECKE 62 27 26 3,70 30 97,89 1610 * 3,6326 3,70 21 97,33 1605 * 11,4826 3,70 18 97,15 1610 * 1,43

13 WARNECKE 58 29 28 3,45 21 96,61 1621 * 4,9729 0,00 27 93,64 1660 3616,2428 3,45 28 97,04 1621 * 0,72

14 WARNECKE 54 31 30 3,23 23 96,98 1606 * 2,1930 3,23 30 97,41 1618 * 662,6930 3,23 26 97,16 1611 * 5,73

15 WEE-MAG 56 30 28 6,67 42 98,28 1541 * 3,5228 6,67 39 98,09 1542 * 1,3328 6,67 43 98,34 1542 * 0,79

16 WEE-MAG 52 31 30 3,23 41 98,72 1552 * 2,5330 3,23 41 98,72 1552 * 4,1830 3,23 44 98,91 1544 * 23,55

17 WEE-MAG 54 31 29 6,45 43 98,47 1555 * 0,92

Continua na próxima página. . .

Page 57: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 57

Tabela 5.3 – . . . continuação da página anterior.

Grafo c m∗ m∗A R% FA LE LT OPT CPU29 6,45 39 98,21 1556 * 4,6229 6,45 42 98,40 1542 * 4,17

18 WEE-MAG 49 32 31 3,13 20 100,00 1519 * 1249,7132 0,00 0 95,60 1550 3602,7931 3,13 18 99,87 1519 * 1817,82

19 WEE-MAG 50 32 31 3,13 49 99,87 1548 * 9,2431 3,13 47 99,74 1548 * 21,2631 3,13 38 99,16 1543 * 6,60

20 WEE-MAG 46 34 33 2,94 17 99,87 1516 * 284,5334 0,00 0 95,84 1544 3604,0534 0,00 0 95,84 1544 3606,50

21 WEE-MAG 45 38 35 7,89 53 98,54 1556 * 3,1935 7,89 50 98,35 1551 * 14,8135 7,89 55 98,67 1558 * 10,05

22 WEE-MAG 43 50 37 26,00 46 97,11 1570 * 1,0537 26,00 46 97,11 1574 3600,0037 26,00 55 97,67 1570 * 0,74

23 WEE-MAG 42 55 39 29,09 43 94,14 1630 3604,6938 30,91 52 97,18 1576 * 41,4938 30,91 52 97,18 1588 3620,69

24 WEE-MAG 41 59 42 28,81 45 89,66 1703 * 0,8641 30,51 51 92,21 1662 * 1,5743 27,12 43 87,46 1744 * 0,61

25 WEE-MAG 35 60 45 25,00 50 98,35 1564 * 2,3946 23,33 51 96,27 1597 * 0,6246 23,33 51 96,27 1597 3614,10

26 WEE-MAG 36 60 45 25,00 51 95,68 1605 3609,2145 25,00 44 95,25 1605 3606,3245 25,00 48 95,49 1606 3608,15

27 WEE-MAG 37 60 43 28,33 45 97,05 1576 3611,4344 26,67 46 94,90 1612 * 1,0743 28,33 49 97,30 1575 * 10,57

28 WEE-MAG 38 60 42 30,00 51 97,12 1579 * 9,7543 28,33 45 94,49 1617 3606,9542 30,00 50 97,06 1580 3609,36

29 WEE-MAG 39 60 42 30,00 50 94,57 1621 * 21,5744 26,67 45 89,98 1699 * 0,5842 30,00 54 94,81 1621 * 1,08

30 WEE-MAG 40 60 44 26,67 45 87,73 1741 * 0,9342 30,00 50 92,20 1662 * 3608,0644 26,67 46 87,78 1741 * 0,62

31 WEE-MAG 32 61 54 11,48 39 89,00 1717 3612,8352 14,75 45 92,79 1653 * 3614,9253 13,11 35 90,45 1685 * 3613,18

32 WEE-MAG 33 61 51 16,39 34 91,09 1672 * 3617,2549 19,67 47 95,61 1606 3611,4750 18,03 46 93,64 1639 * 3613,82

Continua na próxima página. . .

Page 58: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 58

Tabela 5.3 – . . . continuação da página anterior.

Grafo c m∗ m∗A R% FA LE LT OPT CPU

33 WEE-MAG 34 61 46 24,59 47 98,85 1557 * 1,3048 21,31 44 94,55 1620 * 3604,7247 22,95 47 96,75 1586 3609,74

34 WEE-MAG 30 62 55 11,29 43 93,45 1642 * 3612,6855 11,29 39 93,21 1642 * 105,6657 8,06 44 90,23 1701 * 3611,06

35 WEE-MAG 31 62 54 12,90 34 91,58 1665 * 3610,7054 12,90 42 92,06 1664 * 3616,2357 8,06 29 86,47 1757 * 3611,64

36 WEE-MAG 28 63 62 1,59 49 89,17 1729 3616,4062 1,59 45 88,94 1716 3620,9762 1,59 32 88,19 1729 3614,77

37 WEE-MAG 29 63 59 6,35 38 89,83 1703 * 1193,0759 6,35 35 89,66 1704 3618,6759 6,35 39 89,06 1708 3616,57

O processo de divisão de tarefas permite que o mesmo esforço necessário para aexecução de uma determinada tarefa possa ser dividido entre uma ou mais estações. Dessemodo a quantidade de estações necessárias para processar todas tarefas pode ser reduzida,mesmo que um custo adicional de tempo significativo seja atribuído como penalidadepelas divisões de tarefas. Os resultados com o Método-A, dispostos nas Tabelas 5.2 e5.3, mostram que, em pelo menos um dos testes, as soluções das instâncias apresentamredução na quantidade de estações necessárias para processar todas as tarefas em relaçãoàs suas respectivas versões SALBP-1. A solução de algumas instâncias, como as 36 e 37,apresentam uma eficiência de linha (LE) abaixo dos 90%. Essas instâncias ainda possuempotencial para uma maior redução no número de estações, o que pode vir a ser alcançadocaso suas tarefas sejam dividas em partes ainda menores ou se um maior número de suastarefas sejam divididas.

A utilização do Método-A de divisão de tarefas no conjunto de 269 instânciasSALBP-1 não resultou em melhores soluções para todas as instâncias. De fato, a divisãode tarefa obteve sucesso na redução do número de estações em apenas 37 instâncias. Poroutro lado, em 31 instâncias foi atingido o tempo limite imposto para a execução dosmétodos testados (CPLEX e BB&R-TD), antes que uma solução ótima fosse encontrada.A divisão de tarefas pode até resultar em redução no número de estações para qualqueruma dessas 31 instâncias, porém, essas instâncias apresentam uma alta eficiência de linha,como descrito na Tabela D.1. Assim, é improvável que a maioria dessas instâncias possuauma solução melhor do que suas versões SALBP-1.

A Tabela D.2 ilustra os resultados obtidos para 201 instâncias TDALBP, as quais,em suas soluções ótimas, possuem o mesmo número de estações que suas respectivas

Page 59: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 59

versões SALBP-1. Podemos observar na Tabela D.2 que muitas instâncias apresentamFA = 0, para esses casos, a solução ótima encontrada é também uma solução ótimapara o SALBP-1, pois não há divisão de tarefas. As instâncias com FA > 0, possuemtambém uma outra solução ótima com FA = 0, que é uma solução ótima para o SALBP-1.Essas soluções não são apresentadas devido ao fato de que os algoritmos utilizados pararesolver instâncias do TDALBP não utilizam um tratamento multi-objetivo, minimizando,além do número de estações, o tempo de penalidade (FA). Desta forma, a primeirasolução encontrada para um determinado número de estações, independente do tempode penalidade (FA), é a solução final para aquele número de estações.

Analisando as 201 instâncias da Tabela D.2, observamos alguns fatores quepodem contribuir para que a divisão de tarefas não influencie na melhora dos resultados.O principal fator é que suas soluções SALBP-1 já possuem uma eficiência de linha (LE)bem elevada. Todas as instâncias já estão com com LE acima de 87%, com a grandemaioria apresentando LE acima de 95%. Sendo assim, o tempo ocioso nas estaçõesdessas soluções é demasiadamente pequeno e, mesmo com a divisão de tarefas, não épossível obter uma redução na quantidade de estações necessárias para processar todasas tarefas. Outro fator é que, para uma pequena parte dessas instâncias, o tempo de ciclo(c) é bastante reduzido, de forma que o custo adicional de tempo atribuído às divisões detarefas faz com que a divisão seja mais onerosa que processar a tarefa original.

Podemos observar na Tabela 5.2 que o CPLEX encontrou, dentro do tempolimite, a solução ótima para 60 dos 111 casos TDALBP. Pela Tabela 5.3, podemosobservar que o BB&R-TD foi um pouco mais eficiente e encontrou a solução ótima,dentro do tempo limite, em 78 dos casos.

A forma como as tarefas são divididas influencia diretamente na eficiênciada solução da instância, o que pode ser observado nas Tabelas 5.2 e 5.3, onde asdiferentes versões de uma mesma instância, por exemplo as instâncias 4, 7 ou 29,apresentam soluções ótimas diferentes. Uma mesma instância do TDALBP pode termúltiplas soluções ótimas, com diferentes penalidades de tempo (FA), eficiência de linha(LE) e tempo de linha (LT). As soluções das instâncias descritas nas Tabelas 5.2 e 5.3 nãoforam otimizadas em suas penalidades de tempo (FA), ou seja, para algumas instânciaspodem existir outras soluções ótimas com uma menor penalidade de tempo (FA).

Concluímos, através dos resultados computacionais obtidos, que a divisão detarefas pode trazer melhorias notáveis para as linhas de produção. O TDALBP podeapresentar reduções significativas no número de estações necessárias para processar todasas tarefas de uma linha de produção. Como pode ser visto nas Tabelas 5.2 e 5.3, onde, asolução de algumas instâncias TDALBP, por exemplo 29, 30 e 31, utilizam até 19 estaçõesa menos do que suas respectivas versões SALBP-1.

Page 60: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 60

5.2.3 Teste de penalidade

A divisão de tarefas induz um tempo adicional que é imposto a cada subdivisãoda tarefa como uma penalidade pela divisão. Um pequeno grupo de instâncias geradaspelo Método-M foi utilizado para avaliar o impacto da penalidade sobre a redução nonúmero de estações de uma instância TDALBP. Essas instâncias foram selecionadasdevido à redução significativa no número de estações em relação às suas versões SALBP-1.

O teste é composto por várias iterações. A primeira iteração inicia resolvendouma instância TDALBP, na qual o custo adicional de penalidade para cada divisão detarefa é igual a 1. A solução gerada pela primeira iteração é então utilizada para geraruma segunda instância de teste. Onde, para cada estação k pertencente à solução, talque (c− t(Sk)) > 0 e k processe alguma subtarefa, (c− t(Sk)) + 1 é adicionado comopenalidade de tempo ao tempo de processamento da primeira subtarefa pertencente a k. Ainstância gerada com os tempos adicionais de penalidade é resolvida na segunda iteração.Esse processo é repetido até que o número de estações requerido pela instância de teste,para processar todas as tarefas, seja igual ou superior ao da instância SALBP-1. A Tabela5.4 descreve os resultados para as penúltimas instâncias de teste.

Tabela 5.4: Resultados computacionais - Teste de penalidade.

Grafo c n m∗ m∗A FA LTA

GUNTHER 41 35 14 13 37 533WEE-MAG 45 75 38 37 105 1664WEE-MAG 43 75 50 47 196 2020WEE-MAG 42 75 55 52 233 2171WEE-MAG 41 75 59 49 232 2007WEE-MAG 35 75 60 50 108 1750WEE-MAG 36 75 60 56 157 2004WEE-MAG 37 75 60 56 193 2072WEE-MAG 38 75 60 53 183 1998

Avaliando-se o tempo total de penalidade (FA) e o tempo de linha (LTA) listadosna Tabela 5.4, pode-se notar que é possível ter um tempo total de penalidade de aproxima-damente 10% do tempo de linha e ainda assim obter resultados superiores àqueles obtidoscom a solução das instâncias equivalentes do SALBP-1.

Para as instâncias que possuem reduções no número de estações, quanto maior oseu tempo de ciclo, maior será a lacuna para ser utilizada como penalidade de tempo. Porexemplo, a instância baseada no grafo GUNTHER mostrada na Tabela 5.4 teve um tempode penalidade FA de 37 unidades. A sua solução utilizando 1 unidade de penalidade paracada divisão, a qual é apresentada na Tabela 5.1, possuí um tempo de penalidade de 9unidades. Na solução mostrada na Tabela 5.4 foi imposta uma penalidade de 28 unidades

Page 61: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

5.2 Instâncias do TDALBP 61

a mais do que na solução mostrada na Tabela 5.1, mas ainda com o mesmo número deestações.

Page 62: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

CAPÍTULO 6Principais contribuições e propostas depesquisas

6.1 Principais contribuições

Após um extensivo estudo sobre os problemas relacionados ao ALBP, perce-bemos que, muitos problemas de balanceamento de linha de produção apresentados naliteratura, são derivados do relaxamento de um dos pressupostos P1–P11, descritos porBaybars [2]. Dentre as variantes do SALBP-1 estudadas, identificamos que, relaxar opressuposto P2, permitindo que uma tarefa possa ser dividida entre duas ou mais estações,leva a um novo problema de balanceamento de linha de produção ainda não definido naliteratura, o qual denotamos por TDALBP (Task Division Assembly Line Balancing Pro-

blem).O conceito de divisão de tarefas foi discutido de maneira qualitativa por alguns

autores, como Chase e Jacobs [10]. Mas, até onde sabemos, além de uma breve introduçãoao problema por Grzechca e Foulds [13], a questão não havia sido discutida na literaturaaberta de forma quantitativa. Para cobrir essa lacuna na literatura, o problema foi discutidoe definido formalmente no Capítulo 3 e introduzido, na Seção 3.3, um modelo deprogramação linear inteira binária para o mesmo.

Até onde sabemos, o TDALBP é um problema novo na literatura e não possuíquaisquer métodos de solução ou instâncias de teste para o mesmo. Para apresentarresultados computacionais referentes ao TDALBP, propomos o uso do sistema CPLEX[16] e o algoritmo BB&R-TD, apresentado na Seção 4.2, o qual é baseado no algoritmoBB&R, descrito no Capítulo 4. Neste trabalho propomos ainda dois métodos diferentespara construir instâncias de teste. Para os testes computacionais apresentados no Capítulo5 foram gerados dois conjuntos de 269 instâncias TDALBP a partir de instâncias clássicasdo SALBP na literatura. As instâncias do SALBP podem ser acessadas em [1].

No Capítulo 5 apresentamos os resultados obtidos pelos métodos de soluçãopropostos, CPLEX e BB&R, sobre as instâncias geradas. Os resultados obtidos foram

Page 63: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

6.2 Propostas de pesquisas 63

promissores para ambos os conjuntos de instâncias geradas e demonstram que a divisãode tarefa, mesmo com custo adicional de penalidade, pode melhorar as linhas de produção.

Durante o desenvolvimento desse trabalho, um artigo sobre o TDALBP [37] foiproduzido e apresentado no XLVIII Simpósio Brasileiro de Pesquisa Operacional.

6.2 Propostas de pesquisas

O TDALBP é um problema novo na literatura e muitos métodos ainda podem serdiscutidos para diminuir a lacuna entre os problemas reais e as pesquisas realizadas sobreo TDALBP. Neste trabalho, as instâncias de teste foram construídas considerando que adivisão de tarefas é realizada de modo predeterminado. Mas, no mundo real, alguns casospodem permitir que a divisão de tarefas seja realizada de modo não determinado. Assim,um algoritmo para a divisão ótima das tarefas pode ser proposto para o TDALBP.

O potencial da divisão de tarefa está intrinsecamente ligado ao método de divisãode tarefa. A forma ótima em que as tarefas devem ser divididas pode ser considerada teo-ricamente, porém, na pratica, a forma como as tarefas podem ser dividas são particularespara cada linha e dependem diretamente de restrições da indústria. Nesse trabalho utili-zamos dois métodos simples para geração de instâncias TDALBP, baseado na medianae outro aleatório. Para diminuir a distância entre a pesquisa e as aplicações reais, novosmétodos que se aproximam de instâncias reais podem ser propostos.

Uma solução multiobjetiva pode ser proposta para o TDALBP, onde, além daminimização do número estações, também é considerado a minimização da penalidadetotal.

No mundo real, a solução ótima de uma instância TDALBP pode ser de sumaimportância para uma indústria. Nesse trabalho, o sistema CPLEX [16] e uma adaptaçãodo algoritmo BB&R (Capítulo 4) foram utilizados como métodos exatos para resolver oTDALBP. No entanto, algoritmos específicos para o TDALBP podem explorar a divisãode tarefas para solucionar o problema de maneira exata. Além disso, o paralelismo tam-bém pode explorar a divisão de tarefas para otimizar e reduzir o tempo de precessamento.

Uma instância TDALBP demora consideravelmente mais tempo para ser soluci-onada do que uma instância SALBP-1. Desta forma, é interessante que métodos aproxi-mativos, heurísticos ou meta-heurísticos, sejam propostos para solucionar o TDALBP.

Page 64: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Referências Bibliográficas

[1] ARMIN SCHOLL. Benchmark Data Sets by Scholl.

http://assembly-line-balancing.mansci.de/salbp/

benchmark-data-sets-1993/, 1993. [Online; accessed 04-May-2017].

[2] BAYBARS, I. A survey of exact algorithms for the simple assembly line balancing

problem. Management Science, 32(8):909–932, 1986.

[3] BECKER, C.; SCHOLL, A. A survey on problems and methods in generalized

assembly line balancing. European Journal of Operational Research, 168(3):694–

715, 2006.

[4] BETANCOURT, L. C. Asalbp: the alternative subgraphs assembly line balan-

cing problem. formalization and resolution procedures. Technical University of

Catalonia-Institute of Industrial and Control Engineering. Doctoral Program: Advan-

ced Automation and Robotics.-2007, 2007.

[5] BOWMAN, E. H. Assembly-line balancing by linear programming. Operations

Research, 8(3):385–389, 1960.

[6] BRYTON, B. Balancing of a continuous production line. Master’s thesis, Northwes-

tern University, Evanston, IL, USA, 1954.

[7] CAPACHO, L.; PASTOR, R.; DOLGUI, A.; GUSCHINSKAYA, O. An evaluation of

constructive heuristic methods for solving the alternative subgraphs assembly

line balancing problem. Journal of Heuristics, 15(2):109–132, 2009.

[8] CAPACHO, L.; PASTOR, R. Asalbp: The alternative subgraphs assembly line

balancing problem. Technical Report IOC-DT-P 2005-5, Universitat Politècnica de

Catalunya, 2005.

[9] CAPACHO, L.; PASTOR, R. The asalb problem with processing alternatives

involving different tasks: Definition, formalization and resolution. In: Gavrilova,

M.; Gervasi, O.; Kumar, V.; Tan, C.; Taniar, D.; Laganá, A.; Mun, Y.; Choo, H., editors,

Computational Science and Its Applications - ICCSA 2006, volume 3982 de Lecture

Notes in Computer Science, p. 554–563. Springer Berlin Heidelberg, 2006.

Page 65: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Referências Bibliográficas 65

[10] CHASE, R. B.; JACOBS, F. R. Operations and Supply Chain Management.

McGraw-Hill/Irwin, Boston, 13th edition, 2013. Chapter 7A.

[11] FLESZAR, K.; HINDI, K. S. An enumerative heuristic and reduction methods for

the assembly line balancing problem. European Journal of Operational Research,

145(3):606–620, 2003.

[12] GHOSH, S.; GAGNON, R. J. A comprehensive literature review and analysis of

the design, balancing and scheduling of assembly systems. The International

Journal of Production Research, 27(4):637–670, 1989.

[13] GRZECHCA, W.; FOULDS, L. R. The Assembly Line Balancing Problem with Task

Splitting: A Case Study. IFAC-PapersOnLine, 48(3):2002–2008, 2015. 15th {IFAC}

Symposium on Information Control Problems in Manufacturing, INCOM 2015.

[14] HOFFMANN, T. R. Assembly line balancing with a precedence matrix. Manage-

ment Science, 9(4):551–562, 1963.

[15] HOFFMANN, T. R. Eureka: A hybrid system for assembly line balancing. Mana-

gement Science, 38(1):39–47, 1992.

[16] IBM ILOG. IBM ILOG CPLEX Optimizer. http://www-01.ibm.com/software/

integration/optimization/cplex-optimizer/, 2016. [Online; accessed 04-

May-2017].

[17] JACKSON, J. R. A computing procedure for a line balancing problem. Manage-

ment Science, 2(3):261–271, 1956.

[18] JOHNSON, R. V. Optimally balancing large assembly lines with “fable”. Mana-

gement science, 34(2):240–253, 1988.

[19] JOHNSON, R. V. Note: microcomputer performance of “fable” on hoffmann’s

data sets. Management Science, 39(10):1190–1192, 1993.

[20] KAO, E. P.; QUEYRANNE, M. On dynamic programming methods for assembly

line balancing. Operations Research, 30(2):375–390, 1982.

[21] KAO, G. K.; SEWELL, E. C.; JACOBSON, S. H. A branch, bound, and remember

algorithm for the 1|ri|∑ ti scheduling problem. Journal of Scheduling, 12(2):163,

2008.

[22] KORF, R. E. An improved algorithm for optimal bin packing. In: IJCAI, volume 3,

p. 1252–1258, 2003.

Page 66: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Referências Bibliográficas 66

[23] LAPIERRE, S. D.; RUIZ, A.; SORIANO, P. Balancing assembly lines with tabu

search. European Journal of Operational Research, 168(3):826–837, 2006.

[24] MANTOUX, P. A revolução industrial no século xviii. São Paulo: Unesp, sd, 1988.

[25] MARX, K.; ENGELS, F. A ideologia alemã: crítica da mais recente filosofia alemã

em seus representantes feuerbach, b. Bauer e Stirner, e do socialismo alemão em

seus diferentes profetas (1845-1846). São Paulo: Boitempo, 2007.

[26] NOURIE, F. J.; VENTA, E. R. Finding optimal line balances with optpack.

Operations Research Letters, 10(3):165–171, 1991.

[27] PATTERSON, J. H.; ALBRACHT, J. J. Assembly line balancing: Zero-one program-

ming with Fibonacci search. Operations Research, 23(1):166–172, 1975.

[28] RAJ, A. Maruti to increase dependence on robots. http:

//www.livemint.com/Industry/7IYFzsalBxBcWXPfZSoN7H/

Maruti-to-increase-dependence-on-robots.html, 2012. [Online; acces-

sed 04-May-2017].

[29] SALVESON, M. E. The assembly line balancing problem. The Journal of Industrial

Engineering, 6(3):18–25, 1955.

[30] SCHOLL, A.; BOYSEN, N.; FLIEDNER, M. Optimally solving the alternative

subgraphs assembly line balancing problem. Annals of Operations Research,

172(1):243–258, 2009.

[31] SCHOLL, A. Balancing and Sequencing of Assembly Lines. Contributions to

Management Science. Physica-Verlag HD, Heidelberg, 2 edition, 1999.

[32] SCHOLL, A.; BECKER, C. State-of-the-art exact and heuristic solutions procedu-

res for simple assembly line balancing. European Journal of Operational Rese-

arch, 168(1):666–693, 2006.

[33] SCHOLL, A.; BOYSEN, N.; FLIEDNER, M.; KLEIN, R. Assembly line ba-

lancing – homepage for assembly line optimization research. www.

assembly-line-balancing.de, 2016. [Online; accessed 21-April-2016].

[34] SCHOLL, A.; KLEIN, R. Salome: A bidirectional branch-and-bound procedure for

assembly line balancing. INFORMS Journal on Computing, 9(4):319–334, 1997.

[35] SCHOLL, A.; KLEIN, R. Balancing assembly lines effectively – a computational

comparison. European Journal of Operational Research, 114(1):50–58, 1999.

Page 67: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Referências Bibliográficas 67

[36] SEWELL, E. C.; JACOBSON, S. H. A branch, bound, and remember algorithm for

the simple assembly line balancing problem. INFORMS Journal on Computing,

24(3):433–442, 2012.

[37] SILVA, C. A. X.; FOULDS, L. R.; LONGO, H. J. Um modelo matemático para o

problema de balanceamento de linhas de montagem com divisão de tarefas. In:

Anais do XLVIII SBPO, p. 1236–1247, Vitória - ES, 2016.

[38] TALBOT, F. B.; PATTERSON, J. H.; GEHRLEIN, W. V. A comparative evaluation of

heuristic line balancing techniques. Management science, 32(4):430–454, 1986.

[39] THE COLLECTIONS OF THE HENRY FORD. GIFT OF FORD MOTOR COM-

PANY., F. Workers on assembly line at ford motor company rouge

plant, 1932. https://www.thehenryford.org/collections-and-research/

digital-collections/artifact/222652#slide=gs-313279, 1932. [Online; ac-

cessed 04-May-2017].

[40] WHITE, W. W. Comments on a paper by Bowman. Operations Research, 9(2):274–

276, 1961.

[41] WIKIPEDIA. Assembly line. https://en.wikipedia.org/wiki/Assembly_line,

2015. [Online; accessed 19-August-2015].

Page 68: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

APÊNDICE AAbreviações e Acrônimos

ALBP – Assembly Line Balancing Problem,

ASALBP – Alternative Subgraph Assembly Line Balancing Problem,

BB&R – Branch, Bound and Remenber,

BFS – Breadth First Search,

BPA – Bin Packing Algorithm,

CBFS – Cyclic Best-First Search,

GALBP – General Assembly Line Balancing Problem,

LB – Lower Bound,

LBbin – Bin Packing Lower Bound,

LE – Line Efficiency,

LT – Line Time,

MHH – Modified Hoffmann Heuristic,

SALBP – Simple Assembly Line Balancing Problem,

SI – Smoothness Index,

TDALBP – Task Division Assembly Line Balancing Problem, e

UB – Upper Bound.

Page 69: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

APÊNDICE BNotação utilizada

• Índices:

j – para tarefas,

k – para estações, e

q – para subtarefas.

• Parâmetros:

n – Número de tarefas,

m′ – Número máximo de estações requerido,

V – Conjunto de todas as tarefas (|V |= n),

I – Conjunto de tarefas indivisíveis, I ⊂V ,

D – Conjunto de tarefas potencialmente divisíveis, D∩ I =∅e D∪ I =V ,

D j = { j}r j⋃

q=2{ jq} – Conjunto de subtarefas da tarefa j,

t j – Tempo de processamento (sem penalidade de tempo) paraa tarefa j (∀ j = 1, . . . ,n),

f j – Tempo de penalidade para o processamento da tarefa j

(∀ j = 1, . . . ,n),

E j – Primeira estação viável na qual a tarefa j pode ser atri-buída (∀ j = 1, . . . ,n),

Page 70: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Apêndice B 70

L j – Última estação viável na qual a tarefa j pode ser atribuída(∀ j = 1, . . . ,n),

SI j = [E j,L j] – Intervalo de estações no qual a tarefa j pode ser atribuída(∀ j = 1, . . . ,n),

Bk – Conjunto de tarefas que pode ser potencialmente atribuídoà estação k (∀ k = 1, . . . ,m′),

W = {1, . . . ,m} – Conjunto de estações de trabalho onde as tarefas sãoexecutadas,

Sk – Conjunto de tarefas atribuído a estação k,

t(Sk) – Tempo de estação requerido para processar todas as tare-fas atribuídas a cada estação k = 1, . . . ,m,

c – Tempo de ciclo disponível para completar todas as tarefasatribuídas em sequência em cada estação,

G = (V,A, t) – Grafo de precedência que determina a sequência na qualas tarefas devem ser executadas,

Pj = {i ∈V | (i, j) ∈ A} – Conjunto de predecessores diretos de uma tarefa j,

Fj = {i ∈V | ( j, i) ∈ A} – Conjunto de sucessores diretos de uma tarefa j,

P∗j = {i ∈V | i G j} – Conjunto de todos os predecessores de uma tarefa j,

F∗j = {i ∈V | j G i} – Conjunto de todos os sucessores de uma tarefa j,

r j – Número de tempos de processamento no qual a tarefa j

pode ser processada, ∀ j ∈V . (r j = 1∀ j ∈ I),

tqj – qth tempo de processamento (positivo, inteiro) disponível

para a tarefa j, ∀ j ∈V,q = 1, . . . ,r j,

Tj = 〈tqj |q = 1, . . . ,r j〉 – sequência (não crescente) dos tempos de processamentos

em que a tarefa j ∈ V pode ser processada, onde t1j = t j,

o tempo de processamento original da tarefa j, e t pj ≥ tq

j

sempre que p < q, para 1 ≤ p,q ≤ r j (para toda tarefaj ∈ I, Tj contém apenas o tempo t1

j de processamento datarefa original),

Page 71: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Apêndice B 71

f qj – a penalidade de tempo (estritamente positiva) caso a tarefa

j seja processada por tqj unidades de tempo, ∀ j ∈ V ,

q = 1, . . . ,r j. ( f 1j é definido como zero para cada tarefa

original j ∀ j ∈V .),

E j =

⌈t j +∑i∈P∗j

ti⌉

c,

L j = m−

⌈t j +∑i∈F∗j

ti⌉

c+1.

• Variáveis de decisão:

xqjk =

1, se a subtarefa q da tarefa j é atribuída à estação k;

0, caso contrário; j = 1, . . . ,n; q = 1, . . . ,r j; ∀ k ∈ SI j.

Page 72: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

APÊNDICE CModelos SALBP-1 e ASALBP

C.1 Modelo SALBP-1 de Patterson e Albracht

Patterson e Albracht [27] apresentaram o modelo inteiro binário (C-2)-(C-6)para o problema de balanceamento de linha de produção (ALBP). Em sua formulação,Patterson e Albracht definem um nó fictício d tal que Pd = { j ∈ V |Fj = ∅}. A funçãoobjetiva do modelo é descrita em (C-2). As variáveis de decisão são definidas como:

x jk =

1, se a tarefa j é atribuída à estação k;

0, caso contrário.(C-1)

Maximizarm′

∑k=Ed

(m′+1− k)·xdk, (C-2)

sujeito a

L j

∑k=E j

x jk = 1, ( j = 1, . . . ,n); (C-3)

L j

∑k=E j

k·x jk−L′j

∑k′=E j′

k′·x j′k′ ≤ 0, onde j ≤ j′ e L j ≥ E ′j; (C-4)

∑j∈Wk

t j·x jk ≤ c, (k = 1, . . . ,M); (C-5)

L j

∑k=E j

k·x jk−L j′

∑k′=E j′

k′·x j′k′ ≥ 1. (C-6)

A restrição de ocorrência é descrita em (C-3) e garante que cada tarefa seja atribuída auma única estação. A restrição de precedência é descrita em (C-4) e garante que se umatarefa j precede uma tarefa j′, então a estação na qual a tarefa j foi atribuída precede aestação em que j′ é atribuída. A restrição de tempo de ciclo é descrita em (C-5) e garante

Page 73: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Apêndice C 73

que o somatório do tempo das tarefas em cada uma das estações seja menor ou igual aotempo de ciclo. A restrição de zoneamento é descrita em (C-6), e é uma restrição opcional,para limitar que diferentes tarefas sejam atribuídas a uma mesma estação.

C.2 Modelos ASALBP

C.2.1 Capacho e Pastor

Parâmetros

mmax – limite superior do número de estações;

mmin – limite inferior do número de estações;

nr – número de rotas alternativas;

tir – tempo de processamento da tarefa i na rota r;

Cmax – limite superior no tempo de ciclo;

PDir – conjunto de predecessores diretos da tarefa i, se a tarefa i for processadapela rota r;

Eir,Lir – primeira e ultima estação na qual a tarefa i pode ser processada se elafor processada na rota r

Tkr – conjunto de tarefas potencialmente atribuível a estação k {i| j ∈[Eir,Lir]}, se as tarefas forem processadas através da rota r.

Variáveis de decisão

xikr – 1 se a tarefa i for processada na estação k pela rota r;

yk – 1 se alguma tarefa foi atribuída a estação k.

Minimizar z =mmax

∑k=mmin+1

k·yk, (C-7)

sujeito a

nr

∑r=1

Lir

∑k=Eir

xikr = 1, i = 1, . . .,n; (C-8)

Page 74: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Apêndice C 74

nr

∑r=1

∑∀i∈Tkr

tir·xikr−Cmax ≤ 0, k = 1, . . .,mmin; (C-9)

nr

∑r=1

∑∀i∈Tkr

tir·xikr−Cmax·yk ≤ 0, k = mmin +1, . . .,mmax; (C-10)

L jr

∑k=E jr

k·x jkr−Lir

∑k=Eir

k·xikr ≤ 0, r = 1, . . .,nr, i = 1, . . .,n, j ∈ PDir; (C-11)

L1r

∑k=E1r

x1kr−Lir

∑k=Eir

xikr ≤ 0, r = 1, . . .,nr, i = 2, . . .,n; (C-12)

xikr ∈ {0,1}, i = 1, . . .,n, r = 1, . . .,nr, k ∈ [Eir,Lir]; (C-13)

yk ∈ {0,1}, k = mmin +1, . . .,mmax. (C-14)

A função objetivo (C-7) minimiza o número de estações de trabalho. As restri-ções (C-8) garantem que cada tarefa i é atribuída a uma e apenas uma estação de trabalho.As restrições (C-9) e (C-10) garantem que o tempo total de processamento da tarefa atri-buído à estação de trabalho k não excede o limite superior do tempo de ciclo. As restrições(C-11) impõem as condições de precedência. As restrições (C-12) garantem que todas astarefas são atribuídas à mesma rota. E por último, (C-13) e (C-14) definem o domínio dasvariáveis xikr e yk.

C.2.2 Scholl, Boysen e Fliedner

Scholl, Boysen e Fliedner apresentaram um modelo matemático para o ASALBP[30] que possuí um número de variáveis binárias significantemente menor do que omodelo apresentado por Capacho e Pastor [8].

Eles definiram novas notações para simplificar o modelo. O conjunto de tarefasV = {1, · · · ,n} é constituído por 4 subconjuntos de diferentes tipos, definido abaixo. Umanova variável z j é descrita como o índice da estação na qual a tarefa j foi atribuída.

Vr− Conjunto de tarefas reais; (C-15)

Vt− Conjunto de nós terminais; (C-16)

Vs− Conjunto de nós de entrada; (C-17)

Vd− Conjunto de tarefas fictícias de duração 0; (C-18)

z j = ∑k∈SI j

k · x jk, j ∈V. (C-19)

Minimizar m(x,z) = zn, (C-20)

Page 75: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Apêndice C 75

sujeito a

∑k∈SI1

x1k = 1, (C-21)

∑k∈SI j

x jk ≤ 1, ∀ j ∈V −1; (C-22)

∑j∈Bk

t j·x jk ≤ c, k = 1, . . .,m′; (C-23)

z j− ∑k∈SI j

k·x jk = 0, ∀ j ∈V ; (C-24)

zi− z j ≤ 0, ∀i ∈V −Vs, j ∈ Fi|SIi∩SI j 6= []; (C-25)

(zi− z j)− (m′·(1− ∑k∈SI j

x jk))≤ 0, ∀i ∈Vs, j ∈ Fi|SIi∩SI j 6= []; (C-26)

∑k∈SIi

xik− ∑k∈SI j

x jk ≥ 0, ∀ j ∈V −Vt , i ∈ Pj; (C-27)

∑j∈Fi

∑k∈SI j

x jk− ∑k∈SIi

xik = 0, ∀i ∈Vs; (C-28)

∑j∈Pj

∑k∈SIi

xik− ∑k∈SI j

x jk = 0, ∀i ∈Vt ; (C-29)

x jk ∈ {0,1}, j ∈V,k ∈ SI j; (C-30)

z j ≥ 0, j ∈V. (C-31)

A função objetivo se resume a minimizar o índice da estação da ultima tarefa,descrito em (C-20).

A restrição (C-21) garante que o nó de início geral (real, fictício ou mesmo nóde entrada OR) é atribuído exatamente a uma estação. Para as outras tarefas, devidoa (C-27) - (C-28), a restrição (C-22) é suficiente para garantir que as tarefas sejamatribuídos, a no máximo, uma estação. A restrição de tempo de ciclo é dada em (C-23),as variáveis auxiliares são definidas em (C-24). As restrições de precedência (Exceto osarcos disjuntivos emergentes de nós de entrada OR) são representados por (C-25). Emrelação a um arco disjuntivo i ∈Vs, a restrição de precedência (i, j) só deve ser cumpridase o subgrafo g( j) estiver selecionado. Isto é descrito por (C-26), que é ativado apenas sea tarefa j for atribuída a uma estação. A restrição (C-27) garante que uma tarefa j (excetopara os nós-OR terminais) com um predecessor não atribuído não possa ser atribuída auma estação, porque ela não está em uma parte ativa do gráfico atual. A restrição (C-28)indica que exatamente um dos sucessores imediatos (um dos arcos disjuntivos) é escolhidopara cada entrada alcançada nó-OR, e que nenhum é escolhido se a entrada nó-OR nãoestiver em uma parte ativa do gráfico. Da mesma forma, (C-29) impõe que o nó terminalOR é atribuído somente se o subprocesso correspondente estiver ativado, isto é, um dosnós terminando contido no subgrafos é atribuído.

Page 76: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

APÊNDICE DTabelas de resultados

Tabela D.1: Eficiências de linha das soluções ótimas de 31 instân-cias SALBP-1. Nas instâncias TDALBP geradas peloMétodo-A a partir dessas 31 instâncias: (i) a soluçãoótima não foi encontrada e (ii) não foi possível obter,dentro do tempo limite, uma solução melhor do que ada versão SALBP-1.

Grafo c m∗ LE

1 ARC111 11570 13 99,992 BARTHOL2 84 51 98,833 BARTHOL2 85 50 99,624 BARTHOL2 87 49 99,325 LUTZ2 12 44 91,866 LUTZ2 14 37 93,637 SCHOLL 1394 50 99,948 SCHOLL 1422 50 97,979 SCHOLL 1452 48 99,94

10 SCHOLL 1483 47 99,9311 SCHOLL 1515 46 99,9512 SCHOLL 1548 46 97,8213 SCHOLL 1584 44 99,9414 SCHOLL 1620 44 97,7215 SCHOLL 1659 42 99,9716 SCHOLL 1699 42 97,6117 SCHOLL 1742 40 99,9618 SCHOLL 1787 39 99,9519 SCHOLL 1834 38 99,9520 SCHOLL 1883 37 99,9821 SCHOLL 1935 36 99,9922 SCHOLL 1991 35 99,9623 SCHOLL 2049 34 99,9824 SCHOLL 2111 33 99,9925 SCHOLL 2177 32 99,9926 SCHOLL 2247 31 100,0027 SCHOLL 2322 30 99,99

Continua na próxima página. . .

Page 77: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Apêndice D 77

Tabela D.1 – . . . continuação da página anterior.

Grafo c m∗ LE28 SCHOLL 2402 29 100,0029 SCHOLL 2488 28 99,9930 WARNECKE 56 29 95,3231 WEE-MAG 47 32 99,67

Tabela D.2: Resultados para as instâncias do TDALBP geradaspelo Método-A que não obtiveram um resultado me-lhor que suas versões SALBP-1.

Grafo c m∗ m∗A FA LE LT OPT CPU

1 ARC83 3786 21 21 20 95,25 79411 * 0,812 ARC83 3985 20 20 9 95,00 79406 * 2,403 ARC83 4206 19 19 6 94,74 79849 * 1,504 ARC83 4454 18 18 30 94,47 79859 * 1,425 ARC83 4732 17 17 6 94,12 79853 * 0,386 ARC83 5048 16 16 8 93,74 80711 * 3,417 ARC83 5408 15 15 16 93,35 80504 * 12,338 ARC83 5824 14 14 15 92,87 79853 * 0,399 ARC83 5853 14 14 16 92,41 81530 * 0,36

10 ARC83 6309 13 13 19 92,33 81149 * 7,2411 ARC83 6842 12 12 15 92,23 80703 * 0,4012 ARC83 6883 12 12 10 91,67 82205 * 0,5113 ARC83 7571 11 11 12 90,92 80278 * 0,7714 ARC83 8412 10 10 14 90,02 83535 * 9,4315 ARC83 8898 9 9 19 94,56 79946 * 0,2316 ARC83 10816 8 8 17 87,51 86067 * 10,2317 ARC111 5755 27 27 4 96,79 155182 * 5,6718 ARC111 5785 27 27 13 96,30 156092 * 401,7319 ARC111 6016 26 26 8 96,16 156298 * 9,2820 ARC111 6267 25 25 40 96,02 156593 * 8,8521 ARC111 6540 24 24 18 95,83 156739 * 14,7522 ARC111 6837 23 23 25 95,66 157155 * 3,8323 ARC111 7162 22 22 50 95,48 157425 * 5,9224 ARC111 7520 21 21 0 95,24 151827 * 486,4625 ARC111 7916 20 20 36 95,02 158086 * 3,8426 ARC111 8356 19 19 28 94,75 158342 * 4,1727 ARC111 8847 18 18 38 94,47 159075 * 11,8228 ARC111 9400 17 17 30 94,14 159550 * 3,0929 ARC111 10027 16 16 32 93,77 159425 * 9,2030 ARC111 10743 15 15 36 93,35 160974 * 10,9131 ARC111 11378 14 14 33 94,44 159277 * 0,69

Continua na próxima página. . .

Page 78: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Apêndice D 78

Tabela D.2 – . . . continuação da página anterior.

Grafo c m∗ m∗A FA LE LT OPT CPU32 ARC111 17067 9 9 44 97,94 152994 * 0,2933 BARTHOL2 89 48 48 0 99,11 4257 * 0,0034 BARTHOL2 91 47 47 0 98,99 4268 * 0,0035 BARTHOL2 93 46 46 0 98,97 4277 * 0,0036 BARTHOL2 95 45 45 0 99,04 4250 * 0,0037 BARTHOL2 97 44 44 0 99,20 4242 * 0,0038 BARTHOL2 99 43 43 0 99,46 4256 * 0,0139 BARTHOL2 101 42 42 7 99,98 4242 * 335,3740 BARTHOL2 104 41 41 0 99,30 4256 * 0,0041 BARTHOL2 106 40 40 0 99,86 4239 * 0,0042 BARTHOL2 109 39 39 0 99,60 4234 * 0,0043 BARTHOL2 112 38 38 0 99,48 4237 * 0,0044 BARTHOL2 115 37 37 0 99,51 4235 * 0,0045 BARTHOL2 118 36 36 0 99,67 4245 * 0,0046 BARTHOL2 121 35 35 0 99,98 4235 * 154,0647 BARTHOL2 125 34 34 0 99,62 4241 * 0,0048 BARTHOL2 129 33 33 0 99,46 4249 * 0,0049 BARTHOL2 133 32 32 0 99,48 4249 * 0,0150 BARTHOL2 137 31 31 0 99,69 4241 * 0,0051 BARTHOL2 142 30 30 0 99,39 4260 * 0,0052 BARTHOL2 146 29 29 0 100,00 4234 * 0,0053 BARTHOL2 152 28 28 0 99,48 4237 * 0,0154 BARTHOL2 157 27 27 0 99,88 4239 * 0,0055 BARTHOL2 163 26 26 0 99,91 4237 * 0,0056 BARTHOL2 170 25 25 0 99,62 4240 * 0,0057 BARTHOLD 403 14 14 5 99,95 5642 * 9,1258 BARTHOLD 434 13 13 0 99,86 5637 * 0,0059 BARTHOLD 470 12 12 3 99,95 5639 * 77,2560 BARTHOLD 513 11 11 4 99,91 5643 * 11,3461 BARTHOLD 564 10 10 3 99,95 5639 * 12,6062 BARTHOLD 626 9 9 0 100,00 5634 * 100,7363 BARTHOLD 705 8 8 2 99,93 5639 * 7,1764 BARTHOLD 805 7 7 0 99,98 5635 * 4,1265 BUXEY 27 13 13 9 94,87 350 * 0,1066 BUXEY 30 12 12 0 90,00 357 * 0,1867 BUXEY 33 11 11 6 90,91 357 * 0,0668 BUXEY 36 10 10 4 91,11 358 * 0,0769 BUXEY 41 8 8 2 99,39 328 * 0,1570 BUXEY 47 7 7 0 98,48 328 * 0,3371 BUXEY 54 7 7 8 87,83 362 * 0,1172 GUNTHER 44 12 12 7 92,80 528 * 0,7073 GUNTHER 54 9 9 0 99,38 485 * 0,2574 GUNTHER 61 9 9 9 89,62 530 * 0,17

Continua na próxima página. . .

Page 79: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Apêndice D 79

Tabela D.2 – . . . continuação da página anterior.

Grafo c m∗ m∗A FA LE LT OPT CPU75 GUNTHER 69 8 8 5 88,41 530 * 0,1076 GUNTHER 81 7 7 2 85,54 543 * 0,1277 HAHN 2004 8 8 6 87,52 15975 * 0,0578 HAHN 2338 7 7 0 85,70 15113 * 0,5979 HAHN 2806 6 6 0 83,31 15115 * 0,5980 HAHN 3507 5 5 0 79,99 15855 * 0,5881 HAHN 4676 4 4 0 74,99 15113 * 0,6682 HESKIA 138 8 8 4 93,12 1095 * 0,0383 HESKIA 205 5 5 0 99,90 1025 * 0,1584 HESKIA 216 5 5 2 95,00 1076 * 0,0285 HESKIA 256 4 4 0 100,00 1024 * 0,0786 HESKIA 324 4 4 10 79,78 1125 * 0,0287 HESKIA 342 3 3 2 100,00 1026 * 0,0188 JACKSON 7 8 8 0 82,14 53 * 0,0489 JACKSON 9 6 6 0 85,19 54 * 0,0290 JACKSON 10 5 5 2 96,00 49 * 0,0191 JACKSON 13 4 4 0 88,46 51 * 0,0192 JACKSON 14 4 4 0 82,14 56 * 0,0193 JACKSON 21 3 3 2 76,19 63 * 0,0194 JAESCHKE 6 8 8 0 77,08 48 * 0,0195 JAESCHKE 8 6 6 0 77,08 46 * 0,0196 JAESCHKE 10 4 4 0 92,50 40 * 0,0197 JAESCHKE 18 3 3 0 68,52 42 * 0,0198 KILBRID 56 10 10 2 98,93 558 * 0,5799 KILBRID 57 10 10 2 97,19 569 * 0,38

100 KILBRID 62 9 9 0 98,92 558 * 0,45101 KILBRID 69 8 8 0 100,00 552 * 1,01102 KILBRID 79 7 7 0 99,82 552 * 0,62103 KILBRID 92 6 6 0 100,00 552 * 0,35104 KILBRID 110 6 6 7 84,70 642 * 0,06105 KILBRID 111 5 5 0 99,46 555 * 0,23106 KILBRID 138 4 4 0 100,00 552 * 0,24107 KILBRID 184 3 3 0 100,00 552 * 0,08108 LUTZ1 1414 11 11 3 90,93 15545 * 0,12109 LUTZ1 1572 10 10 11 90,02 15620 * 0,11110 LUTZ1 1768 9 9 8 88,91 15747 * 0,11111 LUTZ1 2020 8 8 2 87,51 15876 * 0,07112 LUTZ1 2357 7 7 3 85,72 15762 * 0,08113 LUTZ1 2828 6 6 2 83,35 15876 * 0,08114 LUTZ2 13 40 40 27 98,46 516 * 1,68115 LUTZ2 15 34 34 16 98,24 504 * 40,00116 LUTZ2 16 31 31 0 97,78 496 * 3,86117 LUTZ2 17 29 29 2 98,78 493 * 367,73

Continua na próxima página. . .

Page 80: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Apêndice D 80

Tabela D.2 – . . . continuação da página anterior.

Grafo c m∗ m∗A FA LE LT OPT CPU118 LUTZ2 18 28 28 4 97,02 503 * 373,30119 LUTZ2 19 26 26 0 98,18 492 * 8,43120 LUTZ2 20 25 25 2 97,40 497 * 30,51121 LUTZ2 21 24 24 6 97,42 500 * 3,24122 LUTZ3 75 23 23 10 95,88 1721 * 1,67123 LUTZ3 79 22 22 5 94,88 1730 * 48,19124 LUTZ3 83 21 21 18 95,35 1731 * 1,75125 LUTZ3 87 20 20 8 94,94 1724 * 1,78126 LUTZ3 92 19 19 6 94,39 1744 * 78,77127 LUTZ3 97 18 18 4 94,39 1746 * 56,45128 LUTZ3 103 17 17 11 94,52 1745 * 0,31129 LUTZ3 110 15 15 3 99,82 1650 * 3,91130 LUTZ3 118 14 14 0 99,52 1651 * 42,92131 LUTZ3 127 14 14 3 92,63 1772 * 5,46132 LUTZ3 137 13 13 11 92,93 1741 * 0,61133 MANSOOR 48 4 4 2 97,40 188 * 0,00134 MANSOOR 62 3 3 0 99,46 186 * 0,00135 MANSOOR 94 2 2 0 98,40 186 * 0,00136 MERTENS 6 6 6 2 86,11 36 * 0,02137 MERTENS 7 5 5 0 82,86 34 * 0,01138 MERTENS 10 3 3 0 96,67 30 * 0,00139 MERTENS 15 2 2 0 96,67 30 * 0,01140 MERTENS 18 2 2 0 80,56 33 * 0,00141 MITCHELL 14 8 8 3 96,43 111 * 0,01142 MITCHELL 15 8 8 5 91,67 120 * 0,03143 MITCHELL 21 5 5 0 100,00 105 * 0,02144 MITCHELL 26 5 5 2 82,31 130 * 0,01145 MITCHELL 35 3 3 0 100,00 105 * 0,01146 MITCHELL 39 3 3 0 89,74 114 * 0,01147 MUKHERJE 176 25 25 46 96,68 4380 * 0,78148 MUKHERJE 183 24 24 12 96,08 4337 * 1,61149 MUKHERJE 192 23 23 0 95,29 4381 * 2,14150 MUKHERJE 201 22 22 17 95,55 4377 * 2,80151 MUKHERJE 211 21 21 6 95,10 4351 * 1,59152 MUKHERJE 222 20 20 11 95,02 4321 * 2,12153 MUKHERJE 234 19 19 35 95,43 4430 * 0,90154 MUKHERJE 248 18 18 39 95,14 4461 * 0,42155 MUKHERJE 263 17 17 34 94,88 4415 * 0,48156 MUKHERJE 281 16 16 37 94,42 4455 * 0,38157 MUKHERJE 301 15 15 38 94,04 4510 * 0,42158 MUKHERJE 324 14 14 45 93,76 4508 * 0,37159 MUKHERJE 351 13 13 53 93,38 4517 * 0,42160 ROSZIEG 14 10 10 0 89,29 139 * 0,04

Continua na próxima página. . .

Page 81: A divisão de tarefas no balanceamento de carga em linhas ... · O conceito de produção em linha teve seu início na indústria automotiva, onde foi introduzido pela primeira vez

Apêndice D 81

Tabela D.2 – . . . continuação da página anterior.

Grafo c m∗ m∗A FA LE LT OPT CPU161 ROSZIEG 16 8 8 0 97,66 128 * 0,06162 ROSZIEG 18 8 8 4 89,58 139 * 0,05163 ROSZIEG 21 6 6 0 99,21 126 * 0,01164 ROSZIEG 25 6 6 5 86,67 148 * 0,04165 ROSZIEG 32 4 4 2 99,22 127 * 0,02166 SAWYER30 25 14 14 6 94,29 348 * 1,21167 SAWYER30 27 13 13 2 92,88 347 * 0,44168 SAWYER30 33 11 11 2 89,81 358 * 28,86169 SAWYER30 36 10 10 5 91,39 347 * 0,28170 SAWYER30 41 8 8 2 99,39 328 * 0,27171 SAWYER30 47 7 7 2 99,09 328 * 0,45172 SAWYER30 54 7 7 4 86,77 372 * 0,24173 SAWYER30 75 5 5 2 86,93 367 * 0,02174 SCHOLL 2580 27 27 0 99,99 69660 * 0,00175 SCHOLL 2680 26 26 0 99,96 69679 * 0,01176 SCHOLL 2787 25 25 0 99,97 69672 * 0,00177 TONGE70 160 23 23 0 95,38 3627 * 1,75178 TONGE70 168 22 22 0 94,97 3653 * 9,91179 TONGE70 176 21 21 22 95,56 3597 * 1,61180 TONGE70 185 20 20 0 94,86 3591 * 1,44181 TONGE70 195 19 19 2 94,79 3690 * 134,70182 TONGE70 234 16 16 0 93,75 3697 * 144,91183 TONGE70 251 14 14 3 99,97 3514 * 32,82184 TONGE70 270 14 14 17 93,31 3771 * 406,95185 TONGE70 320 11 11 3 99,80 3519 * 164,50186 TONGE70 364 10 10 17 96,90 3632 * 0,11187 TONGE70 410 9 9 14 95,50 3664 * 0,11188 TONGE70 468 8 8 15 94,15 3743 * 0,13189 TONGE70 527 7 7 10 95,42 3649 * 0,09190 WARNECKE 60 27 27 28 97,28 1615 * 4,33191 WARNECKE 65 25 25 30 97,11 1615 * 7,68192 WARNECKE 68 24 24 17 95,89 1619 * 5,55193 WARNECKE 71 23 23 25 96,33 1617 * 6,01194 WARNECKE 74 22 22 7 95,52 1621 * 70,65195 WARNECKE 78 21 21 0 94,51 1582 * 2459,62196 WARNECKE 82 20 20 0 94,39 1632 * 1335,63197 WARNECKE 86 19 19 11 95,41 1634 * 5,94198 WARNECKE 92 17 17 7 99,42 1563 * 167,70199 WARNECKE 97 17 17 9 94,42 1637 * 26,49200 WARNECKE 104 15 15 7 99,68 1560 * 143,49201 WARNECKE 111 14 14 0 99,61 1554 * 193,81