SciELO - Scientific Electronic Library Online

 
vol.7 issue3A reference model for production management in assembly to order: ato production systems and its multiple applicationsThe relationships between production strategy, TQM (Total Quality Management) and JIT (Just-In-Time): a case study in a automobile company and in two of its suppliers author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Article

Indicators

Related links

Share


Gestão & Produção

Print version ISSN 0104-530X

Gest. Prod. vol.7 no.3 São Carlos Dec. 2000

http://dx.doi.org/10.1590/S0104-530X2000000300007 

Planejamento e programação da produção em plantas multipropósito operando em batelada na indústria química

 

Short term planning and scheduling for multipurpose batch chemical plants

 

 

Luis Gimeno LatreI; Luiz Carlos Abreu RodriguesI; Maria Teresa Moreira RodriguesII

IFaculdade de Engenharia Elétrica e Computação – UNICAMP; CP 6101 – 13083-970 – Campinas – SP – Brasil. E-mail: gimeno@dca.fee.unicamp.br
IIQuímica – UNICAMP; CP 6166 – 13083-970 – Campinas – SP – Brasil. E-mail: maite@desq.feq.unicamp.br

 

 


RESUMO

Neste artigo, considera-se o problema de programação da produção a curto prazo em plantas químicas multipropósito operando em batelada, em que a produção da planta é determinada pela demanda a ser atendida. Nesta situação, a capacidade da planta não está bem definida porque depende do mix de produção. Propõe-se uma fase de planejamento que tem como objetivo a determinação do número de bateladas de cada tarefa necessárias para atender a produção, bem como a respectiva janela de tempo de processamento. Estas janelas permitem a análise do carregamento dos processadores e da factibilidade do plano, ou seja, o atendimento das datas de entrega, através de ferramentas desenvolvidas na área de Busca Orientada por Restrições. Esta análise é feita para uma atribuição fixa de tarefas a processadores introduzida pelo usuário. O sistema fornece informações para orientar o usuário na criação de diferentes cenários de atribuição. O resultado da fase de planejamento é formado por um conjunto de janelas de processamento que diminuem sensivelmente a dimensão do problema de programação da produção, como é discutido para duas abordagens: programação mista (Mixed Integer Linear Programming – MILP) e Simulated Annealing.

Palavras-chave: plantas multipropósito, planejamento e programação da produção a curto prazo, propagação de restrições..


ABSTRACT

Short term scheduling in multipurpose batch chemical plants is specially complicated by the fact that plant capacity is not well defined due to the multipurpose nature of equipment units, allowing different routes. In order to reduce problem dimension, as well as allowing to analyze problem feasibility prior to spending time solving a large scheduling problem, a planning phase is proposed. At this level the objective is to determine a set of processing time windows for the batches necessary to fulfill final products' demand. The time windows allow analyzing equipment units load and plan feasibility in terms of satisfying final products due dates. To accomplish those tools from the area of Constrained Based Search are used. Feasibility analysis is done for a fixed assignment of tasks to equipment units. Through the analysis of equipment units load, the user can modify system's inputs, as raw material delivery plan, assignment task/equipment and product's demands, in order to obtain an acceptable final plan. This planning frame is especially well suited to reduce the dimension of the scheduling problem, as it is shown for a MILP formulation and for a Simulated Annealing application.

Key words: multipurpose batch plants, short term planning and scheduling, constraint propagation.


 

 

1. Introdução

Diversas áreas na indústria química utilizam plantas operando em batelada, como por exemplo a indústria farmacêutica, de alimentos e, em geral, o setor de química fina. As razões principais para esta implementação "descontínua" são receitas complexas, envolvendo freqüentemente estágios de controle difícil que exigem análises fisico-químicas, conhecimento insuficiente do processo para uma implementação contínua e mercados voláteis para os produtos. Estas plantas descontínuas caracterizam-se por um conjunto de equipamentos multipropósito, ou seja, úteis para diferentes tarefas em diferentes receitas, e com amplas possibilidades de interconexão.

A operação das plantas descontínuas pode ser realizada de forma cíclica, pela repetição de campanhas de produção (operação em campanhas), quando a demanda de produtos finais é suficientemente previsível. A planta é configurada para produzir determinados produtos finais que são estocados para garantir a demanda durante um período longo. O interesse provém da diminuição de tempos de preparação e de uma operação repetitiva no chão-de-fábrica. Quando existe incerteza na demanda, a operação é determinada pela demanda a curto prazo e possivelmente pela reposição de níveis pequenos de estoque, não sendo possível determinar um ciclo a ser repetido (operação curto prazo).

O problema tratado neste trabalho é o planejamento e programação da produção na operação de curto prazo. A questão central neste tipo de operação é averiguar se a capacidade da planta e o horizonte de tempo disponível são suficientes para atender a demanda, ou inversamente adaptar/negociar a demanda à capacidade de produção da planta. Este problema surge porque a capacidade de uma planta multipropósito não está bem definida, ela depende dos produtos que serão fabricados e especialmente do mix de produção. Nos dois casos extremos pode-se ter uma planta com baixa utilização dos equipamentos, o que provavelmente leva a fabricar produtos adicionais para estoque, ou uma demanda elevada que implica em atrasos de entrega.

Neste trabalho, a demanda é caracterizada por quantidades específicas de produtos finais com prazos de entrega determinados. Propõe-se uma fase de planejamento que tem como objetivo determinar: i) um horizonte de programaçãofactível para atender a demanda e ii) analisar o carregamento da planta induzido pela demanda. A ferramenta principal para a análise do carregamento da planta é o conjunto de resultados disponíveis na área de Busca Orientada por Restrições (Constrained Based Search). Eles permitem determinar o carregamento dos processadores induzido pelas tarefas habilitadas neles a partir das janelas de tempo em que estas tarefas devem ser processadas. Estas janelas de tempo para processamento são determinadas, na fase de planejamento, por procedimentos semelhantes aos utilizados por sistemas MRP (Manufacturing Resources Planning), mas sem a utilização de lead times.

A fase de planejamento fornece à fase de programação um resultado na forma de uma janela de processamento para cada batelada de cada tarefa. Estas janelas de tempo são factíveis do ponto de vista de capacidade dos processadores sob diversas circunstâncias e fornecem aos usuários uma visão clara do carregamento, permitindo, por exemplo, analisar as folgas que sejam julgadas necessárias para atender a imprevistos no chão-de-fábrica. Este resultado, em forma de um conjunto de janelas de tempo, é extremamente útil para reduzir a dimensão do problema de programação. Isto é discutido para duas abordagens ao problema de programação da produção: uma formulação mista (Mixed Integer Linear Problem – MILP) com discretização uniforme do tempo e uma aplicação de Simulated Annealing.

A divisão do problema em dois níveis, o nível de planejamento e o nível de programação de produção, tem sido a abordagem tanto industrial quanto em trabalhos acadêmicos. Porém esta divisão não é fácil: o nível de planejamento deveria incluir diversos aspectos da programação da produção de forma a gerar planos aceitáveis para esta última. Por exemplo, a hipótese de capacidade infinita em sistemas MRP, pode levar a uma situação infactível se os lead times não são suficientemente grandes.

Na literatura acadêmica da área de engenharia química a linha principal tem sido o desenvolvimento de modelos de planejamento simplificados baseados nos modelos da programação de produção, pela agregação do tempo e da agregação de restrições (KUDVA et al., 1994; BASSETT et al., 1996 e SUBRAHMANYAM et al., 1996). O objetivo são modelos simplificados que são utilizados, a partir de formulações de programação mista, para determinar os requisitos de produção em cada período de tempo agregado. O problema, semelhante ao caso do MRP, é poder garantir que o problema de programação da produção posterior será factível. Quando a situação não é factível, o recurso é a volta ao nível de planejamento e a introdução de limites nos requisitos de produção que podem ser alocados a cada período de tempo.

A abordagem conjunta dos problemas de planejamento e de programação da produção tem sido atacada por formulações de programação mista (KONDILI et al., 1993; BAKER, 1993), mas a necessidade de uma representação suficientemente fina do tempo (para a programação da produção) leva, em geral, a problemas de dimensão demasiado grande.

Neste trabalho propõe-se uma solução em dois níveis, na qual o nível de planejamento fornece, como resultado, um conjunto de janelas de tempo factíveis em termos de capacidade dos equipamentos sob diversas circunstâncias. Neste sentido, é um passo na inclusão das restrições de capacidade dos equipamentos na fase de planejamento.

 

2. Fase de Planejamento

A modelagem do processo de produção é feita utilizando a representação de Redes Estado-Tarefa (State Task Network – STN) introduzida em (KONDILI et al., 1993). Trata-se de uma representação em forma de grafo no qual os nós representam estados (matérias-primas, produtos intermediários e produtos finais) ou tarefas (estágios na transformação das matérias-primas em produtos finais). A Figura 1 mostra um exemplo de representação STN. A tarefa TA processa o estado de entrada S1 dando lugar ao estado S3, ambos em quantidades iguais ao tamanho de batelada de TA. Já a tarefa TC tem dois estados de entrada, S2 e S3, em proporções de 80% e 20% do tamanho de batelada de TC, e produz dois estados de saída, S4 e S5, na mesma proporção de 50%.

 

 

Cabe notar que o grafo STN representa apenas a receita de fabricação; não inclui a alocação de tarefas a processadores, podendo existir várias alocações possíveis como é corrente em plantas multipropósito. Os tempos de processamento das tarefas são considerados fixos, independentes da alocação. Caso contrário, o estágio em questão tem de ser representado por duas (ou mais) tarefas com tempos de processamento diferentes (função dos processadores em que estão habilitadas). A representação STN especifica, para cada tarefa, os estados de entrada e saída, assim como suas porcentagens, na entrada e saída, com relação ao tamanho da batelada da tarefa (frações mássicas). As informações na representação STN são análogas às contidas no bill of materials utilizado em sistemas MRP, mas é uma ferramenta com maior potencialidade de representação de receitas complexas de produção, tais como reciclos, freqüentes na indústria química.

A estrutura para o sistema de planejamento proposto é a indicada na Figura 2.

 

 

A obtenção das janelas de processamento é feita em três passos:

  • Determinação da quantidade de bateladas de cada tarefa e dos instantes de término mais tarde (latest finishing timesLFT) respectivos a partir da demanda de produtos finais e de uma alocação única de tarefas a processadores;
  • Determinação dos tempos de início mais cedo (earliest beginning timesEBT) para todas as bateladas a partir de um plano de fornecimento de matérias-primas;
  • Propagação das restrições induzidas pelas janelas de processamento (EBT, LFT) obtendo as janelas de processamento para a fase de programação da produção.

 

2.1 Quantidade de Bateladas e Instantes de Término Mais Tarde

O procedimento é semelhante à fase de explosão em sistemas MRP (ORLICKY, 1975). Inicia-se com os produtos finais e percorre-se o diagrama STN até as matérias-primas determinando a demanda de cada estado induzida pelos produtos finais. A representação STN permite determinar facilmente a ordem em que os estados devem ser tratados (low level coding). Da mesma forma que em sistemas MRP, nesta fase deve ser determinado o tamanho de batelada para cada estado ou tarefa produzindo cada estado. Freqüentemente, na indústria química, a liberdade para definir o tamanho de batelada de uma tarefa é muito restrita devido a limitações tecnológicas no equipamento (ex. reatores) ou pouco conhecimento de fatores de escala na receita; no sistema desenvolvido tem se optado por um tamanho de batelada fixo. A determinação deste tamanho de batelada implica em definir uma alocação única de tarefas a equipamentos (permitindo a alocação de várias tarefas ao mesmo equipamento), o que constitui uma das três entradas do sistema de planejamento. Ou seja, as diferentes opções possíveis de alocação de equipamentos devem ser analisadas como cenários de planejamento diferentes, sendo que a informação sobre o carregamento dos equipamentos em cada caso, fornece ao usuário meios para selecionar as modificações possíveis.

Diferentemente dos sistemas MRP, a fase de explosão não utiliza lead times mas apenas os tempos de processamento (acrescentados de tempos de setups independentes da seqüência), isto porque nesta fase não se determinam release times, apenas instantes de término mais tarde (LFT – latest finishing time).

A fase de explosão termina com a obtenção de um plano de fornecimento de matérias-primas. Este plano é um plano limite na medida que só seria factível se todos os equipamentos fossem dedicados, ou seja, se não existisse compartilhamento de processadores por diferentes tarefas. O plano é também individualizado, na medida em que cada batelada consumindo matéria-prima origina uma demanda com due date específico. Qualquer plano de fornecimento de matéria-prima será certamente mais agregado e deverá preceder no tempo a este plano limite. A introdução de um plano realista é feita pelo usuário e modificada interativamente até conseguir um resultado do planejamento factível e que implique um carregamento da planta julgado adequado.

 

2.2 Determinação de Tempos de Início Mais Cedo e Obtenção das Janelas de Tempo Iniciais

Os instantes de início mais cedo de todas as bateladas (já determinadas no passo anterior) são obtidos a partir de um plano de fornecimento de matérias-primas introduzido pelo usuário. O procedimento consiste apenas em um balanço de massa iniciando com as matérias-primas e percorrendo o STN até os produtos finais. Obtém-se desta forma o tempo de início mais cedo – EBT para cada batelada dos estados intermediários e dos produtos finais. Para cada batelada, o par (EBT, LFT) determina a sua janela de tempo para produção. Dada a alocação única de tarefas a equipamentos, essas janelas de tempo de produção de estados são também as janelas de processamento das bateladas das tarefas produtoras. Cada janela deve ser obviamente maior que o tempo de processamento mais qualquer tempo de setup necessário, mas deverá incluir uma folga para permitir o compartilhamento de processadores. Esta folga corresponde à diferença entre o lead time e o tempo de processamento em sistemas MRP, mas assim como nestes sistemas a folga é um dado de entrada (através do lead time) aqui ela é determinada por uma análise do carregamento dos processadores induzido pelas janelas de processamento.

 

2.3 Propagação de Restrições

A fase de propagação de restrições tem como objetivo determinar as reduções nas janelas de processamento das bateladas impostas pelas condições do problema. As condições que podem levar a reduções, implementadas no sistema de planejamento, são as seguintes:

  • intervalos de tempo com ocupação obrigatória de equipamentos;
  • ordenamentos entre bateladas de tarefas diferentes alocadas ao mesmo equipamento;
  • dependência entre as janelas de tempo de bateladas produtoras e consumidoras de um estado intermediário (balanço de massa);
  • ordenamento entre bateladas sucessivas de uma mesma tarefa;
  • restrições sobre as janelas de tempo de bateladas ligadas por estados intermediários com condições de armazenagem restritas.

A. Intervalos de ocupação obrigatória (Intervals of total reliance, SADEH 1991)
Dada a janela de tempo (EBT, LFT) de uma batelada, com tempo de processamento TP, se LFT – TP < EBT + TP, o intervalo (LFT – TP, EBT + TP) será necessariamente utilizado pela batelada. Esta ocupação obrigatória do equipamento, ao qual a tarefa está alocada, implica que o equipamento não estará disponível para outras bateladas neste intervalo. A propagação desta restrição pode levar à redução das janelas de outras bateladas se estas janelas incluem o intervalo.

B. Ordenamentos entre bateladas de tarefas diferentes alocadas ao mesmo equipamento.
A detecção de ordenamentos induzidos pelas janelas de processamento utiliza ferramentas desenvolvidas na área de Busca Orientada por Restrições (LE PAPE, 1994; BAPTISTE & LE PAPE, 1995), que tem sido incorporadas em softwares de programação de produção comerciais (ILOG, 1997).

De forma resumida, trata-se de determinar ordenamentos obrigatórios entre pares de bateladas. Sejam A e B duas bateladas competindo pelo mesmo processador, com janelas de processamento dadas por (EBTA, LFTA) e (EBTB, LFTB) e tempos de processamento TPA e TPB. Definem-se os instantes de início mais tarde (latest beginning time – LBT) e de término mais cedo (earliest finishing time – EFT) como: LBTA = LFTA – TPA e EFTA = EBTA + TPA. A possibilidade de ordenamento tem que ser analisada apenas se as duas janelas tem interseção. A situação é infactível, ou seja as bateladas não poderão ser processadas dentro das suas janelas, se a condição 1 é satisfeita.

max(LFTA,LFTB)-min(EBTA,EBTB),TPA+TPB
[1]

Se a situação é factível, um ordenamento pode ser deduzido se alguma das duas condições 2a ou 2b é satisfeita.

EFTB>LBTA então AB (A precede B)
[2a]

EFTA>LBTB então AB (B precede A)
[2b]

Estes ordenamentos dão lugar a reduções nas janelas nas seguintes situações:

 

A precede B

se EBTB<EBTA+TPAÞ EBTB=EBTA+TPA

se LFTA>LFTB-TPBÞ LFTA=LFTB-TPB

[3a]

B precede A

se EBTA<EBTB+TPBÞ EBTA=EBTB+TPB

se LFTB>LFTA-TPAÞ LFTB=LFTA-TPA

[3b]

No primeiro caso (equação 2a) A precede B e portanto EBTB tem um valor mínimo de forma a permitir o processamento de A antes. Da mesma forma LFTA tem um valor máximo para permitir o processamento de B depois (equações 3a). A situação inversa ocorre no segundo caso (equações 2b e 3b).

Qualquer relação de ordenamento é deduzida da condição LFTr–EBTr>TPr onde r representa qualquer conjunto de bateladas competindo por um processador. Existem (2n–1) conjuntos para n bateladas. Uma forma de reduzir a dimensão do problema foi apresentada em CASEAU & LABURTHE (1994) pela utilização do conceito de intervalo de tarefas (task interval). Um intervalo de tarefas é definido como o conjunto de tarefas (bateladas) construído a partir de duas tarefas A e B (que podem ser a mesma) escolhendo as tarefas i tais que EBTi>EBTA e LFTi>LFTB. Os autores provam que apenas é necessário considerar estes conjuntos, a vantagem sendo que o número de conjuntos é no máximo n2.

O ordenamento entre uma tarefa e um intervalo de tarefas é deduzido, na referência acima citada, nas seguintes situações:

  • Exclusão: ordenamento entre uma tarefa A e um intervalo de tarefas W (AÏW)

Para um conjunto W o LFTW (EBTW) é definido como o máximo LFT (mínimo EBT) das tarefas pertencentes a W e o tempo de processamento como a soma dos tempos de processamento das tarefas.

Definindo F = W È A a situação será infactível se LFTF-EBTF<TPW+TPA. Em uma situação factível o ordenamento pode ser deduzido em dois casos:

(a) se LFTW-EBTA<TPW+TPA então A não precede o conjunto W , portanto a seguinte restrição deve ser satisfeita.

EBTA>(EBTi+TPi)

[4a]

(b) se LFTA-EBTW<TPW+TPA então A não segue o conjunto W , portanto a seguinte restrição deve ser satisfeita.

LFTA<(LFTi-TPi)

[4b]

Em dois casos podem ser obtidas condições de ordenamento mais fortes. No caso (a) se, adicionalmente, LFTF-EBTF<TPW+TPA significa que A não pode ser processada entre as tarefas i pertencentes a W . Dado que já é conhecido que A não precede o conjunto W tem-se que W precede A. Neste caso EBTA deve ser maior que o instante de término mais cedo (EFT – earliest finishing time)do conjunto W. Um limitante inferior para este é EBTW+TPW, portanto:

EBTA>EBTW+TPW
[5a]

Neste caso também os LFT das tarefas i pertencentes ao conjunto W devem satisfazer

LFTi<LFTA-TPA " iÎ W
[6a]

No mesmo caso (a) a conclusão W precede A também é obtida se a tarefa A deve seguir qualquer tarefa iÎ W porque EBTA+TPA>LFTi-TPi " i Î W , e neste caso as condições 5a e 6a devem também ser satisfeitas.

No caso (b), se adicionalmente LFTWEBTW <TPW +TPA, isto significa que A não pode ser processada entre as tarefas i pertencentes a W. Dado que já é conhecido que A não segue o conjunto W, conclui-se que A precede W . Neste caso LFTA deve ser menor que o LBT do conjunto W. Um limitante superior para este é LFTW TPW e portanto:

LFTA<LFTW-TPW
[5b]

Também neste caso os EBT para as tarefas i pertencentes a W devem satisfazer:

EBTi>EBTA+TPA " iÎ W
[6b]

No mesmo caso (b) a conclusão A precede W também é obtida se a tarefa A deve preceder qualquer tarefa iÎ W porque LFTATPA<EBTi+TPi " iÎ W, e então as condições 5b e 6b devem ser satisfeitas.

  • Edge Finding: ordenamento entre uma tarefa A e um intervalo de tarefas W (AÎ W)

A situação é infactível se . Em uma situação factível podem ser deduzidos ordenamentos em dois casos:

LFTW-EBTW<TPW
[7a]

então A não precede o conjunto remanescente W  – {A}

EBTW-LFTA>TPW
[7b]

então A não segue o conjunto remanescente W  – {A}

Nestes casos são obtidas condições idênticas às equações 4a e 4b. No primeiro caso EBTA é modificado para satisfazer:

EBTA>(EBTi+TPi)
[8a]

No segundo LFTA deve satisfazer:

LFTA<(LFTi-TPi)
[8b]

A determinação de ordenamentos induzidos pelas janelas de tempo de bateladas competindo pelo mesmo processador pode originar desta forma reduções nas janelas de tempo através de aumentos de EBT e/ou diminuições de LFT.

C. Dependência entre as janelas de tempo de bateladas produtoras e consumidoras de um estado intermediário (balanço de massa).
A fase de planejamento, pelo processo de explosão, permite determinar as relações de precedência entre bateladas produtoras e consumidoras do mesmo estado. A precedência entre duas bateladas A e B implica que EBTB>EBTA+TPA e LFTA<LFTB–TPB. Desta forma, por exemplo, qualquer aumento no EBT da batelada produtora A se traduz no aumento do EBT da batelada consumidora B. Torna-se assim necessária uma fase de propagação de restrições através da receita (STN), a chamada propagação intra-ordem em KENG et al. (1988), complementando a propagação interordem que focaliza os conflitos nos processadores.

D. Ordenamento entre bateladas sucessivas de uma mesma tarefa.
As bateladas sucessivas de uma mesma tarefa estão alocadas no mesmo processador e portanto, entre duas bateladas A1 e A2 pode-se impor que EBTA2>EBTA1+TPA e LFTA1<LFTA2–TPA.

E. Restrições sobre as janelas de tempo de bateladas ligadas por estados intermediários com condições de armazenagem restritas.
As limitações nas condições de armazenagem são muito freqüentes na indústria química dada a natureza dos produtos intermediários. Na literatura tem sido classificadas como: FIS (Finite Intermediate Storage), NIS (No Intermediate Storage) quando não existe tanque para a armazenagem mas o produto pode ser armazenado no processador e ZW (Zero Wait) quando o produto é instável e não pode portanto ser armazenado.

Essas restrições, diferentemente das restrições de balanço de massa, não podem ser representadas por relações de precedência entre bateladas, a exceção sendo o caso ZW.

Considere, por exemplo a situação representada na Figura 3. Dada a condição ZW sobre o estado intermediário, uma mudança (redução) no LFT de uma batelada produtora (TA) exige uma redução no LFT da batelada consumidora (TB) correspondente. Esta propagação pode ser feita utilizando apenas as relações de precedência impondo LFTB = LFTA + TPB. Da mesma forma, na situação em que ocorre um aumento no EBT de uma batelada consumidora (TB), tem-se EBTA = EBTB – TPA .

 

 

A situação NIS não pode ser resolvida apenas pelas relações de precedência, como é ilustrado na Figura 4.

 

 

Supõe-se uma mudança (redução) no LFT da batelada m da tarefa produtora TA.Inicialmente isto origina uma redução do intervalo de tempo em que o produto intermediário resultado da batelada m – 1 pode ser armazenado no processador da tarefa TA. Como conseqüência o LFT da batelada m – 1 da tarefa consumidora TB deve ser reduzido.

A situação FIS exige a análise dos perfis de produção e consumo mais tarde ou mais cedo como exemplificado na Figura 5.

 

 

Supõem-se duas bateladas da tarefa produtora TA e quatro bateladas da tarefa consumidora TB e uma mudança (redução) no LFT da segunda batelada produtora. A propagação desta redução para a primeira batelada origina um perfil de produção mais tarde que, junto com o perfil de consumo mais tarde, implica ultrapassar a capacidade de armazenagem. Alguns LFTs das bateladas consumidoras devem ser reduzidos, ou, em outras palavras, alguns LFTs das bateladas consumidoras não são possíveis.

Os dois últimos exemplos mostram que as condições de armazenagem podem introduzir restrições, que não são detectadas quando a propagação é feita utilizando apenas restrições de precedência. Torna-se necessária uma propagação baseada em balanços de massa e mais abrangente.

Nas técnicas de Busca Orientada por Restrições, a propagação de restrições através da receita é feita utilizando relações temporais entre EBTs e LFTs de bateladas produtoras e consumidoras. Trata-se basicamente de relações de precedência que podem ser obtidas a partir na fase de explosão. Curiosamente, essas relações temporais são dados de entrada nos sistemas atualmente disponíveis (ILOG, 1997), devendo ser completados com uma fase de pré-processamento (DAS et al., 1998, 1999) que forneça estes dados. Os dois primeiros passos na fase de planejamento aqui proposta têm essa finalidade.

Estes mecanismos de propagação de restrições tem sido implementados em um sistema interativo de planejamento e programação da produção. O objetivo é o desenvolvimento de técnicas para a programação da produção baseadas em abordagens de programação mista (Mixed Integer Linear Programming – MILP) e Simulated Annealing para situações com carregamento alto.

 

3. Exemplo: Fase de Planejamento

Trata-se da fabricação de três produtos finais. A Figura 6 contém a representação STN da receita e as Tabelas 1 e 2 a atribuição de tarefas a equipamentos, as condições de armazenagem e a demanda de produtos finais.

 

 

 

 

 

 

Os dois primeiros passos da fase de planejamento levam ao resultado mostrado na Figura 7 na qual estão representadas as janelas de tempo das bateladas necessárias para a demanda dada na Tabela 2. Todas as matérias-primas estão disponíveis em t = 1. A Figura 8 representa as janelas de tempo para as bateladas das tarefas após a propagação de restrições, assim como o carregamento dos processadores.

Comparando as Figuras 7 e 8 observa-se que diversas janelas de processamento foram reduzidas no processo de propagação de restrições. Algumas destas reduções são discutidas a seguir.

  • As cinco primeiras bateladas da tarefa TA1, produzindo o estado A1, têm janelas de tempo de 5 horas, sendo que o tempo de processamento de cada uma delas é de 4 horas. Apresentam então intervalos de ocupação obrigatória, mostrados na Figura 8. Estes intervalos reduzem drasticamente as janelas das bateladas da tarefa TC1 (produzindo o estado C1Figura 7), dado que utilizam o mesmo equipamento (P1);
  • As nove primeiras bateladas da tarefa TA2, produzindo o estado A2, têm os seus LFTs diminuídos devido aos LFTs das mesmas bateladas da tarefa TA1 dada a condição NIS para o estado A1. Uma situação análoga ocorre para as bateladas TC5/1 – 4 (C4 estado NIS) e para as bateladas TB2/1 – 4 (B1 estado ZW);
  • Como resultado destas propagações a análise de capacidade nos processadores detecta os seguintes ordenamentos e reduções de janelas nos processadores P1 e P2 (estes ordenamentos não são visíveis na Figura 7 dado que resultaram das modificações nas janelas nos dois passos anteriores):

—TA1/6 precede TC1/2 levando a um aumento de EBT(TC1/2);
—O conjunto {TA1/6-8, TC1/1} precede TA1/9 levando a um aumento de EBT(TA1/9);
—O conjunto {TA1/6-9, TC1/1,2} precede TA1/10 levando a um aumento de EBT(TA1/10);
—TA1/6 precede o conjunto {TA1/7-9, TC1/2} levando a uma diminuição de LFT(TA1/6);
—TA2/4 precede TA4/1 levando a um aumento de EBT(TA4/1);
—O conjunto {TA2/6, TA4/3,4} precede TA2/7 levando a um aumento de EBT(TA2/7);`
—TA4/2 precede o conjunto {TA2/6, TA4/3,4} levando a uma diminuição de LFT(TA4/2);
—O conjunto {TA2/6, TA4/3,4} precede TA4/5 levando a um aumento de EBT(TA4/5);
—O conjunto {TA2/6, TA4/3 – 5} precede TA2/7 levando a um aumento de EBT(TA2/7);

A propagação de restrições por balanço de massa/armazenamento e por capacidade deve ser continuada, até que não se produzam mais modificações nas janelas. Neste exemplo, isto requer ainda dois passos levando finalmente ao resultado mostrado na Figura 8.

A Figura 8 mostra na sua parte direita o carregamento dos processadores. Para cada processador determina-se a demanda agregada, conceito introduzido em SADEH (1991). Dada uma batelada e sua janela de processamento, nesta referência define-se a demanda individual da batelada por cada intervalo de tempo dentro da sua janela como a probabilidade de que este intervalo seja utilizado. Esta probabilidade é calculada facilmente a partir das diferentes possibilidades de alocação da batelada dentro da sua janela. A demanda agregada por um intervalo é definida como a soma das demandas individuais pelo intervalo por todas as bateladas que competem pelo mesmo processador. Esta demanda agregada tem apenas um valor qualitativo (soma de probabilidades), mas fornece uma indicação clara da disputa no tempo pelos processadores. Na Figura 8 observa-se que a maior disputa está localizada nos processadores P1 e P2: em P1 as bateladas {TA1/6 – 9, TC1/1,2} tem uma folga de apenas 1 intervalo e em P2 as bateladas {TA2/6, TA4/3,4} têm folga zero. A partir destas informações cabe ao usuário decidir se o planejamento pode ser encaminhado ao chão-de-fábrica ou se ele é inaceitável pelas folgas reduzidas. Neste último caso alguma(s) das três entradas do sistema interativo (Figura 2) deverão ser modificadas. O fornecimento de matérias-primas pode ser antecipado, a atribuição de tarefas a processadores pode ser modificada ou a demanda pode ser negociada. A Figura 8 é útil nesta fase dado que visualiza os gargalos, permitindo por exemplo uma análise preliminar das alternativas de atribuição; preliminar porque se a mudança na atribuição implica em uma mudança do tamanho de batelada o resultado final só será conhecido após uma nova fase de explosão no planejamento.

 

4. Exemplo: Fase de Programação

O resultado do planejamento na forma de um conjunto de janelas de processamento tem sido utilizado na fase de programação da produção em duas abordagens: programação mista (MILP) e Simulated Annealing.

Programação Mista (MILP)

O modelo MILP foi obtido a partir da formulação apresentada em KONDILI et al. (1993) que utiliza uma representação discreta do tempo com intervalo de discretização constante. As variáveis binárias Wi,j,t representam o início de processamento da tarefa i, no processador j no intervalo t (Tabela 3). A nomenclatura e as equações básicas são descritas a seguir:

 

 

  • balanço de massa: relaciona o estoque de estado s no intervalo t com o estoque no intervalo anterior, a produção, o consumo e os aportes ou retiradas.
[09]
  • tamanho de batelada: restringe o tamanho de batelada pelos valores máximo e mínimo.
[10]
  • utilização de equipamentos: garante a não sobreposição de bateladas.
[11]

A crítica principal a esta formulação é o número elevado de variáveis binárias para problemas de médio ou grande porte. Isto porque o intervalo de discretização deve ser o maior denominador comum dos tempos de processamento das tarefas. Porém, a utilização de uma grade de tempo é muito adequada para introduzir as restrições impostas pelas janelas de tempo originadas pelo nível de planejamento. Estas janelas reduzem drasticamente o número de variáveis binárias e o âmbito das equações. As modificações em relação à formulação originalmente apresentada na referência acima referem-se às equações de balanço de massa e de compartilhamento de processadores que são descritas a seguir. Dado que a atribuição é fixada na fase de planejamento o índice j pode ser eliminado e o tamanho de batelada é fixo para cada tarefa (Tabela 4).

 

 

A equação 12 representa a equação de balanço de massa, e em relação a equação original foi modificada nos seguintes aspectos:

  • O índice i passa a representar subtrens, definidos como conjuntos de tarefas operando em modo ZW. A alocação da primeira tarefa de um subtrem implica a alocação de todas as outras tarefas constituindo o subtrem;

  • Os intervalos onde o estoque de um estado s pode mudar são conhecidos a priori, a partir das janelas de tempo obtidas na fase de planejamento, e portanto a equação de balanço pode ser restrita a estes intervalos;
[12]

A disputa entre tarefas atribuídas ao mesmo processador é modelada pela equação 13, na qual o conjunto shat,j contém os intervalos t do processador j onde existe sobreposição de janelas. Apenas nesta situação pode existir disputa.

[13]

A função de custo utilizada é a soma dos avanços das bateladas de produtos finais em relação aos prazos de entrega.

Estas modificações levam a uma redução grande na quantidade de variáveis binárias e no número de equações. Evidentemente esta redução será tanto maior quanto mais reduzidas sejam as janelas de processamento.

A experiência com esta formulação tem mostrado, em diversos exemplos, a degenerescência típica desta formulação em problemas de dimensão média ou grande: a dificuldade em obter-se soluções inteiras. Em todos os casos analisados a razão foi a mesma; a existência de equipamentos dedicados ou com carregamento baixo, que permitem muitas possibilidades de alocação para as bateladas. Certamente, em uma situação real, os programadores de produção deixariam de lado estes equipamentos, concentrando a sua atenção no problema com os equipamentos mais carregados. Isto porque as implicações da solução do problema nos processadores carregados sobre os equipamentos dedicados ou pouco carregados será facilmente satisfeita.

Uma formulação MILP reduzida tem sido desenvolvida com este propósito. O usuário escolhe as tarefas a serem consideradas pela formulação em função do carregamento dos equipamentos obtido na fase de planejamento. Como algumas tarefas são eliminadas do modelo original, torna-se necessária uma equação adicional (equação 14), basicamente uma equação de ligação entre as bateladas de tarefas ativas ligadas no STN por tarefas inativas. O objetivo desta equação é o de garantir um intervalo de tempo suficiente entre as bateladas ativas de forma que as bateladas inativas possam ser executadas. A determinação destes intervalos (gapb,i,b',i' na equação 14) é feita na fase de planejamento, quando são obtidas as relações de precedência entre bateladas devidas aos balanços de massa.

" i, i', b, b' / (i, b) e (i', b') ativas e (i, b) é necessária para a execução de (i', b')

[14]

Esta formulação pode ser vista como uma tentativa de eliminar do MILP a consideração de processadores não-gargalos.

A Figura 9 mostra a solução obtida com a formulação MILP não reduzida.

A solução foi obtida utilizando OSL e a linguagem GAMS. As características principais do problema MILP são 1564 equações, 314 variáveis contínuas e 538 variáveis binárias. A solução foi obtida com 192282 iterações e 23467 nós e o limite para interromper a execução (OPTCR) foi fixado em 0.01. Para alcançar este gap foram necessárias 215781 iterações. A solução inteira assim obtida tem um avanço total de 36 horas.

A seguir foi utilizado o modelo reduzido eliminando as tarefas TB3 e TC3. Estas tarefas estão alocadas ao equipamento P6 com carga baixa no intervalo em que as bateladas das duas tarefas se sobrepõem. A Figura 10 mostra a solução obtida com este modelo reduzido.

A solução completa é obtida num segundo passo em que as alocações da Figura 10 são mantidas, obtendo-se neste caso a mesma solução que a mostrada na Figura 9 com a formulação não reduzida. As características dos problemas MILP nos dois passos, e do problema não reduzido, estão incluídas na Tabela 5.

 

 

O exemplo ilustra o interesse do modelo reduzido que leva a uma redução drástica do esforço computacional. O segundo passo poderia ser resolvido sem uma formulação MILP dado que a alocação das bateladas de TB3 e TC3 nas janelas remanescentes é simples.

Simulated Annealing

A técnica de Simulated Annealing tem sido utilizada em problemas de programação da produção (KU & KARIMI, 1991; DAS et al., 1990) mas, da mesma forma que os algoritmos genéticos (LÖHL et al., 1998), pode gerar uma grande quantidade de candidatos infactíveis em problemas com restrições fortes. Na situação considerada, ou seja, a alocação dentro das janelas de processamento fornecidas pelo nível de planejamento, este resultado tem sido confirmado. A proposta apresentada em (RODRIGUES et al., 2000) consiste na filtragem dos candidatos antes da sua avaliação (pelo seqüenciamento e alocação no tempo). Utiliza-se para isto uma representação em grafo do conjunto de bateladas a alocar com dois tipos de arcos dirigidos: i) os arcos representando as relações de ordenamento entre bateladas determinadas na fase de planejamento e, ii) os arcos representando os ordenamentos entre as bateladas na solução vigente.

A geração de um novo candidato a partir da solução vigente é feita pela permutação entre duas bateladas alocadas no mesmo equipamento. Esta permutação originará um candidato infactível se o novo grafo apresenta um ciclo.

A filtragem proposta consiste: i) na determinação das bateladas que podem fazer parte do primeiro sorteio: aquelas que possuem arcos disjuntivos, e ii) para cada batelada habilitada para o primeiro sorteio, na determinação das bateladas que podem permutar com ela: aquelas que possuem arcos disjuntivos interligando-as com a primeira.

Para o exemplo considerado, a Figura 11 representa os arcos dirigidos e os arcos disjuntivos resultantes da fase de planejamento. Os nós em preto representam as bateladas que podem fazer parte do primeiro sorteio, tem-se apenas 29 bateladas candidatas dentre as 85 bateladas existentes.

 

 

A Figura 12 ilustra a segunda fase da filtragem. Supondo a solução vigente representada no grafo, na figura consta, para cada batelada habilitada para o primeiro sorteio, a quantidade de permutações possíveis. O total de 52 permutações possíveis é reduzido a 35.

 

 

A conseqüência do processo de filtragem é uma redução grande do número de candidatos infactíveis e uma maior rapidez na obtenção das sucessivas soluções, como pode ser observado na Figura 13.

 

 

É importante esclarecer que o processo de detecção de candidatos infactíveis não representa um esforço computacional adicional grande; isto porque os arcos dirigidos são definidos na fase de planejamento e os algoritmo de detecção de ciclos em grafos são extremamente rápidos.

 

5. Conclusões

O sistema de planejamento proposto deter-mina, para uma demanda dada de produtos finais, as bateladas necessárias de todas as tarefas e a janela de processamento de cada uma delas. Para tanto utiliza como dados de entrada a atribuição de tarefas a equipamentos e o plano de fornecimento de matérias-primas. As janelas de processamento permitem utilizar técnicas de propagação de restrições pelas quais é analisado se o plano é factível, bem como o carregamento induzido nos equipamentos. O carregamento dos equipamentos constitui uma informação adequada para a negociação do cenário de planejamento com os responsáveis pela programação da produção. Caso este cenário não seja julgado adequado alguma das três entradas do sistema deve ser modificada: plano de fornecimento de matérias-primas, atribuição de tarefas a equipamentos e prazos de entrega para os produtos finais.

O resultado da fase de planejamento, na forma de janelas de processamento para as bateladas, restringe convenientemente o problema de programação da produção, reduzindo a dimensão do problema. Duas abordagens foram utilizadas para ilustrar esta redução: uma formulação MILP com discretização uniforme do tempo e um algoritmo de Simulated Annealing.

Na primeira, as janelas de processamento permitem uma redução grande no número de variáveis binárias e no número de equações. As informações de carregamento, obtidas na fase de planejamento, foram utilizadas para definir formulações reduzidas que eliminam os equipamentos dedicados ou com carregamento baixo. A abordagem proposta em dois passos é subótima mas bem mais rápida.

As janelas de processamento foram utilizadas para introduzir um processo de filtragem no algoritmo de Simulated Annealing. O objetivo foi a redução da geração de candidatos infactíveis por não respeitarem as relações de ordenamento implicadas pelas janelas de processamento. A redução nas possibilidades de permutação entre bateladas é grande em problemas com carregamento alto e, dado que o processo de filtragem está baseado em um algoritmo de detecção de ciclos em grafos, o esforço adicional é mínimo.

 

Agradecimentos

Este trabalho foi parcialmente apoiado pela Fundação de Amparo à Pesquisa do Estado de São Paulo – FAPESP.

 

Referências Bibliográficas

BAKER, K.R.: "Requirements Planning". In: GRAVES S.C. (ed.): Handbooks in OR & MS. Elsevier Science Publishers, New York, USA, 1993.        [ Links ]

BASSETT, M.H.; DAVE, P.; DOYLE III, F.J.; KUDVA, G.K.; PEKNY, J.F.; REKLAITIS, G.V.; SUBRAHMANYAM, S.; MILLER, D.L. & ZENTNER, M.G.: "Perspectives on Model Based Integration of Process Operations". Computers chem. Engng., v. 20, n. 6/7, p. 821-844,1996.        [ Links ]

BAPTISTE, P. & LE PAPE, C.: "A Theoretical and Experimental Comparison of Constraint Propagation Techniques for Disjunctive Scheduling". Proceedings 14th International Joint Conference on Artificial Intelligence. Montreal, Canada, 1995.        [ Links ]

CASEAU, Y. & LABURTHE, F.: "Improved CLP Scheduling with Tasks Intervals". Proceedings Eleventh International Conference on Logic Programming. Ed. P. van Hentenryck, The MIT Press, 1994.        [ Links ]

DAS, B.P.; SHAH, N. & CHUNG, P.W.H.: "Off-line scheduling a simple chemical batch process production plant using the ILOG scheduler". Computers chem. Engng, v. 22, Suppl, p. S947-S950, 1998        [ Links ]

DAS, B.P.; SHAH, N.; CHUNG, P.W.H. & HUANG, W.: "A Comparative Study of the Time-Based and Activity Based Approaches to Multipurpose Multistage Batch process Production Scheduling". Proceedings of PRES'99. Budapest, Hungria,p. 229-234, 1999.        [ Links ]

DAS, H.; CUMMINGS, P.T. & LE VAN, M.D.: "Scheduling of Serial Multiproduct Batch Processes with Simulated Annealing". Comp. chem. Engng., v. 14, p. 1351-1357, 1990.        [ Links ]

ILOG.: ILOG Scheduler 4.0. User' Manual. ILOG, Mountain View, USA, 1997.        [ Links ]

KENG, N.P.; YUN, D.Y.Y. & ROSSI, M.: "Interaction Sensitive Planning System for Job-Shop Scheduling", em Expert Systems and Intelligent Manufacturing. Ed. M.D. Oliff, Elsevier, p. 57-69, 1988.        [ Links ]

KONDILI, E.; PANTELIDES, C.C. & SARGENT, R.W.H.: "A General Algorithm for Short Term Scheduling of Batch Operations – I. MILP Formulation". Computers chem. Engng., v. 17, n. 2, p. 211-227, 1993.        [ Links ]

KU, H. & KARIMI, I.A.: "An Evaluation of Simulated Annealing for Batch Process Scheduling". Ind. Eng. Chem. Res., v. 30, p. 163-169, 1991.        [ Links ]

KUDVA, G.; ELKAMEL, A.; PEKNY J.F. & REKLAITIS G.V.: "Heuristic Algorithm for Scheduling Batch and Semi-Continuous Plants with Production Deadlines, Intermediate Storage Limitations and Equipment Changeover Costs". Computers chem. Engng, v. 18, n. 9, p. 859-875,1994.        [ Links ]

LE PAPE C.: "Implementation of Resource Constraints in ILOG SCHEDULE: A Library for the Development of Constrained Based Scheduling Systems". Intelligent Systems Engineering, v. 3, n. 2, p. 55-66, 1994.        [ Links ]

LÖHL, T.; SCHULZ, C. & ENGELL, S.: "Sequencing of Batch Operations for a Highly Coupled Production Process". Computers chem. Engng, v. 22, Suppl., p. 579-585, 1998.        [ Links ]

ORLICKY, J.: Material Requirements Planning. McGraw-Hill Book Company, New York, 1975.        [ Links ]

RODRIGUES, L.; GRAELLS, M.; CANTON, J.; GIMENO, L.; RODRIGUES, M.T.; ESPUÑA, A. & PUIGJANER, L.: "A Time-Windows Approach for Enhancing the Capabilities of Batch Scheduling Systems: An Application to Simulated Annealing Search". 10th European Symposium on Computer Aided Process Systems Engineering – ESCAPE 10. Florença, Italia, p. 1069-1074, 2000.        [ Links ]

SADEH, N.: Look-Ahead Techniques for Micro-Opportunistic Job Shop Scheduling. PhD Thesis, CMU-CS-91-102, School of Computer Science, Carnegie Mellon University, 1991.        [ Links ]

SUBRAHMANYAM, S.; PEKNY, J.F. & REKLAITIS, G.V.: "Decomposition Approaches to Batch Plant Design and Planning". Ind. Eng. Chem. Res., v. 35, n. 6, p. 1866-1876,1996.        [ Links ]