You are on page 1of 7

III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

Aplicação do problema de Job-Shop Scheduling em aciarias


Fernando Marques de Almeida Nogueira (UFJF) fernando.nogueira@ufjf.edu.br
Leonardo Macedo Pinheiro Portilho (UFJF) pinheirolmp@yahoo.com.br

Resumo
A aciaria é o setor em uma siderúrgica que realiza a conversão do ferro-gusa em aço. Esta
conversão se dá através de vários processos que utilizam recursos tais como convertedores,
fornos panelas, pontes e carros de transporte entre outros. Em função do tipo de aço a ser
produzido, a seqüência de recursos a ser utilizada, bem como, os tempos demandados em
cada recurso podem variar. A fim de otimizar o aproveitamento destes recursos, faz-se
necessário planejar e controlar todas as atividades envolvidas na produção. Este trabalho
tem como objetivo modelar e resolver um Problema de Seqüenciamento e Scheduling em
aciarias, o qual pode ser modelado como um Problema Job-Shop Scheduling largamente
difundido na área de otimização. O problema pode ser descrito da seguinte forma: dado um
conjunto de jobs e um conjunto de máquinas, cada job consiste de uma seqüência de
operações que devem ser processadas durante um período de tempo ininterrupto, em uma
dada máquina. Cada máquina pode processar apenas uma operação por vez. O problema
consiste em seqüenciar as operações em função de um objetivo, que pode ser a minimização
do tempo total para completar todos os jobs (Makespan), minimização dos jobs atrasados,
entre outros. Este trabalho se limita à minimização do Makespan.
Palavras chave: Job-Shop Scheduling, aciaria, otimização

1. Introdução
Apesar da produção de aço ser um processo bastante conhecido, a tecnologia envolvida neste
setor tem-se mostrado em constante evolução. A produção de aço é uma operação complexa
composta por processos contínuos e discretos, sendo que alguns destes devem se relacionar de
maneira seqüencial e outros podem se relacionar de maneira paralela.
Levando em consideração o grau de complexidade desse processo produtivo, a programação e
o gerenciamento dos recursos de produção é uma tarefa difícil. É nesse contexto, que surge o
desenvolvimento de metodologias capazes de auxiliar as tomadas de decisões dentro das
organizações.
O presente trabalho tem como objetivo, modelar e apresentar a solução ótima para um
problema de Seqüenciamento e Scheduling, tomando como exemplo o setor de aciaria de uma
siderúrgica integrada a coque.
O método utilizado na solução do problema foi o modelo matemático conhecido na literatura
como Branch and Bound. Para tanto, foi desenvolvido um algoritmo para implementação do
método e o software utilizado na elaboração foi o Matlab, versão 7.0. A justificativa para a
elaboração desse método, se deve ao fato do mesmo garantir a solução ótima para o problema
Job-Shop Scheduling, o que não ocorre com os métodos heurísticos que podem oferecer
soluções sub-ótimas.
2. O problema de Job-Shop Scheduling
O problema da programação da produção do tipo Job-Shop Scheduling pode ser descrito da
seguinte forma. Supõe-se que haja um número finito de jobs e máquinas. Um job é definido
por uma seqüência de operações que devem ser executadas em uma dada ordem. Cada uma
III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

destas operações é realizada por uma máquina por um período de tempo. É também assumido
que cada máquina pode realizar apenas uma operação ao mesmo tempo. No caso mais geral,
pode haver mais de uma máquina do mesmo tipo formando centros de máquinas. (PINEDO,
2002). Neste trabalho, o objetivo é encontrar a solução com o menor makespan, ou seja, a
solução que apresente o menor tempo de finalização de todos os jobs ou atividades.
3. Estrutura e anotação
− Job-Shop ( J m ): Em um Job-Shop com m máquinas, cada job tem sua rota particular pré-
determinada a seguir. Uma distinção é feita entre jobs que visitam cada máquina no
máximo uma vez e os jobs que visitam cada máquina mais de uma vez.
− Tempo de processamento ( pij ): O pij representa o tempo de processamento do job j na
máquina i . O subscrito i é omitido se o tempo de processamento do job j não depende
da máquina ou se job j é processado somente em uma determinada máquina.
− Data de início ( r j ): A data de início r j do job j pode também ser referida para uma data
preparada. É o tempo que o job chega no sistema (o tempo mais cedo no qual o job j
pode começar no processo).
− Data de vencimento ( d j ): A data de vencimento d j do job j representa a passagem para
outro processo ou data de finalização (data de entrega do job).
− Makespan ( C max ): O makespan (tempo de fabricação), definido como max(C1 ,..., C n ) , o
tempo de finalização do último job deixar o sistema. Um tempo de fabricação mínimo
geralmente implica em máxima utilização da(s) máquina(as).
− Maximum Lateness ( L max ): É definido como max( L1 ,..., Ln ). Ele mede a pior violação das
datas de vencimento.
− Shedule ativo: Um schedule (programação) é considerado ativo se ele não pode ser
alterado de qualquer forma, mesmo que algumas operações sejam finalizadas, adiantadas
ou atrasadas. Um schedule estando ativo implica que quando um job chega em uma
máquina, é processado na seqüência predeterminada tão cedo quanto possível. Um
schedule ativo não pode ter nenhum período ocioso no qual a operação de um job em
espera pode ser inserida. (PINEDO, 2002).
− J m || C max : Problema de Job-Shop Scheduling com makespan como objetivo.

4. O algoritmo Branch and Bound


− Passo 1 (Condições iniciais): Adotando que Ω contenha a primeira operação de cada job e
rij=0, para todo (i, j) ∈ Ω .
− Passo 2 (Seleção de máquinas): Compute para o corrente schedule parcial e adote i*
representando a máquina na qual o mínimo é alcançado.
t (Ω) = min {rij + p ij }
( i , j )∈Ω

− Passo 3 (ramificação): Adotando Ω’ descrevendo o grupo de todas as operações (i*, j) na


máquina i* tal que ri*j < t(Ω).

Para cada operação em Ω’, considere um schedule parcial com a respectiva operação como a
próxima na máquina i*. Para cada schedule parcial semelhante, apague a operação de Ω’,
III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

incluindo imediatamente em Ω, e retornar para o passo 2.


O passo 3 executa a ramificação do nó que é caracterizado pelo schedule determinado, o
número de galhos é igual ao número de operações em Ω’. Com este algoritmo, pode ser
gerada a árvore inteira (Figura 1), e os nós mais baixos da árvore corresponde a todos os
schedules ativos.
Assim o nó ν na árvore corresponde a um schedule parcial e o schedule parcial é
caracterizado por uma seleção de arcos disjuntivos que correspondem à ordem na qual todos
os antecedentes de um determinado grupo Ω têm que ser programados. A abertura de galhos
pertencente ao no ν corresponde à seleção de uma operação (i*, j ) ∈ Ω’ como a próxima na
máquina i * . (PINEDO, 2002).
Nó ν

Nó ν' Nó ν"

Seleção de (i*, j) Seleção de (i*, l)


Todos os arcos disjuntivos Todos os arcos disjuntivos
(i*, j) ⎯
⎯→(i*, k ) (i*,l ) ⎯
⎯→(i*, k )
Todas as operações (i*, j ) que Todas as operações (i*, l ) que
ainda podem ser programadas são ainda podem ser programadas são
adicionadas. adicionadas.

Fonte: (Pinedo, 2002)

Figura 1 - Árvore branching.


5. O processo de fabricação do aço
O aço é uma liga ferro-carbono que contém, no máximo, 2% de carbono. O ferro não é obtido
puro na natureza, normalmente se encontra combinado ao oxigênio e a sílica, formando o
“minério de ferro”. Em uma usina siderúrgica integrada a coque, o carbono é obtido do carvão
mineral tipo metalúrgico, ao qual se obtém o coque. Basicamente, o processo de fabricação de
aço em uma usina siderúrgica integrada a coque é composto por quatros etapas:
− Preparação do minério e do carvão: essa etapa envolve dois processos, a coqueificação e a
sinterização, que preparam o carvão, o minério de ferro, respectivamente, e outros
materiais para alimentar os altos-fornos que vão produzir o ferro líquido ou ferro-gusa.
− Redução do minério de ferro: o processo de redução do minério de ferro é a retirada do
oxigênio existente no óxido de ferro, por isto o uso do termo redução. Esse processo é
realizado em um alto-forno, onde são misturados o coque com o sinter e outras cargas
metálicas (minério de ferro, por exemplo).
− Refino: na aciaria o carro torpedo derrama o ferro-gusa já dessulfurado em um misturador,
que o vazará em um convertedor L&D (Linz e Donawitz), que é onde será iniciado o
refino, ou seja, conversão de ferro-gusa em aço (< 2% de carbono). Essa etapa é dividida
em refino primário e secundário. O refino primário ocorre nos convertedores L&D, que
possuem a finalidade de queimar o excesso de carbono e silício (substâncias nocivas aos
aços). A aciaria é composta também por equipamentos de apoio como panelas de gusa, de
aço e distribuidores, que também são dimensionados segundo a capacidade dos
convertedores. Para alcançar determinadas propriedades, o aço passa por uma etapa
chamada refino secundário realizada em “forno panela”, com o objetivo de ajustar sua
composição química e temperatura.
III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

− Conformação mecânica, o aço refinado é transportado ao processo de conformação


mecânica que é composto de duas etapas, a solidificação do aço líquido em placas grossas
de aço feitas na máquina de lingotamento contínuo (MLC) e a laminação que é a
transformação dessas chapas grossas de aço em bobinas de tiras de aço laminadas à quente
feitas no laminador de tiras a quente (LTQ). (RAMOS, R.A., 2002).

Fonte: (Ramos, R.A., 2002)

Figura 2 - Fluxograma básico de uma usina integrada a coque.


6. Descrição do cenário
A aciaria é o local dentro de uma usina siderúrgica onde existem máquinas e equipamentos
voltados para o processo de transformar o ferro-gusa em diferentes tipos de aço.
O setor de aciaria compreende refino primário (convertedores) e o refino secundário (fornos-
panela), em seguida o aço entra na fase de lingotamento. Este trabalho se limita ao
Sequenciamento e Scheduling das corridas de aço apenas no setor de aciaria, ou seja, entre os
processos de dessulfuração no carro torpedo e o lingotamento contínuo.
A origem dos jobs (aços) no sistema é o setor de alto-forno, através dos carros torpedos e o
destino é o setor de conformação mecânica, mais precisamente o lingotamento contínuo. O
algoritmo irá encontrar a melhor seqüência do jobs em cada máquina em função do objetivo
predefinido, ou seja, a seqüência que minimiza o tempo de fabricação de todos os aços a
serem produzidos.
O ambiente de aciaria usado nesse trabalho é apenas ilustrativo, a finalidade é fornecer o
cenário para o sequenciamento da produção, ou seja, os parâmetros necessários para a
resolução do Problema de Job-Shop Scheduling.

SETOR DE ACIARIA

Alto-Forno Convertedor Forno MLC


panela
Fonte: (Adaptado de Fluxograma de Produção - CST, 2006)

Figura 3 - Fluxograma básico de uma aciaria.


III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

7. Descrição dos parâmetros do problema Job-Shop Scheduling


Após a descrição do cenário, faz-se necessário definir os parâmetros que definem o problema
Job-Shop Scheduling, tais como, definição das rotas de cada job, dos tempos de
processamento para cada job em cada máquina e descrição do objetivo.

Para melhor descrição do problema proposto os parâmetros serão dispostos nas tabelas
abaixo:

Capacidade de produção Tempo médio por corrida


Recursos Descrição
(toneladas/ corrida) (minutos)

CV – 1 Convertedor 300 42

CV – 2 Convertedor 400 40

CV – 3 Convertedor 500 38

RH Forno-panela 500 12 à 50

IRUT Forno-panela 500 12 à 50


Tabela 1 - Recursos produtivos e suas respectivas capacidades produtivas e tempos de operação.

Tempo total de
Tipos Elementos (%) Produção Nº. de Rota de produção processamento
Jobs (minutos)
de aço (t) Corridas
C Mn Si 1ª 2ª 3ª 4ª 2ª 3ª
1 A-A 0,89 2,74 0,45 2.000 7 CT CV - 1 RH MLC 279 200
2 A-B 0,87 2,70 0,40 3.100 8 CT CV - 2 IRUT MLC 275 256
3 A-C 0,85 2,72 0,43 5.000 10 CT CV - 3 RH MLC 348 120
4 A-D 0,95 2,76 0,47 2.500 8 CT CV - 1 IRUT MLC 384 358
5 A-E 0,92 2,75 0,49 4.000 10 CT CV - 2 RH MLC 430 300
6 A-F 0,88 2,80 0,50 5.500 11 CT CV - 3 IRUT MLC 458 473
7 A-G 0,83 2,78 0,39 2.900 10 CT CV - 1 RH MLC 372 116
8 A-H 0,86 2,85 0,42 4.800 12 CT CV - 2 IRUT MLC 502 516
9 A-I 0,90 2,68 0,52 6.000 12 CT CV - 3 RH MLC 463 360
10 A-J 0,84 2,65 0,55 2.700 9 CT CV - 1 IRUT MLC 361 297
CT: Carro Torpedo
IRUT: Forno IRUT
CV: Convertedor
MLC: Máquina de Lingotamento Contínuo
RH: Forno RH
Quadro 1 - Descrição dos jobs (aços), seqüência de produção (rota) e tempo total de processamento.
8. Resolução do problema de Job-Shop Scheduling em aciaria
O resultado final do algoritmo Branch and Bound é a seqüência de produção ótima (figura 5)
que minimiza o tempo de fabricação (makespan) do último job (aço) na aciaria.
No intuito de avaliar o desempenho do método Branch and Bound os resultados obtidos foram
comparados com o método heurístico Shifting Bottleneck Heuristic, fornecido pelo software
III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

LISA e foram dispostos em forma de quadros, gráficos e tabelas.

Figura 5 - Gráfico de Gantt para J 5 || C max gerado pelo Branch and Bound Algorithm.

Fonte: Software LISA.


Figura 6 - Gráfico de Gantt para J 5 || C max gerado pelo Shifting Bottleneck Heuristic

Medidas de desempenho
Redução do tempo de Redução do tempo de
Métodos analisados Tempo de
Makespan fabricação pelo fabricação pelo
Processamento
(Cmax) Branch & Bound Branch & Bound
(segundos)
(minutos) (%)
Branch & Bound 2.175 14,59
341 14%
Shifting Bottleneck Heuristic 2.516 2,50

Quadro 2 - Medidas de desempenho para os algoritmos analisados.


III EMEPRO – Belo Horizonte, MG, Brasil, 07 a 09 de junho de 2007

Parâmetros Branch & Bound Shifting Bottleneck

Produção Total ( t ) 38.500,00 38.500,00

Tempo de fabricação (min) 2.175 2.516

Tempo fabricação (min/ t) 0,06 0,07

Produção total após


44.536,09 38.500,00
2.516 minutos ( t )

Incremento na produção ( t ) 6.036,09 0,00

Incremento na produção (%) 15,68 % 0,00 %

Redução no Custo Fixo/


13,55 % 0,00 %
tonelada (%)
Custo de Fixo de Produção/
R$ 216,13 R$ 250,00
tonelada
Incremento no lucro devido à
R$ 1.508.660,11 R$ 0,00
redução de custo (R$)
Tabela 2 - Medidas de desempenho para os métodos analisados.
9. Conclusão
A necessidade de técnicas de gestão das operações que sejam eficientes, tanto na produção
como nos serviços, é, na conjuntura atual cada vez mais crítica. Nesse contexto, técnicas de
Scheduling oferecem excelentes vantagens competitivas para as organizações.
O método Branch and Bound implementado nesse estudo é um método robusto na busca da
solução do problema de Job-Shop, mas apesar de se tornar inviável computacionalmente para
problemas muito grandes (acima de 20 máquinas e 20 jobs), ele garante a seqüência ótima das
operações visando à minimização do tempo de fabricação total (makespan), o que não ocorre
com os métodos heurísticos como o Shifting Bottleneck Heuristic. No entanto o problema
pode ser fragmentado visando os pontos críticos do processo (gargalos), como é o caso do
setor de aciaria, com isso garantindo a viabilidade do método e a seqüência ótima das
operações.
Analisando os resultados, conclui-se que o método Branch and Bound apesar do seu tempo de
processamento ser considerado elevado em relação ao método Shifting Bottleneck, ele oferece
uma redução considerável do tempo de fabricação e conseqüentemente uma melhor utilização
de recursos produtivos, acarretando um alto crescimento no lucro, o que o torna para
problemas dessa natureza uma ótima opção.
Referências
A LIBRARY OF SCHEDULING ALGORITHMS, “LISA”, http://lisa.math.uni-magdeburg.de, (consulta:
julho/2006).
COMPANHIA SIDERÚRGICA DE TUBARÃO, "Processo Siderúrgico – Fluxograma de Produção e Dados
Operacionais", Companhia Siderúrgica de Tubarão, www.arcelor.com/br/cst, (consulta: novembro/2006).
PINEDO, M., 2002, Theory, Algorithms, and Systems. 2 ed. New Jersey, Prentice-Hall, Inc.
RAMOS, R. A., 2002, Um sistema para auxílio no seqüenciamento de um laminador de tiras a quente em uma
usina siderúrgica integrada, Dissertação de Mestrado, Departamento de Engenharia Industrial/ PUC-Rio, Rio de
Janeiro, RJ, Brasil.

You might also like