sequenciamento da produÇÃo em job-shops com o...

12
SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O AUXÍLIO DE GRIDS COMPUTACIONAIS Luiz Rossi de Souza (CEFET) [email protected] Diego Moreira de Araujo Carvalho (CEFET) [email protected] Rafael Garcia Barbastefano (CEFET) [email protected] Sequenciamento da produção em ambientes job-shop é uma tarefa de difícil resolução dada a complexidade computacional enfrentada, encontrando-se entre os problemas mais difíceis de otimização combinatória. Neste trabalho é apresentado um alggoritmo híbrido de sequenciamento da produção, combinando heurísticas de priorização e busca em vizinhança, em infraestrutura de grid computacional para encontrar melhores soluções que aquelas disponíveis através do uso de apenas um computador. Palavras-chaves: sequenciamento, job-shop, grids computacionais XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

Upload: trinhhanh

Post on 11-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

SEQUENCIAMENTO DA PRODUÇÃO

EM JOB-SHOPS COM O AUXÍLIO DE

GRIDS COMPUTACIONAIS

Luiz Rossi de Souza (CEFET)

[email protected]

Diego Moreira de Araujo Carvalho (CEFET)

[email protected]

Rafael Garcia Barbastefano (CEFET)

[email protected]

Sequenciamento da produção em ambientes job-shop é uma tarefa de

difícil resolução dada a complexidade computacional enfrentada,

encontrando-se entre os problemas mais difíceis de otimização

combinatória. Neste trabalho é apresentado um alggoritmo híbrido de

sequenciamento da produção, combinando heurísticas de priorização e

busca em vizinhança, em infraestrutura de grid computacional para

encontrar melhores soluções que aquelas disponíveis através do uso de

apenas um computador.

Palavras-chaves: sequenciamento, job-shop, grids computacionais

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

Page 2: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

2

1. Introdução

O sequenciamento da produção consiste em alocar e ordenar tarefas a serem executadas em

recursos limitados, representando uma atividade cotidiana em muitas empresas de manufatura

ou mesmo de serviços (PINEDO, 2005). Devem-se alocar os recursos disponíveis para que

sejam utilizados da melhor forma possível, evitando tempos de espera e atrasos nos pedidos,

bem como contribuindo para que a empresa alcance seus objetivos (atender os pedidos dos

clientes dentro do prazo estabelecido, por exemplo). Problemas de sequenciamento de

produção em job-shops são conhecidos entre alguns dos mais difíceis na classe dos NP-

Completos (ADAMS et al, 1998). O problema de sequenciamento em job-shop é enfrentado

no dia-a-dia de centenas de empresas do setor metal-mecânico do Estado do Rio de Janeiro.

São usadas, em geral, heurísticas simples de resolução, com baixa eficácia. O

desenvolvimento de algoritmos em malhas computacionais pode ajudar a aumentar a

produtividade dessas empresas.

A heurísticas são adotadas para apoiar as decisões de sequenciamento em função de

limitações de tempo e recursos disponíveis. Apesar de serem capazes de fornecer soluções

razoáveis em um curto espaço de tempo, acredita-se ser possível encontrar resultados de

melhor qualidade utilizando técnicas de simulação computacional.

O sequenciamento da produção é um problema industrial que pode ser representado por

modelos de programação matemática com objetivo de reduzir atrasos na entrega de pedidos,

minimizar o tempo de produção, entre outros. Esses modelos, no entanto, apresentam elevada

complexidade computacional dado o grande número de soluções possíveis.

Dessa forma, muitas vezes o tempo de solução dos modelos matemáticos impossibilita a sua

aplicação prática no dia a dia das empresas. Malhas computacionais representam arquiteturas

capazes de alcançarem altas taxas de processamento e armazenagem de dados, dividindo-se as

atividades entre computadores dispersos, tanto em redes locais quanto redes de longa

distância. Diversos pesquisadores em ciência da computação têm apontado as malhas

computacionais como uma evolução dos sistemas computacionais atuais (ROBBINS, 2006;

ABBAS, 2004). Seu uso tem sido direcionado para atividades em áreas diversas como

climatologia, física de altas energias e bioinformática entre outras, mas ainda não encontra

ampla utilização em aplicações industriais.

O presente artigo apresenta um estudo, gridificação (adaptação e desenvolvimento programas

para compatibilidade com uma infraestrutura computacional) e desenvolvimento de

algoritmos híbridos envolvendo programação disjuntiva e meta-heurísticas combinatórias para

resolução de problemas de sequenciamento de produção do tipo job-shop. Foram utilizados

problemas disponibilizados por Éric Taillard – http://bit.ly/utYzCX –, um programa de

sequenciamento de código aberto – LiSA http://lisa.math.uni-magdeburg.de/index.php – e

algoritmos de controle desenvolvidos em python e bash (UNIX). Este conjunto de ferramentas

compõe o módulo de sequenciamento do programa Industry@Grid, desenvolvido no CEFET-

RJ.

Este trabalho encontra-se organizado da seguinte forma: a seção 2 contém uma introdução ao

problema de sequenciamento, apresentando o conceito e a representação gráfica do problema

disjuntivo. A seção 3 trata da metodologia adotada e da implantação computacional necessária

para a execução dos experimentos. Na seção 4 encontram-se os resultados dos experimentos e

uma comparação com o benchmark dos problemas estudados. Por fim, a seção 5 apresenta a

Page 3: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

3

conclusão do trabalho.

2. Sequenciamento

O sequenciamento é uma atividade relacionada à administração de recursos escassos

(LEUNG, 2004), designando qual atividade terá acesso aos recursos em determinado intervalo

de tempo. Em ambientes industriais, determina quando e como os produtos serão fabricados,

i.e., quais os recursos serão utilizados, quando cada operação será iniciada e quando deverá

terminar. Dessa forma, o sequenciamento estabelece o grau de utilização dos recursos,

afetando a disponibilidade de máquinas e mão de obra. Modelos de sequenciamento não se

limitam a atividades produtivas, sendo encontrados na prestação de serviços, e.g., a

determinação da escala de funcionários é um problema de sequenciamento, assim como a

designação de pousos e decolagens de aeronaves em aeroportos, ônibus e trens em rodoviárias

e estações ferroviárias e as datas de partidas de torneios esportivos como campeonatos de

futebol (PINEDO, 2005).

Em manufaturas, os pedidos de clientes são chamados de tarefas e o processamento de uma

tarefa em uma determinada máquina é considerado uma operação. Tarefas que compartilham

recursos precisam ser ordenadas em uma sequência bem definida, já que não podem ser

fabricadas ao mesmo tempo. Programando a produção busca-se, atendendo às necessidades

dos clientes, minimizar medidas de desempenho que avaliam os custos e o tempo de produção

dos bens e serviços comercializados, de acordo com restrições operacionais e administrativas.

Dentre as medidas de desempenho mais comuns podem-se destacar: (a) tempo total de

processamento das tarefas (makespan), medido do início da execução da primeira tarefa no

tempo inicial t0 até o término do processamento da última tarefa na última máquina tn; (b)

atraso médio, medido através da média dos atrasos na conclusão dos pedidos; (c) atraso

máximo, dado pelo pedido com maior atraso e (d) número de pedidos em atraso. Algumas das

restrições existentes são, mas não se limitam a: possibilidade, ou impossibilidade, de

interrupção de uma operação já iniciada para o processamento de um novo pedido que que

apresenta maior urgência, datas de liberação dos pedidos, datas de entrega dos pedidos,

esperas para transporte e tempo de descanso de uma peça após o término de um

processamento. Há ainda fatores presentes na prática que são normalmente desconsiderados

nas aplicações teóricas, como o tempo de preparação das máquinas, determinado em função

da tarefa que acabou de ser processada e da tarefa a ser realizada em seguida.

Decisões de sequenciamento costumam ser baseadas na resolução de modelos de otimização

combinatória. Contudo, são problemas intrinsecamente difíceis de serem resolvidos de forma

a encontrar o resultado ótimo, pois apresentam alta complexidade computacional, pertencendo

à classe dos problemas NP-completos. Para encontrar soluções satisfatórias em um intervalo

de tempo aceitável para a prática nas empresas, utilizam-se heurísticas de resolução

aproximada que encontram soluções rápidas e simples, mas não garantem a solução ótima.

Bons algoritmos ajudam a reduzir custos operacionais (LEUNG, 2004), contribuindo para um

melhor funcionamento dos sistemas.

2.1. Job-shop

Sistemas de produção do tipo job-shop oferecem uma grande flexibilidade para fabricação de

uma ampla variedade de produtos. O fluxo de materiais não é unidirecional e cada tarefa tem

um roteiro específico a percorrer. As tarefas são compostas por qualquer número de

operações, mas é costumeiro supor que todas as tarefas devam ser processadas por todas as

Page 4: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

4

máquinas existentes, cada uma respeitando seu roteiro. Apesar da flexibilidade, esses sistemas

apresentam baixo volume se comparados com a produção efetuada em sistemas flow-shop.

Job-shops são comuns na fabricação de equipamentos industriais, empresas do setor metal

mecânico, e também na prestação de serviços, como hospitais, por exemplo. Os modelos de

job-shop são discretos e podem ser formulados como problemas inteiros ou disjuntivos. Os

modelos mais simples supõem que cada tarefa deve ser processada por cada uma das

máquinas apenas uma vez. Casos em que uma tarefa necessite ser processada pela mesma

máquina mais de uma vez no seu roteiro através do sistema são chamados modelos com

recirculação. Nesses casos, a complexidade do problema aumenta consideravelmente

(PINEDO, 2005). A existência de centros de trabalho com máquinas em paralelo caracteriza

os chamados job-shops flexíveis, que são observados na indústria de semicondutores e

geralmente requerem recirculação. O sequenciamento em job-shop, seja flexível ou não, com

ou sem recirculação, é um problema de difícil resolução. Minimizar o makespan em um job-

shop com m máquinas é NP-completo para todo caso em que m > 2.

Problemas de sequenciamento em job-shop receberam crescente atenção nas últimas décadas.

Os primeiros problemas estudados eram relativamente simples e algoritmos eficientes foram

desenvolvidos para sua solução. À medida que os problemas tornaram-se mais complicados,

pesquisadores se viram incapazes de desenvolver algoritmos eficientes, direcionando os

esforços para a construção de algoritmos para resolução aproximada. Uma das heurísticas

mais difundidas é a shifting bottleneck (ADAMS et al, 1988), desenvolvida para minimizar o

makespan baseado no sequenciamento de máquina única (CARLIER, 1982). Consiste em

sequenciar as máquinas uma a uma, escolhendo a cada iteração a máquina identificada como

gargalo entre as máquinas ainda não sequenciadas. Mesmo para problemas considerados

grandes, e.g., com mais de 20 máquinas e 50 tarefas, é capaz de encontrar uma solução em

tempo satisfatório.

Em 1989, Carlier e Pinson desenvolveram um método branch and bound, também baseado no

problema de máquina única, para resolver o problema em ambientes job-shop. Contudo, o

tempo de resolução aumenta rapidamente à medida que um maior número de máquinas e

tarefas é considerado, dificultando sua aplicação prática. Surgiram então as regras de

priorização, tornando-se uma das formas mais difundidas para resolução de problemas de

sequenciamento.

Holthaus e Rajendran (1997) apresentaram 5 novas regras de priorização para problemas job-

shop. Realizaram comparações em relação a regras já conhecidas, como SPT, WINQ, FIFO e

COVERT, utilizando simulação computacional e ressaltaram que não há uma única regra que

tenha melhor desempenho para todas as medidas de performance possíveis, como atraso

médio, variância do atraso e tempo médio de fluxo. Dois anos depois, Rajendran e Holthaus

(1999), vieram novamente apresentar 3 novas regras de priorização em um estudo

comparativo da performance de 13 regras, frente a diferentes funções objetivos. Recentemente

Branke e Pickardt (2011) apresentaram um método para auxiliar no desenvolvimento de

regras de priorização para problemas de sequenciamento em job-shop.

Chen e Ji (2007) desenvolveram um modelo de programação inteira mista combinando

decisões de planejamento da produção e sequenciamento, considerando restrições de

capacidade, sequência de operações, lead times e datas de entrega. O objetivo apresentado é

minimizar tanto o custo de tempo ocioso quanto penalizações de atrasos ou precocidade.

Page 5: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

5

Durante o estudo, verificaram a necessidade de cerca de 12h de processamento para resolver

um problema simples e sugeriram que, devido à característica intrinsecamente complexa do

problema, fosse resolvido através de meta-heurísticas.

Outras iniciativas envolvem a utilização de técnicas de busca em vizinhança, variações do

problema com múltiplos objetivos, problemas dinâmicos e job-shops flexíveis. O problema

dinâmico de job-shop considera chegadas aleatórias de pedidos e quebras de máquinas. Adibi

et al (2010) realizam o sequenciamento através de método de busca em vizinhança variável e

utilizam uma rede neural artificial treinada para atualizar os parâmetros do método.

Consideram medidas de performance multiobjetivo, contendo makespan e atraso total.

Gao et al (2011) afirmam que o problema de sequenciamento em job-shop é conhecido como

um dos problemas mais complicados de otimização combinatória. Com isso, apresentam um

algoritmo que combina buscas local e global com o objetivo de minimizar o makespan

enquanto atende a um número de restrições considerado satisfatório pelos autores.

2.2. Formulação

O problema de sequenciamento em job-shop pode ser representado como um problema de

programação disjuntiva, com função objetivo e um conjunto de restrições. Geralmente o

objetivo é reduzir o tempo de atravessamento de todos os produtos (makespan), como na

equação 1, reduzir o atraso médio, reduzir o atraso total ou ainda outras funções objetivos. As

restrições do problema são, basicamente: (i) a sequência de máquinas para cada tarefa é

conhecida e (ii) uma máquina só pode processar uma tarefa por vez. O problema pode ser

escrito na forma de um problema de programação disjuntiva, e representado por um grafo

como o da Figura 1, onde a escolha de arcos disjuntivos dá a sequência de operações que

serão realizadas em uma máquina. Para mais detalhes, consultar Pinedo (2005).

Formulação do modelo:

Page 6: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

A atividade j na máquina i consiste na operação (i,j), com duração , sendo m máquinas e n

tarefas. O conjunto N é o conjunto de nós, correspondendo a todas as operações (i,j) para as

tarefas. O conjunto A representa as rotas das tarefas, ou seja, a precedência de operações para

cada tarefa e é o tempo em que a operação (i,j) é iniciada.

Fonte: Adaptado de (PINEDO, 2005)

Figura 1 - Grafo disjuntivo representando problema de sequenciaamento em job-shop

As arestas sólidas do grafo disjuntivo, representado pela Figura 1, são chamadas conjuntivas e

representam a sequência de máquinas, i.e. roteiro, para cada tarefa. O valor da aresta é o

tempo de processamento da tarefa j na máquina i, para a operação (i,j). As arestas tracejadas

são disjuntivas e representam escolhas para o sequenciamento de uma máquina, ligando todas

as tarefas para uma determinada máquina. Uma vez definida a orientação da aresta disjuntiva,

Page 7: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

7

tem-se a sequência de operações que serão efetuadas em uma máquina. No exemplo da Figura

1, uma seleção das arestas que ligam os nós (1,1); (1,2) e (1,3) consiste na sequência de

operações para a máquina 1. Um sequenciamento possível para a máquina 1 pode ser visto na

Figura 2. A ordem de processamento das tarefas na máquina 1 seria, dessa forma, .

O makespan é dado pelo maior caminho do nó origem (U) ao nó destino (S) após todas as

máquinas serem sequenciadas.

Fonte: Adaptado de (PINEDO, 2005)

Figura 2 - Grafo disjuntivo com sequenciamento da máquina 1

Para resolver problemas desse tipo pode-se trabalhar com heurísticas que são capazes de

encontrar boas soluções em um curto espaço de tempo, mas que não oferecem nenhuma

garantia que o ótimo será encontrado para o problema estudado. Há ainda algoritmos exatos

que enumeram as soluções para encontrar o ótimo, contudo são bastante demorados e, muitas

vezes, inviáveis para aplicação prática e não serão discutidas aqui.

2.3. Heurísticas

Heurísticas são técnicas encontradas para resolver problemas que, de outra forma, levam uma

quantidade enorme de tempo computacional para ser resolvidos. Problemas deste tipo, para os

quais não se conhece uma forma eficiente de encontrar a solução, pertencem à classe dos NP-

completos, que representa a complexidade computacional para encontrar o ótimo. Os

problemas de sequenciamento em job-shop pertencem a essa classe e, apesar de não poderem

ser representados como problemas de programação linear, podem ser vistos muitas vezes na

forma de problemas de programação inteira ou disjuntiva. Como o tempo necessário para a

resolução desses problemas até o ótimo é muito grande, aceita-se utilizar outras técnicas,

capazes de encontrar boas soluções não tão distantes do ótimo de forma relativamente rápida.

As heurísticas disponíveis podem ser classificadas em dois grupos: (i) construtivas e (ii)

iterativas. Heurísticas construtivas são capazes de resolver o problema em questão de

segundos, podendo ser destacadas shifting bottleneck (ADAMS et al., 1988) e regras de

priorização (BRANKE, PICKARDT, 2011; RAJENDRAN, HOLTHAUS, 1999;

HOLTHAUS, RAJENDRAN, 1997). Já as heurísticas iterativas partem de uma solução inicial

buscando melhorar essa solução, destacando-se aquelas de busca em vizinhança (POCHET,

WOLSEY, 2009) que são capazes de, dada uma região do espaço solução, melhorar o

Page 8: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

8

objetivo atual até chegar a ótimos locais para a função estudada sem, contudo, garantir que o

resultado encontrado represente um ótimo global. O tempo de processamento das heurísticas

iterativas dependerá do critério de parada na busca, podendo ser por número de iterações ou

ainda baseado em percentual de incremento na solução atual mas são, em geral, rápidas.

3. Metodologia

A abordagem consiste em tentar resolver o problema de sequenciamento de produção em job-

shop utilizando heurísticas de regras de priorização combinadas com aquelas de busca em

vizinhança. Heurísticas baseadas em priorização são bastante rápidas. Usadas com regras

aleatórias, ou seja, um ordenamento viável, porém tomado ao acaso, podem ser utilizadas para

criar milhares de soluções iniciais em questão de segundos. A partir dessas soluções iniciais,

tenta-se encontrar soluções melhores com a utilização de heurísticas de busca em vizinhança,

mais especificamente Busca Tabu (NOWICKI, SMUTNICKI, 2005; HERTZ et al., 1995).

Algoritmos de busca em vizinhança são conhecidos por encontrarem ótimos locais, não

garantindo o encontro do ótimo global. O espaço de solução desse tipo de problema apresenta

extensas áreas com níveis de solução próximos, com pouco incremento ou redução no

objetivo, além de múltiplos pontos de ótimos locais. Existem algumas técnicas que permitem

que o algoritmo saia de um ótimo local para que possa testar outras soluções, aumentando-se

o passo, ou distância, entre as soluções testadas. Essas técnicas, contudo, não serão discutidas

aqui.

Com a utilização de um grande número de soluções iniciais para um mesmo problema, pode-

se reduzir o número de iterações do algoritmo de busca em vizinhança e comparar as soluções

encontradas para os diversos pontos iniciais, selecionando-se assim, aquele com o melhor

objetivo dentre os encontrados. Experimentos utilizando 100 computadores por uma hora

foram capazes de encontrar soluções que se aproximam do benchmark para alguns problemas

de job-shop.

3.1. Implementação Computacional

Para a realização dos experimentos foram necessários o estudo e modificação do código fonte

do programa LiSA e o desenvolvimento de scripts – algoritmos escritos em bash, uma

linguagem de programação presente em sistemas Unix – que executam tarefas para

administrar a utilização da infraestrutura de malha computacional. Também foi necessária a

integração com o programa Industry@Grid que, como o nome sugere, é um esforço de

desenvolvimento de algoritmos para propagar a utilização de malhas computacionais

aplicadas para a resolução de problemas industriais, tais como estudo de mix de produtos,

sequenciamento da produção, roteirização e supply chain.

A abordagem consiste em explorar o espaço solução do problema de sequenciamento de job-

shop a partir de um grande número de posições iniciais, aplicando um algoritmo de

ordenamento aleatório. A aleatoriedade é garantida pelo uso de um gerador de números

pseudo-aleatórios (PRESS et al, 2007) que, a partir de um valor inicial, chamado semente, é

capaz de gerar uma sequência de números considerados aleatórios. Para uma mesma semente,

a sequência se repete, possibilitando a repetição do experimento. Para que o experimento

pudesse ocorrer de forma controlada e repetida, o código fonte do algoritmo de priorização

contido na distribuição do LiSA foi alterado para receber sementes a partir de um arquivo de

texto. Para cada solução inicial um algoritmo de Busca Tabu, é então utilizado.

Page 9: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

9

O experimento ocorre da seguinte maneira:

i. O usuário fornece um arquivo com o problema, um arquivo com sementes para as

diferentes soluções iniciais – os experimentos serão tantos quanto o número de

sementes – e um arquivo com os parâmetros de controle do algoritmo de busca em

vizinhança que deseja utilizar, neste caso, Busca Tabu. O arquivo de sementes é

dividido em 100 partes e o problema é enviado para 100 computadores, juntamente

com uma das partes do arquivo de sementes e o arquivo com os parâmetros de

controle.

ii. Estes computadores solicitam a transferência do pacote Industry@Grid a partir de um

servidor, identificado automaticamente.

iii. Cada computador inicia um ciclo onde uma solução inicial é produzida utilizando o

algoritmo de priorização modificado. O arquivo de resultado ainda contém a descrição

do problema e os parâmetros de controle são substituídos por aqueles presentes no

arquivo fornecido pelo usuário. Em seguida, é executado o algoritmo de busca em

vizinhança, produzindo um novo resultado. Este processo se repete até todas as

sementes fornecidas terem sido utilizadas.

iv. Cada computador organiza as soluções em ordem crescente. As soluções com menor

makespan são então transferidas para um servidor onde se tornarão acessíveis ao

usuário.

v. Por fim, o usuário executa um último algoritmo que organiza a melhor solução

encontrada por cada um dos 100 computadores utilizados e retorna a melhor solução.

Uma representação esquemática dessas etapas pode ser vista na Figura 3.

Page 10: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

10

Servidor

( i )

( i )

( i )

( ii )

( ii )

( ii )

( iii )

( iii )

( iii )

( v )

( iv )

( iv )

( iv )

Figura 3 - Representação esquemática da implantação computacional

4. Resultados

Foram testados problemas de sequenciamento em job-shop de vários tamanhos, variando o

número de máquinas e tarefas, m e n, respectivamente. Aqui encontra-se uma análise do

resultado de um problema com m = 15 e n = 20, onde o melhor resultado conhecido é Cmax =

1357.

Combinando as heurísticas de regras de priorização e Busca Tabu com a utilização de 100

computadores da malha computacional do projeto GISELA (ANDRONICO et al, 2011) por 1

hora, a melhor solução encontrada foi Cmax = 1443, estando a apenas 6,34% de distância do

benchmark. A Figura 4 apresenta o histograma de distribuição das soluções encontradas

durante o estudo. Observa-se que, conforme já discutido, a característica do espaço de

soluções deste tipo de problema apresenta um grande número de valores intermediários,

próximos entre si. As melhores soluções, no entanto, são poucas, como se observa na cauda à

esquerda da figura Figura 4. Pode-se inferir ainda que, com a utilização desta abordagem,

consegue-se um resultado em torno de 9% melhor que a média, apresentada no resumo da

Figura 4.

Page 11: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

11

min = 1443

Q1 = 1539

média = 1572

Q3 = 1597

max = 1865

desv.pad = 46.09

Resumo

Fre

quên

cia

0

200

400

600

800

1000

1200

Makespan

1500 1600 1700 1800

Figura 4 - Histograma de distribuição do makespan a partir de 20.000 soluções iniciais

Ressalta-se ainda que todos os problemas testados estiveram entre 5 a 10% de distância do

benchmark. Para problemas com maior número de tarefas e máquinas foi preciso reduzir a

quantidade de soluções iniciais testadas, buscando manter o tempo de processamento em

torno de uma hora.

5. Conclusão

Neste trabalho foi apresentado o problema de sequenciamento em job-shop e discutidos

conceitos e técnicas existentes para sua solução. Em virtude da complexidade computacional

para encontrar uma solução ótima, foram utilizadas heurísticas, já existentes, de regras de

despacho e busca em vizinhança atacar problemas encontrados na literatura. Utilizando a

infraestrutura computacional do projeto GISELA, foi possível criar milhares de soluções

aleatórias distintas a partir das quais resultados melhores foram encontrados com o uso da

heurística de busca em vizinhança Busca Tabu. Resultados próximos do benchmark

conhecido foram encontrados com o uso de 100 computadores ao longo de duas horas para

problemas de diferentes tamanhos.

A utilização de malhas computacionais possibilita o desenvolvimento de novas formas de

resolução de problemas industriais (ou de serviços), seja com a aplicação combinada de

técnicas já existentes ou ainda através do desenvolvimento de novas técnicas. Para aplicação

prática é preciso estudar a aceitação da metodologia por gestores de Planejamento e Controle

da Produção, principalmente no que tange ao compartilhamento de recursos. Uma alternativa

ao compartilhamento de recursos (computadores) com outras empresas é a utilização da

capacidade ociosa das máquinas da empresa fora do horário de expediente. Os investimentos

necessários são baixos, podendo trazer bons resultados para organizações que trabalham com

heurísticas mais simples que, em geral, produzem piores resultados quando comparados aos

encontrados com a abordagem apresentada.

Page 12: SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O …abepro.org.br/biblioteca/ENEGEP2012_TN_STO_157_914_20426.pdf · O sequenciamento da produção consiste em alocar e ordenar tarefas

XXXII ENCONTRO NACIONAL DE ENGENHARIA DE PRODUCAO Desenvolvimento Sustentável e Responsabilidade Social: As Contribuições da Engenharia de Produção

Bento Gonçalves, RS, Brasil, 15 a 18 de outubro de 2012.

12

Referências

ABBAS, A. Grid Computing: Practical Guide to Technology and Applications. [S.l.]: Charles River Media,

2004.

ADAMS, J.; BALAS, E. & ZAWACK, D. The Shifting Bottleneck Procedure for Job Shop Scheduling.

Management Science, v.34, n. 3, p.391–401, 1988.

ADIBI, M. A.; ZANDIEH, M. & AMIRI, M. Multi-objective scheduling of dynamic job shop using variable

neighborhood search. Expert Systems with Applications, v.37, n.1, p.282-287, 2010.

ANDRESEN, M. et al. LiSA-A Library of Scheduling Algorithms Handbook for Version 3.0.

ANDRONICO, G. et al. e-Infrastructures for e-Science: A Global View. Journal of Grid Computing, v.9, n.2,

p.155-184, 2011.

BRANKE, J. & PICKARDT, C. W. Evolutionary search for difficult problem instances to support the design

of job shop dispatching rules. European Journal of Operational Research, v.212, n.1, p.22–32, 2011.

CARLIER, J. The one-machine sequencing problem. European Journal of Operational Research, v.11, n.1,

p.42-47, 1982.

CARLIER, J. & PINSON, E. An Algorithm for Solving the Job-Shop Problem. Management Science, v.35, n.2,

p.164–176, 1989.

CHEN, K. & JI, P. A mixed integer programming model for advanced planning and scheduling (APS).

European Journal of Operational Research, v.181, n.1, p.515-522, 2007.

GAO, L.; ZHANG, G.; ZHANG, L. & LI, X. An efficient memetic algorithm for solving the job shop

scheduling problem. Computers & Industrial Engineering, v.60, n.4, p.699-705, 2011.

GLOVER, F. Tabu Search: A Tutorial. Interfaces, Interfaces, v.20, n.4, p.74–94, 1990.

HERTZ, A.; TAILLARD, E. & De Werra, D. A tutorial on tabu search. [S.l.], 1995.

HOLTHAUS, O. & RAJENDRAN, C. Efficient dispatching rules for scheduling in a job shop. International

Journal of Production Economics, v.48, p.87–105, 1997.

LEUNG, J. Introduction and Notation. Handbook of Scheduling: Algorithms, Models, and Performance

Analysis. Boca Raton: CRC Press, 2004.

NOWICKI, E.; SMUTNICKI, C. An Advanced Tabu Search Algorithm for the Job Shop Problem. Journal of

Scheduling, v.8, n.2, p.145–159, 2005.

PINEDO, M. L. Planning and Scheduling in Manufacturing and Services. New York: Springer, 2005.

POCHET, Y.; WOLSEY, L. A. Production Planning by Mixed Integer Programming. New York: Springer,

2006.

PRESS, W. et al. Numerical Recipes: The Art of Scientific Computing. New York: Cambridge University Press,

2007.

RAJENDRAN, C. & HOLTHAUS, O. A comparative study of dispatching rules in dynamic flowshops and

jobshops. European Journal of Operational Research, v.116, n.1, p.156–170, 1999.

ROBBINS, S. Lessons in grid computing: the system is a mirror. New York: Wiley, 2006.