versão impressa ISSN 0103-1759

Sba Controle & Automação v.13 n.3 Campinas set./dez. 2002

http://dx.doi.org/10.1590/S0103-17592002000300003

Controle de transitórios em escalonamento de job shop cíclico

Adriana Backx NoronhaI; Rafael Santos MendesII

ABSTRACT

The job shop problem is particularly important among the scheduling problems found in production systems, being characterized by N parts which are processed by M machines or work stations. If the processing times in each machine are determined and known a-priori and the parts are produced repetitively, then the problem is called deterministic cyclic job shop scheduling. In this case a steady state solution, corresponding to a set point for the production system can be calculated. However, real systems are subjected to perturbations like machine failures, lack of raw material etc., that can affect the steady state solution. In this context, this work is concerned with the determination of a control law i.e. a law for the determination of the starting time of each operation in the subsequent cycles such that the set point (reference solution) be reestablished and maintained. The proposed control law is based in max-plus algebra concepts. The starting times of the operations are calculated from the starting times of the preceding operations and from a set of matrices defined in max-plus algebra.

Keywords: Discrete event systems, cyclic job shop, max-plus algebra, control laws, manufacturing systems.

RESUMO

Os problemas encontrados no escalonamento da produção são classificados em diversas categorias, dentre as quais destaca-se o problema de job shop, onde N peças são processadas por M máquinas ou estações de trabalho. O problema de escalonamento job-shop cíclico determinístico é definido como aquele em que os tempos de processamento são fixos e conhecidos a-priori e as peças são produzidas de maneira repetitiva. Para este problema uma solução em regime pode ser determinada. Porém, o sistema pode estar sujeito a distúrbios na solução de regime. Neste contexto, buscou-se neste trabalho encontrar uma lei de controle, ou seja, uma lei de determinação dos instantes de início de cada peça nos ciclos subsequentes, capaz de restabelecer e manter a solução de referência. A lei de controle é baseada em conceitos da álgebra max-plus, e consiste em determinar os instantes de início das operações a partir dos instantes de início das operações precedentes e de um conjunto de matrizes definido em max-plus.

Palavras-chave: Sistemas a eventos discretos, job shop cíclico, álgebra max-plus, lei de controle, sistemas de manufatura.

1  INTRODUÇÃO

Os problemas de escalonamento estão amplamente difundidos em uma grande variedade de atividades industriais ou tecnológicas e têm adquirido um caráter notório, mediante as exigências de aumento da produção de bens, em uma escala de tempo progressivamente menor. Nesse aspecto, pequenas falhas em um dos percursos de produção, podem desencadear desde pequenos prejuízos de ordem cronológica até a paralisação completa de todo um setor de produção.

Esses problemas encontrados no escalonamento da produção são classificados em diversas categorias, dentre as quais destaca-se o problema de job shop, onde n peças são processadas por m máquinas ou estações de trabalho. Cada peça consiste de um conjunto específico de operações que são processadas de acordo com uma ordem de precedência preestabelecida. Desde que os tempos de processamento das peças nas máquinas sejam fixados e conhecidos a priori e as mesmas peças sejam produzidas repetitivamente tem-se o problema de escalonamento job shop cíclico determinístico.

Partindo do princípio que os jobs possuem tempos de processamento determinados e que estes são processados indefinidamente ou por um longo período de tempo, é possível encontrar um escalonamento cíclico ótimo ou quase ótimo para o problema. Entretanto, nas situações práticas o problema está sujeito a restrições de continuidade tais como quebras de máquina e falta de matéria-prima. Neste contexto se insere a idéia de um planejamento reativo.

O planejamento reativo é necessário, pois visa garantir a continuidade da produção. Pode-se citar vários tipos de planejamento reativo para problema cíclicos.

Uma das forma mais simples de planejamento reativo seria a utilização de regras de prioridade, tais como FIFO - First in First Out, SPT - Shortest Processing Time, quando alguma perturbação é imposta ao sistema (Udo, 1994; Caskey & Storch, 1996; Randhawa & Zeng 1996; Xu & Randhawa, 1996; Pierreval & Mebarki, 1997; Hothaus & Ziegler, 1997). Devido à sua simplicidade, geralmente as regras de prioridade são implementadas mais facilmente, conquanto seu uso não necessariamente garanta o retorno à solução de referência.

Bowman & Muckstadt (1993) modelam o escalonamento cíclico como uma cadeia de Markov e utilizam a Teoria Ergódica para analisar a performance de escalonamentos cíclicos em ambientes com quebras de máquina, perda de produção e outras fontes de variabilidade. Eles desenvolveram o conceito de tarefa cíclica crítica como uma extensão de tarefas críticas em redes PERT e mostram que tarefas cíclicas críticas podem e deveriam ser usadas para conduzir a administração de escalonamentos cíclicos.

Groth & Mendes (1997) consideram o problema de modelar e controlar uma classe de problema de escalonamento job shop, onde assumem um tempo de processamento entre as operações de um job igual a zero (zero-wait). Para este problema os autores propõem um modelo matemático baseado na Teoria de Dióides (álgebra min-max), escrevendo equações dinâmicas nesta estrutura. Os autores, considerando que todos os jobs já tenham iniciado, propuseram leis de controle visando a minimização do número médio de iterações por unidade de tempo. Estas leis podem ser utilizadas também quando situações não previstas ocorrem durante a execução do planejamento.

Zhang & Graves (1997) examinam o comportamento do escalonamento cíclico em um ambiente estocástico caracterizado por falhas de máquina que podem atrasar a execução de tarefas e então podem causar um desvio ao escalonamento cíclico preestabelecido. Os autores buscaram entender o comportamento de um escalonamento cíclico sob incertezas com a finalidade de encontrar escalonamentos cíclicos que sejam menos interrompidos pela ocorrência de falhas de máquinas. Duas hipóteses básicas são consideradas pelos autores: 1o) indiferente do histórico das falhas das máquinas e os atrasos conseqüentes, as operações são sempre processadas na ordem descrita; 2o) uma operação nunca se inicia antes do tempo de escalonamento prefixado, ainda que a máquina possa estar ociosa.

Em suma, o planejamento reativo do problema de escalonamento job shop cíclico determinístico, isto é, onde é possível encontrar uma solução estável, tem por objetivo oferecer formas de controle, quando uma perturbação ocorre, devido a perturbações imprevisíveis, visando restabelecer e manter a solução de referência.

Neste trabalho propõe-se uma metodologia para o planejamento reativo de um job shop cíclico. A metodologia é baseada numa lei de controle para o sistema perturbado que garanta seu retorno ao escalonamento cíclico conhecido. Uma lei de controle consiste em uma lei de determinação dos instantes de início de cada job nos ciclos subsequentes, capaz de restabelecer e manter o escalonamento cíclico conhecido, assegurando deste modo a produção em uma fábrica e com isso permitindo o cumprimento total ou parcial dos seus compromissos de entrega, sem desperdício de materiais e nem perda de produtos.

Na proposta deste trabalho, a lei de controle deve basicamente, calcular os instantes de início de cada operação (variáveis de decisão) a partir de informações sobre início das operações passadas (variáveis medidas), do escalonamento cíclico preestabelecido e do conhecimento sobre o job shop (modelos da planta). A figura 1 ilustra a analogia entre a abordagem proposta neste trabalho e os conceitos utilizados na teoria e prática de controle.

O papel do controlador neste esquema é o de definir os instantes de início das operações que deverão se iniciar no futuro imediato. Quando o sistema opera sem perturbações esta tarefa é trivial, dado que se considera o escalonamento cíclico conhecido. Quando ocorrem perturbações, mesmo após a reposição da suas causas, os instantes de início do ciclo corrente deixam de corresponder aos instantes definidos pelo escalonamento cíclico preestabelecido (em geral uma perturbação interfere diferenciadamente nas diversas operações). A informação relativa a estes instantes de início perturbados será considerado no contexto deste trabalho como a ''condição inicial do sistema''.

De modo geral, define-se um vetor tk cujos componentes são os instantes de início das operações, dependente da variável livre k, associada ao número de ciclos do sistema. O vetor t0 é a condição inicial. O controle do sistema é efetuado através de um conjunto de matrizes Al , l Î {1,..., m} cujo cálculo é definido na seção 3.2. Este conjunto de matrizes define o controlador.

Os resultados apresentados neste trabalho são expressos numa álgebra diferente da usual, conhecida como álgebra max-plus. Esta álgebra tem sido aplicada à modelagem de sistemas a eventos discretos se limitando contudo a sistemas em que não haja conflitos pelo uso de recursos (Baccelli et alii, 1992). Esta restrição é uma importante limitação à utilização da abordagem max-plus e os resultados propostos no presente trabalho constituem um esforço no sentido de superá-la. A literatura apresenta resultados fundamentais relativos à convergência de expressões do tipo Ak onde A é uma matriz na álgebra max-plus e k é um inteiro. Estes resultados tem importante significado prático (Baccelli et alii, 1992). Neste trabalho são propostos novos resultados relativos à convergência de produtos de matrizes que estendem os resultados clássicos e ampliam significativamente o espectro de aplicações desta teoria.

Este trabalho é organizado da seguinte forma: na seção 2 descreve-se o problema de job shop cíclico a ser considerado, na seção 3 apresenta-se um resumo dos conceitos teóricos que são utilizados no desenvolvimento deste trabalho (álgebra max plus); na seção 4 propõe-se o modelo matemático para o sistema reativo, na seção 5 mostra-se como construir o conjunto de matrizes de decisão e um exemplo é apresentado na seção 6. Finalmente as conclusões são apresentadas na seção 7.

2  JOB SHOP CÍCLICO

Em um problema clássico de escalonamento, um conjunto de tarefas é executado uma vez, e uma solução é encontrada buscando-se otimizar um critério, por exemplo, a minimização da duração total de fabricação, minimização dos atrasos de fabricação, etc. Em um problema de escalonamento cíclico, as tarefas, chamadas de tarefas genéricas, são executadas infinitas vezes e, todas as ocorrências de uma mesma tarefa genérica devem satisfazer às mesma restrições. Ao resolver o problema de escalonamento cíclico busca-se maximizar o número médio de iterações por unidade de tempo, isto é, minimizar a duração do ciclo.

O problema de escalonamento cíclico tem numerosas aplicações, tais como na informática (cálculo repetitivo sobre arquiteturas paralelas), no domínio da produção (job shop repetitivo), no estabelecimento de um plano ou roteiro (utilização periódica de recursos) etc. Ambrósio (1999) apresenta uma aplicação do problema de escalonamento cíclico para o despacho de trens que perfazem sempre o mesmo horário.

Como qualquer problema de escalonamento, o job shop cíclico (JSC) é caracterizado por um conjunto de operações genéricas, que são executadas infinitas vezes ou durante um longo período de tempo. Estas operações são não reentrantes, isto é, duas ocorrências de uma mesma operação genérica não podem se sobrepor. Além disso, uma vez que uma operação comece a ser processada, não poderá ser interrompida para a execução de outra operação. O conjunto de todas as operações pode ser particionado em subconjuntos disjuntos e mutuamente exclusivos que correspondem aos jobs (Conway et alii, 1967). Cada job consiste de um conjunto de operações que devem ser realizados em alguma ordem.

O problema de escalonamento job shop cíclico, objeto de interesse deste trabalho, consiste de n jobs e m máquinas. Cada job corresponde a um conjunto de operações que devem ser realizadas em alguma ordem que é chamada de relação de precedência. A cada operação associa-se uma única máquina, um tempo de processamento fixo e uma única operação sucessora no job. O problema de job shop cíclico pode ser formulado por programação linear mista, buscando maximizar o número médio de iterações por unidade de tempo () ou minimizar o tempo de ciclo (a).

A solução do problema de job shop cíclico foi estudada por vários autores. Uma primeira tentativa de escalonamento cíclico foi proposta por Graves et alii (1983) para o escalonamento de job shops que produzem muitos produtos em uma proporção fixada por um longo período de tempo. Um job pode passar em uma máquina uma ou mais vezes. Para o caso quando somente um produto é produzido (isto é, quando todos os jobs são idênticos), Graves et alii (1983) definem um escalonamento ótimo para um comprimento de ciclo dado. Os autores apresentam um método heurístico que parece ser efetivo em encontrar bons escalonamentos.

Hillion & Proth (1989) provaram que se é dada uma ordem cíclica das tarefas em cada processador então o problema torna-se um problema de escalonamento cíclico básico e, por essa razão, pode ser resolvido em tempo polinomial. Roundy (1992) considera o problema de encontrar escalonamento cíclico para um problema de job shop no qual todos os jobs são idênticos. O autor considera simultaneamente dois critérios de otimização, a saber, o tempo de ciclo e o tempo de fluxo e, mostra que o problema de minimizar o tempo de fluxo para um dado tempo de ciclo é NP-difícil.

Hanen (1994) em seu estudo sobre escalonamento cíclico propôs uma formulação em programação linear mista para o problema de escalonamento cíclico com restrições disjuntivas chamado de job shop recorrente. Portugal (1999) e Portugal et. alii. (2000) fez modificações nesta formulação para o problema de job shop cíclico com jobs distintos, visando estabelecer um equilíbrio na produção de jobs ao longo do tempo.

Esta última abordagem será adotada neste trabalho como formulação para o problema de funcionamento do sistema job shop cíclico em regime permanente. O detalhamento da formulação matemática pode ser encontrada em Portugal (1999) e Portugal et. alii. (2000). O problema de controle em regime transitório, que é o principal tema deste trabalho, é abordado a partir da seção 4.

2.1  Exemplo

Com a finalidade de ilustrar a resolução de um problema de job shop cíclico, considere um exemplo com 3 máquinas e 3 peças. Cada peça é processada em ambas as máquinas, totalizando 9 operações. Os roteiros de fabricação (correspondem ao número da máquina), as durações das operações encontram-se na tabela 1.

A figura 2 mostra as restrições conjuntivas1 e as restrições disjuntivas2; os números dentro dos círculos correspondem à máquina a ser utilizada pelo job. O conjunto de restrições conjuntivas formam um grafo conjuntivo. O grafo disjuntivo consiste da união do grafo conjuntivo com as restrições disjuntivas, representadas pelos arcos disjuntivos. É necessário definir uma seleção das restrições disjuntivas quando busca-se resolver o problema de job shop cíclico.

Este exemplo pode ser resolvido utilizando-se de programação linear mista. A solução encontrada neste caso foi =0,1 (número médio de iterações por unidade de tempo), ou a=10, (tempo de ciclo). Para este exemplo os respectivos tempo de início de cada job em cada máquina encontram-se na tabela 2 e o ciclo obtido está representado na figura 3.

No contexto geral deste trabalho, o tempo de ciclo (a) de um JSC será representado por # e t# representará o instante de início da primeira operação de cada job quando uma solução é determinada. Assim, para o exemplo 1 tem-se # = 10 e t# = [ 0  2  2 ]T

2.2  Soluções de Regime

Em uma solução de regime conhece-se o tempo de início e fim de cada tarefa genérica e o tempo de ciclo. Neste trabalho, parte-se do princípio que uma solução de regime para o problema dado é conhecida, utilizando-se de um método qualquer para determinação desta solução de regime para o job shop cíclico com tempos determinísticos. Chama-se de solução de referência a solução de regime encontrada, podendo esta ser ótima ou não de acordo com a complexidade do problema. Considera-se que em uma solução de regime um job pode aparecer em um ciclo uma única vez. Ou seja, um job de um ciclo k + 1 só poderá se iniciar se todos os outros jobs do ciclo anterior k já foram iniciados.

Encontrada uma solução de regime, esta será repetida continuamente. Entretanto, conforme observado anteriormente, o problema de job shop cíclico pode estar sujeito a imprevistos, tais como falhas de máquinas ou falta de matéria prima, originando então uma perturbação na solução de referência.

Uma simples perturbação pode induzir várias perturbações ou atrasos secundários. Por exemplo, na figura 3, suponha-se que uma perturbação na primeira operação do job 2 (máquina 2) tenha ocorrido. Se o atraso é suficientemente grande, poderá, por sua vez, atrasar o início da próxima operação, que corresponde à operação 2 do job 3. Outrossim, desde que a primeira operação do job 2 na máquina 2 deve ser completada antes que a segunda operação deste job possa ser iniciada na máquina 1, um atraso no término da primeira operação do job 2 pode causar um atraso no início da segunda operação deste job. Se o início da segunda operação do job 2 é atrasado na máquina 1, imediatamente acarretará uma atraso na terceira operação do job 3 na máquina 1 e, assim por diante. Neste momento é necessário ter algum tipo de controle que permita a continuidade da produção e garanta o retorno à solução de referência. É necessário então, que se faça um planejamento reativo do problema de job shop cíclico.

Conforme estabelecido na introdução deste trabalho, o planejamento reativo proposto é realizado pela utilização de uma lei de controle cuja descrição é apresentada na seção 4.

Apresenta-se na próxima seção os conceitos teóricos necessários para o desenvolvimento deste trabalho.

3  CONCEITOS EM ÁLGEBRA MAX-PLUS E NOTAÇÃO UTILIZADA

Na Figura 2 apresentou-se o grafo do exemplo com as restrições conjuntivas e disjuntivas. Grafos e suas relações podem ser descritos utilizando-se de uma estrutura algébrica apropriada. A definição desta estrutura, denominada ''álgebra de caminhos'' ou ''álgebra max-plus'', requer menos propriedades do que a álgebra usual (por exemplo, não se postula a existência do elemento inverso em relação à adição).

A álgebra max-plus é essencial para relacionar grafos e matrizes, isto é, pode-se utilizar de matrizes para representar nós e arcos de um grafo e vice-versa.

Nesta seção algumas definições importantes da literatura a respeito da álgebra max-plus, as quais serão utilizadas no decorrer do desenvolvimento teórico do trabalho, são fornecidas (Cohen et al, 1989; Wagneur, 1991; Bacelli et al, 1992).

3.1  Álgebra Max Plus

Definição 3.1 - Um conjunto dotado com duas operações internas Å (soma ou adição) e Ä (produto ou multiplicação) é chamado um dióide (denotado D) se os seguintes axiomas são válidos:

"a,b,c Î D, (a Å b) Å c = a Å (b Å c)

"a,b Î D, a Å b = b Å a

Axioma 3 - Associatividade da Multiplicação:

"a,b,c Î D, (a Ä b) Ä c = a Ä (b Ä c)

Axioma 4 - Distributiva da Multiplicação sobre a Adição:

à direita: "a,b,c Î D, (a Å b) Ä c = (a Ä c) Å (b Ä c);

à esquerda: "a,b,c Î D, c Ä (a Å b) = (c Ä a) Å (c Ä b);

Axioma 5 - Existência do Elemento Neutro (Nulo) com relação à Å, denominado e: "a Î D, aÅe = a;

Axioma 6 - Absorção do Elemento Neutro da Adição por Ä: "a Î D, a Ä e = e Ä a = e;

Axioma 7 - Existência do Elemento Neutro (Identidade) com relação à Ä, denominado e:

"a Î D, a Ä e = e Ä a = a.

Axioma 8 - (Idempotência) Todo dióide D é idempotente: "a Î D, a Å a = a.

Neste artigo, associam-se às operações Å e Ä de um dióide particular às operações de maximização e adição da álgebra convencional, enquanto os elementos e e e correspondem a zero e -¥, respectivamente (álgebra ''max-plus'' - Rmax).

3.2  Teoria de Grafos

Alguns conceitos da Teoria de Grafos são necessários para o desenvolvimento teórico deste trabalho. Apresenta-se a seguir os conceitos principais utilizados no desenvolvimento da lei de controle proposta. Sugere-se Berge (1973) para um estudo mais detalhado.

Definição 3.2 (Grafo fortemente conectado) - Um grafo é dito ser fortemente conectado se para qualquer dois diferentes nós i e j existe um caminho de i para j.

Definição 3.3 (Grafo de Precedência) - O grafo de precedência de uma matriz quadrada A, nxn, com elementos em Rmax, é um dígrafo valorado com n nós e arcos (j,i) se Aij ¹ e. Neste caso o peso deste arco corresponde ao valor numérico de Aij. O grafo de precedência é denotado por G(A).

3.3  Matrizes na Álgebra Max-Plus

Considere-se matrizes com elementos pertencentes a Rmax e sujeitos às operações algébricas estabelecidas pela definição 3.1.

De acordo com Baccelli et alii (1992), existem dois tipos de composição entre matrizes: a composição paralela, denotada Å, e a composição em série, denotada por Ä. Estas composições são definidas utilizando-se das operações de composição de elementos em Rmax, para o qual considera-se os mesmos símbolos Å e Ä, usualmente referidos como ''adição'' ou ''soma'' e como ''multiplicação'' ou ''produto'', respectivamente.

A seguir apresenta-se as definições da composição paralela (Å) da composição em série (Ä) de matrizes.

Definição 3.4 - A composição paralela (Å) de matrizes é definida pela seguinte regra: se A = [Aij] e B = [Bij] possuem o mesmo tamanho então: (A Å B)ij = Aij Å Bij

Definição 3.5 - A composição em série (Ä) de matrizes A e B é definida somente quando o número de colunas de A é igual ao de linhas de B, ou seja: A é m × n e B é n × p pela seguinte regra: (A Ä B)ij = (Aik Ä Bkj)

Nesta seção, define-se o máximo ciclo médio conforme Karp (1978). Algumas de suas propriedades são apresentadas a seguir (Bacelli et alli., 1992).

O máximo ciclo médio tem uma clara relação com autovalores de matrizes dentro do contexto da álgebra max-plus e com regimes periódicos de sistemas descritos por equações lineares, também dentro do mesmo contexto.

Seja G um dígrafo valorado com n nós. Os pesos dos arcos são números reais, os quais são dados por uma matriz A n × n. O valor numérico de Aij é igual ao peso do arco do nó j para o nó i. Se tal arco não existe, então considera-se Aij = e. A entrada (i, j) de Ak = A Å A Å ... Å A, considerada dentro da estrutura algébrica Rmax, denota o peso máximo com respeito a todos os caminhos de comprimento k indo do nó j para o nó i. Se nenhum caminho existe, então (Ak)ij = e.

Definição 3.6 (Ciclo Médio) O peso médio de um caminho é definido como a soma dos pesos dos arcos individuais deste caminho, dividido pelo comprimento deste caminho. Se o caminho é denotado por r, então o peso médio é igual a |r|w/ |r|c . Se tal caminho é um circuito, diz-se o peso médio do circuito, ou simplesmente o ciclo médio.

Considere uma matriz A n × n com o grafo de precedência G correspondente. O peso máximo de todos os circuitos de comprimento j que passam pelo nó i de G pode ser escrito como (Aj)ii. O máximo destes pesos máximos sobre todos os nós é (Aj)ii pode ser escrito como traço(Aj). O peso médio é obtido dividindo este número por j no sentido convencional, que pode ser escrito como (traço(Aj)ii)1/j na notação da álgebra max-plus. Tem-se então o ciclo de peso máximo com respeito ao comprimento j. Portanto, a fórmula para o máximo ciclo médio é dado por (Baccelli et al., 1992):

Não é necessário considerar comprimentos maiores do que o número n de nós, pois circuitos com mais de n nós não são elementares.

Todos os circuitos com ciclo médio igual ao máximo ciclo médio são chamados circuitos críticos.

Definição 3.7. (Circuito Crítico) - um circuito z do grafo de precedência G(A) é chamado crítico se este tem peso máximo, denotado por |z|w.

O teorema de Karp (Baccelli et alii, 1992) fornece uma expressão para o cálculo do máximo ciclo médio.

Dada uma matriz A com elementos em Rmax, considere o problema da existência de autovalores e autovetores, isto é, a existência de e x (diferentes de zero) tais que:

Teorema 3.8. Se A é irredutível, ou equivalentemente se G(A) é fortemente conectado, existe um e somente um autovalor (mas possivelmente vários autovetores). Este autovalor é igual ao máximo ciclo médio do grafo:

onde z percorre sobre o conjunto de circuitos de G(A).

A demonstração do teorema 3.8 encontra-se em Bacelli et alii. (1992: 113).

Exemplo 3.9 (Não unicidade de autovetor) Observe que considerando uma matriz irredutível, conforme o teorema 3.8 tem-se unicidade de autovalor, porém tal unicidade não é válida para o autovetor, como mostra o exemplo a seguir:

Os dois autovetores são obviamente não ''proporcionais''.

4  MODELO MATEMÁTICO PARA O SISTEMA REATIVO

O objetivo principal desta seção é estabelecer um modelo algébrico para o controle do comportamento transitório do job shop cíclico para o qual se conhece uma solução de referência.

Como visto na seção 2, o problema do job shop cíclico pode estar sujeito a imprevistos, tais como falha de máquinas ou falta de matéria-prima, originando então uma perturbação na solução de referência. É necessário desta forma, que se determinem leis de controle para permitir a continuidade da produção e ao mesmo tempo garantir a convergência para a solução de referência preestabelecida.

Tendo em vista tais necessidades, buscou-se nesse trabalho encontrar uma lei de controle, ou seja, uma lei de determinação dos instantes de início de cada job nos ciclos subsequentes, capaz de restabelecer e manter a solução de referência.

Basicamente, conforme apresentado na figura 1, conhecendo a solução de regime é possível a determinação de uma lei de controle. Considerando esta lei de controle e os instantes de início do ciclo corrente, calcula-se os instantes de início do próximo ciclo, os quais estarão sujeitos a restrições de factibilidade da planta.

Seja o problema de job shop cíclico descrito na seção 2, com n jobs e m máquinas. De uma maneira geral o vetor

representará os instantes de início do k-ésimo ciclo do job shop. O vetor t# representará a solução de referência obtida a partir de técnicas descritas por Portugal (1999).

A lei de controle proposta neste trabalho supõe a existência de um conjunto de matrizes Al , l Î {1,..., m} na álgebra max-plus, denominado conjunto de matrizes de decisão, cujas características são descritas na seção 4.1 (definição 4.5). Essas matrizes serão utilizadas para determinação dos instantes de início de cada job nos ciclos subsequentes, com o objetivo de restabelecer o ciclo anteriormente determinado, após a ocorrência de uma perturbação.

A lei de controle proposta deve ser tal que, se o sistema estiver operando sem perturbação, então a solução em regime discutida na seção anterior deve ser implementada.

Caso não haja nenhuma perturbação, os instantes de disparo do n-ésimo ciclo são dados pelo vetor:

tn = (# )n Ä t#

Considere uma matriz A n × n tal que:

Conforme as definições de autovalor e autovetor apresentadas na seção 3, equação (2), tem-se que t# e # são respectivamente, autovetor e autovalor da matriz A.

Assim, qualquer matriz cujo autovetor seja t# e cujo autovalor correspondente seja # , pode ser usada no contexto da lei de controle quando o sistema estiver em regime permanente. Portanto o conjunto de matrizes de decisão deverá conter matrizes satisfazendo a esta condição.

Havendo uma perturbação na solução de referência devido a problemas de falha de máquinas ou outras causas, considera-se a primeira solução determinada imediatamente após tal perturbação, a qual é denominada de t0. No contexto deste trabalho t0 pode ser considerada como o análogo a uma ''condição inicial'' em um problema dinâmico. Assume-se que após a perturbação ocorrida a planta física volta ao seu normal, contudo a ''condição inicial'' t0 é diferente da solução de referência t#.

O controle do sistema é feito pelo uso do conjunto de matrizes de decisão da seguinte forma:

Algoritmo de Controle

I. Escolhe-se dentro do conjunto de matrizes de decisão uma matriz tal que o produto

t' = Al Ä t0

seja uma solução factível. Na seção 5.4 serão discutidos os critérios para escolha de uma matriz dentro do conjunto Al , l Î {1,..., m}; na seção 5.2 mostra-se como a verificação de factibilidade é feita; finalmente na seção 4.2 mostra-se que é possível obter um conjunto de matrizes tal que sempre exista uma solução factível.

II. A solução obtida t' determina os instantes de disparo dos jobs no próximo ciclo. Para a obtenção dos instantes de disparo no ciclo seguinte repete-se recorrentemente o procedimento anterior, considerando-se t' como ''condição inicial''.

III. Caso se atinja, depois de alguns ciclos, a solução de referência3, mostra-se na seção 4.2 que existe pelo menos uma matriz no conjunto de matrizes de decisão, tal que a solução de referência seja mantida em regime permanente.

Fim Algoritmo de Controle

• A solução t' deve ser factível, isto é, não pode produzir conflitos entre as operações no uso dos recursos (máquinas). A verificação da factibilidade é feita segunda a metodologia proposta na seção 5.2.

• Para qualquer condição inicial deve-se garantir a existência de pelo menos uma matriz de decisão tal que t'=A Ä t0 seja factível. Esta questão é discutida na seção 4.2.

• Deve-se garantir que a utilização do algoritmo faz com que após um número suficientemente grande de iterações a solução convirja para a solução de regime (deslocada no tempo). A seção 4.1 apresenta condições suficientes a que devem satisfazer as matrizes de decisão para que isto ocorra.

A convergência para a solução de referência é expressa matematicamente por:

(Bl (i)) Ä t0 = d Ä t#

onde as matrizes Bl são definidas por:

Bl = Ä Al,"l Î {1,..., m},

l é autovalor de Al e, d Ä t# corresponde a um deslocamento de d na solução de referência. Deve-se observar que, no produtório acima, a seqüência de matrizes Bl utilizada é arbitrária, ou seja, a função l(i) é qualquer. É importante ainda salientar que as matrizes a serem utilizadas nas lei de controle são as matrizes Al, l Î {1,...,m}. As matrizes Bl = Ä Al, l Î {1,..., m}, tendo autovalor unitário (igual a e), constituem ''fatorizações''4 das matrizes Al,.

4.1  Caracterização do Conjunto de Matrizes de Decisão & Convergência da Lei de Controle

Conforme descrito anteriormente, o conjunto de matrizes de decisão deve permitir o controle do sistema em regime transitório e além disso conter uma matriz que caracterize o comportamento em regime permanente. No caso do regime transitório, é necessário que essas matrizes satisfaçam determinadas condições de modo a propiciar o restabelecimento do ciclo de referência quando há uma perturbação.

Duas condições são fundamentais. A primeira é que tais matrizes tenham um único autovetor t# e a segunda é que a matriz resultante do produto de qualquer número de matrizes do conjunto também possua um único autovetor t#.

O teorema a seguir relaciona as condições acima com a convergência da solução.

Teorema 4.1. Seja um conjunto de matrizes Bl   l Î {1,..., m} tal que "l Î {1,...,m}, Bl possua um único autovalor e, um único autovetor t# e a matriz resultante da combinação de qualquer produto entre as matrizes Bl,  l Î {1,..., m} possua um único autovetor t# . Então

Ä t0 = d Ä t#,

onde l(i) é qualquer função {1,...,k} ® {1,...,m}.

A demonstração deste teorema pode ser encontrada em Noronha (1999), e consiste do seguintes passos:

Considere-se tk o vetor de instantes de início dos jobs no k-ésimo ciclo, isto é:

Pode-se colocar ( tk )j (j-ésimo componente do vetor tk) na seguinte forma:

(tk)j = Ä (t#)j , " j Î {1,...,n}

Analisa-se então a evolução de

" j = {1,...,n},

quando k ® +¥, observando-se que

| - | = 0, "i, j Î {1,...,n}

Em conclusão: tk = d Ä t#.

4.2  Construção do Conjunto de Matrizes de Decisão

Nesta seção será proposta uma metodologia de construção do conjunto de matrizes de decisão de modo a satisfazer às hipóteses do teorema 4.1. Para isto alguns resultados preliminares são necessários.

Proposição 4.2. Sejam A1 e A2 matrizes n x n com autovalores 1 e 2, respectivamente. Seja t# autovetor de A1 e A2. Então t# é autovetor do produto das duas matrizes e existe pelo menos um autovalor do produto de A1 e A2 igual a 1 Ä 2.

A demonstração desta proposição pode ser encontrada em Noronha (1999).

Observa-se contudo que se:

I  G(A1) e G(A2) são fortemente conectados5 (1 e 2 são autovalores únicos respectivamente de A1 e A2),

II.  ambas as matrizes, A1 e A2, possuem um único autovetor t# e,

III.  G(A1 Ä A2) e G(A2 Ä A1) são fortemente conectados,

então A1 Ä A2 e A2 Ä A1 possuem um único autovalor 1 Ä 2; porém, não necessariamente t# é o único autovetor de A1 Ä A2 ou A2 Ä A1, conforme mostra o exemplo a seguir.

Exemplo 4.3. Considerem-se as seguintes matrizes:

A1 =     A2 =

Verifica-se que tanto A1 quanto A2 possuem um único autovetor, no contexto da álgebra max-plus, igual a. t = [ e  1  2 ]T. Porém a matriz resultante do produto de A1 e A2 , A12 = A1 Ä A2 não possui um único autovetor:

A12 = A1 Ä A2 =

Os autovetores são t = [ - 1  1 ]T e t = [ - 1  e  e ]T que são linearmente independentes.

Para caracterizar as matrizes do conjunto Al , l Î {1,..., m}, é fundamental a unicidade dos autovetores dos produtos entre elementos desse conjunto.

Considere a matriz B# definida a seguir:

onde a notação f corresponde a - na álgebra usual.

Esta matriz possui algumas propriedades importantes para o estudo da convergência da lei de controle. Particularmente é imediato concluir que seu autovalor é e e seu autovetor é t# = [   ...  ]T.

Proposição 4.4. Se uma matriz A tem como autovetor t# e como único autovalor A, então6 Ae = Ä A £ B# .

A demonstração desta proposição pode ser encontrada em Noronha (1999).

De acordo com a proposição 4.4, B# é um majorante para toda matriz que tenha autovetor igual a t# e autovalor igual a e. Porém, não basta que duas matrizes quaisquer sejam menores que B# e tenham um único autovetor t# , para que o produto destas matrizes tenham t# como único autovetor. Pode-se observar esta situação no Exemplo 4.3, onde A1 e A2 são menores do que B# , que é definida pelo autovetor t# = [ e  1  2 ]T, ou seja:

B# =

Entretanto a matriz resultante do produto de A1 e A2, denominada A12= A1Ä A2 não possui um único autovetor.

A definição 4.5 caracteriza um conjunto de matrizes com autovetor único t# tais que o produto de qualquer número de matrizes desse conjunto resulta numa matriz com o mesmo autovetor (único).

Definição 4.5 Considere um conjunto de matrizes Bl, l Î {1,..., m} definidas da seguinte forma:

4.5.1. autovalor de cada Bl igual a e;

4.5.2. autovetor de Bl igual a t# e único;

4.5.3. se não existe nenhum ciclo crítico no grafo de precedência G(Bl) passando por j então

(Bl)ij < , " i = 1,...,n;

4.5.4. se existe um ciclo crítico passando por j no grafo de precedência G(Bl) então

(Bl)ij = , " i = 1,...,n;

É imediato concluir que o conjunto acima definido coincide com o conjunto das matrizes possuindo pelo menos uma coluna igual a uma coluna da matriz B# e os demais valores estritamente menores que os respectivos de B# . Além disso, tais matrizes quando multiplicadas entre si possuem um único autovetor t# , conforme demonstrado em Noronha (1999).

Em conclusão, o conjunto de matrizes de decisão pode ser constituído a partir de qualquer subconjunto do conjunto definido em 4.5 multiplicando-se cada elemento Bl por um autovalor arbitrário l.

Do ponto de vista prático é conveniente que duas matrizes, (satisfazendo às condições acima) estejam presentes. Em primeiro lugar deve-se incluir a matriz dada por:

A# = # Ä B# .

A matriz A# possui então autovalor # e autovetor t# , podendo ser utilizada para manter o sistema em regime sempre que a solução de referência é restabelecida.

Em segundo lugar deve-se incluir a matriz definida pela equação(7) :

onde o valor mínimo para corresponde à máxima duração total dos jobs. Logicamente, o autovalor da matriz AM é igual a e seu autovetor é t# .

A matriz AM é utilizada quando nenhuma outra matriz do conjunto de matrizes de decisão Al, l Î {1,..., m} for capaz de encontrar um vetor de tempo factível quando multiplicada pelo vetor de tempo em questão. Obviamente, qualquer vetor multiplicado pela matriz AM produz sempre uma solução factível, a qual corresponde à solução de referência, ou seja,

AM Ä t0 = (¶ Ä B#) Ä t0 = ¶ Ä t#.

Sendo um valor alto, tem-se sempre que o deslocamento sobre a solução de referência é factível em relação à solução anterior.

5  ALGORITMOS

A utilização do conjunto de matrizes com as características descritas na seção 4.2 garantirá a convergência para a solução de regime, independentemente da condição inicial, conforme mostrado no teorema 4.1. A seção 5.1 apresenta um algoritmo que permite construir um conjunto de matrizes com as características propostas na seção 4.2.

O algoritmo de controle proposto na seção 4 exige o detalhamento de alguns procedimentos, a saber:

1. verificação da factibilidade da solução para um ciclo subsequente;

2. escolha, dentre várias soluções factíveis, da melhor alternativa.

A seção 5.2 apresenta uma técnica de verificação de factibilidade utilizando o modelo proposto por Groth e Mendes (1997). Considera-se que os tempos de espera entre operações em um mesmo job são sempre iguais aos tempos de espera da solução de regime, mesmo que o sistema esteja em regime transitório.

Na seção 5.3 a restrição de que os tempos de espera entre operações em um mesmo job são sempre iguais aos tempos de espera da solução de regime quando o sistema está em regime transitório é relaxada. Isto é, considera-se o caso da verificação de factibilidade quando os tempos de espera entre operações de um job são flexíveis.

A seção 6 fornece um exemplo de comparação entre as situações descritas nas seções 5.2 e 5.3.

Dentre várias soluções factíveis, é necessário escolher qual deverá ser utilizada. As formas propostas de escolha da solução são descritas na seção 5.4.

5.1  Algoritmo para Cálculo do Conjunto de Matrizes de Decisão

O objetivo principal desta seção é mostrar que é possível a construção do conjunto de matrizes de decisão. Para tanto, desenvolveu-se o algoritmo de síntese I para o cálculo do conjunto de matrizes. Inicialmente, o algoritmo calcula matrizes aleatoriamente e dentre estas escolhe algumas de acordo com critérios estabelecidos. A idéia principal deste algoritmo consiste em construir as matrizes, tendo por base uma matriz ou várias matrizes com o formato definido na seção 4.2. O algoritmo proposto é descrito a seguir.

Algoritmo de Síntese I

Variáveis:

t# = [     ...  ]T ® solução de referência;

B# = Ä [ ef  ef  ...  ef ] ® matriz base;

# ® tempo de ciclo da solução de referência;

A# = # Ä B# ® matriz utilizada para manter a solução de referência;

Al ® matriz pertencente ao conjunto;

l ® autovalor da matriz Al;

T ® conjunto de vetores de instantes de início factíveis dos jobs para o problema;

t = [ tt2  ...  tn ]T, t Î T ® vetor de instantes de início de processamento dos jobs em um determinado ciclo;

njobs ® cardinalidade do conjunto de jobs;

I ® conjunto de números naturais, maiores e iguais a 1 e menores ou iguais a njobs, gerados aleatoriamente.

Passos:

1o) Gerar T aleatoriamente utilizando-se de uma distribuição uniforme em torno da solução de regime.

2o) Escolher um valor para l , tal que

£ l £ # Ä ( bi),

onde bi (comprimento do job i) é definido pela diferença entre o tempo de término do processamento do job e o tempo de início do processamento.

3o) Definir Al = l Ä B# .

4o) Escolher aleatoriamente um número k, 1 £ k < njobs. Em seguida, escolher aleatoriamente k números naturais maiores ou iguais a 1 e menores ou iguais a njobs, os quais irão pertencer ao conjunto I. Desta forma, a card(I ) = k.

5o) Para j = 1 até njobs, modificar aleatoriamente os valores de ( Al )·j , se j Ï I , onde deve-se ter ( Al )·j < ( l B# )·j.

6o) Para todo t Î T fazer: seja t' = Al Ä t, onde Al é a nova matriz gerada; verificar se a diferença entre o início da primeira operação do novo ciclo (t') e a última operação do ciclo anterior (t) é maior que zero. Em caso afirmativo, desconsiderar a matriz obtida. Em outras palavras, espera-se que a matriz não gere uma solução trivial, isto é, o próximo ciclo iniciando após o término do ciclo anterior. Se a matriz obtida obedecer as restrições impostas acima, então a matriz irá fazer parte do conjunto de matrizes de decisão e retira-se t do conjunto T.

7o) Critério de parada: todos os t Î T tem que ser satisfeito por algum A, ou seja T ficar vazio.

Fim do Algoritmo de Síntese I.

As matrizes que irão formar parte do conjunto podem ser calculadas pelo algoritmo proposto acima. Além dessas matrizes, duas outras devem ser acrescentadas: as matrizes A# e AM, definidas na seção 4.2, que correspondem respectivamente à matriz que mantém a solução de referência e à matriz utilizada quando nenhuma outra matriz do conjunto for capaz de encontrar um vetor de instantes de início de processamento dos job factível ao ser multiplicada pelo vetor em questão. Um outro algoritmo para determinação do conjunto de matrizes de decisão pode ser encontrado em Noronha (1999).

A verificação de factibilidade pode ser feita utilizando-se o modelo proposto por Groth e Mendes (1997), o qual é apresentado nesta seção.

Considere-se dois jobs quaisquer i, j Î {1,...,n} e seja c o conjunto de todas as seguinte funções mij : Â ® { 0,1 } associadas ao par ordenado (i, j):

mij (ti - tj) =

Define-se a adição neste conjunto como a seguinte operação interna:

(m1 Å m2)() = m1().m2()

O elemento neutro da adição é definido por:

me()=1, "   Î   Â.

Na definição da função mij , assume-se que não há conflito se nenhuma operação do job i e do job j utilizam-se da mesma máquina no mesmo intervalo de tempo. Um típico gráfico da função mij () é mostrado na figura 4. Para cada par (i,j), supondo-se que o job i tenha sido disparado em =0, a função mij () fornece os instantes em que o job j pode ser disparado. Observa-se que para qualquer par (i,j), existe um número * , suficientemente grande, tal que para todo > * , mij () = 1; para tanto, basta considerar que o job j se inicia após o término do job i, onde então, não haverá nenhum conflito.

A questão da factibilidade surge quando há necessidade de verificar se há conflito entre os disparos realizados. Suponha que p jobs i1, i2, ..., ip tenham sido disparados respectivamente nos instantes t1, t2, ..., tp e deseja-se saber em quais intervalos de tempo o job j pode ser disparado, sem ocorrer qualquer conflito com os jobs precedentes. É fácil ver que:

• Os intervalos de tempo nos quais o job j pode ser disparado sem conflito com o job ik são aqueles onde a função mjik ( - tk ) = 1.

• Os intervalos de tempo nos quais o job j pode ser disparado sem conflito com o job i1 e sem conflito com o job i2 e assim por diante, são aqueles onde a função gj (), definida abaixo assume valor 1:

Em Groth e Mendes (1997) mostra-se que a equação(9) pode ser reescrita no contexto min-max, ou seja,

onde gj () Î c fornece os instantes no qual o job j pode ser disparado sem induzir conflito com qualquer um dos p jobs disparados. Para uma representação mais condensada, define-se:

t = [ t1  t2  ...  tn ]T  Î Ân

M Î cnxn onde [M]ij = mij ()

g() = [ g1 (g2 ()  ...  gn () ]Î cn

Desta forma, a equação (10) pode ser rescrita como

onde g() e t são vetores colunas e M é uma matriz nxn.

Considera-se novamente o problema de verificação de factibilidade determinado pelo algoritmo de controle.

Seja t = [ tt2  ...  tn ]T os instantes de início dos jobs 1, 2, ..., n respectivamente. Seja A1 a matriz de decisão para qual se deseja analisar a factibilidade e seja o vetor t', dado por:

t' = A Ä t.

Deseja-se saber se, dado que os jobs iniciaram de acordo com as unidade de tempo definidas em t, é possível iniciá-los em t' sem a ocorrência de conflito.

A verificação de factibilidade neste caso é feita utilizando-se o modelo de Groth e Mendes (1997) apresentado anteriormente, com o acréscimo de uma outra matriz (pertencente a cnxn) ao modelo, apresentada a seguir.

Defini-se uma matriz denominada MD da seguinte forma:

Assim, tem-se que MD Ä t' determina os instantes de disparo de modo a não haver conflito com os jobs disparados no mesmo ciclo, enquanto que MÄt determina os instantes de disparo de modo a não a haver conflito com os jobs disparados no ciclo anterior.

Assim, t' será factível se " j, gj () = 1, onde tj' é o j-ésimo componente de t' e gj é o j-ésimo componente de g. Portanto, o algoritmo para verificação de factibilidade consiste na implementação da equação(13).

5.3  Flexibilização dos tempos de espera entre operações de um job

Uma das possibilidades do modelo de Groth e Mendes (1997) é a flexibilização dos tempos de espera entre as operações de um job. Neste caso, o cálculo de mij () seria feito com base em cada operação ao invés da utilização dos jobs, como descrito na seção 5.2.

Os elemento desta nova matriz podem ser divididos em cinco tipos, de acordo com a relação entre as operações:

1. Se ok for operação inicial de algum job e ambas as operações ok e oi utilizam a mesma máquina, então:

onde pok é a duração da operação ok.

2. Se ok for operação inicial de algum job, porém ok e oi não utilizam a mesma máquina, então:

3. Se ok e oi utilizam a mesma máquina e além disso ok não é operação inicial de nenhum job então:

onde pok é a duração da operação ok.

4. Se ok e oi constituem operações do mesmo job e ok antecede oi (não necessariamente imediatamente), então:

onde o + é a somatória das durações das operações do job j entre ok e oi, inclusive a duração de ok.

5. Se nenhuma das situações descritas acima entre ok e oi ocorrerem, então:

mok oi = me

que será representado simplesmente por e.

Observa-se que além de modificar o tamanho da matriz M, há necessidade de considerar os vetores de tempo de dimensão igual ao número de operações, bem como as matrizes Al que fazem parte do controlador também com dimensão igual ao número de operações. Um exemplo de utilização de tempo de espera entre operações flexível é apresentado na seção 6.

5.4  Escolha da Matriz

O algoritmo de controle estabelece que para uma condição inicial dada, deve-se verificar a factibilidade de t' = Al Ä t, para cada matriz Al do conjunto de matrizes de decisão. Caso haja mais que uma solução factível deve-se estabelecer um critério para escolher a solução adotada.

Dois critérios podem ser considerados: o primeiro consiste em escolher a primeira matriz que gere um vetor de tempo factível pela ordem de análise, a segunda que considere dentre as possíveis (ou as k primeira matrizes possíveis) a que possa iniciar o mais cedo possível o próximo ciclo.

Em ambos os casos, as matrizes são ordenadas de forma crescente em relação ao seus autovalores. No caso de empate entre duas matrizes com autovalor , considera-se primeiro, na ordenação, aquela que possui o menor número de colunas iguais à matriz Ä B# . Em caso de um segundo empate, considera-se aleatoriamente qualquer ordenação entre as matrizes.

6  EXEMPLO

Nesta seção um exemplo simples é apresentado para ilustrar a utilização da metodologia proposta.

Os dados do exemplo a seguir encontram-se na seção 2.2. Duas iterações do ciclo em regime podem ser visualizadas na figura 1 (seção 2.2). O tempo de ciclo para este problema é de 10 unidades de tempo.

A matriz M para este exemplo é apresentada na equação (13).

Considere t = [ 11  6  0 ]T o vetor cujas componentes sejam os tempo de início dos jobs em um determinado ciclo. Considere-se a análise de factibilidade para o início do próximo ciclo para seguinte matriz de decisão:

Neste caso o próximo ciclo deveria se iniciar em t' = [ 15  24  17 ]T. É necessário então verificar se tal solução é factível em relação ao ciclo anterior. Para isto, considerem-se as matrizes M, equação(13) e MD obtida pela equação(12), isto é:

onde e na matriz representa o elemento neutro da adição em c.

Utilizando-se então da equação(13) tem-se que:

Como gj () = 1 " j, tem-se que t' é factível para a situação vigente, conforme pode ser visualizado pela figura 5.

Na figura 5, o ciclo 1 corresponde ao ciclo representado por t, enquanto o ciclo 2 corresponde a t'.

Considere uma perturbação na solução de referência, e seja t0 a primeira solução determinada imediatamente após tal perturbação, isto é,

t0 = [ 11  6  0 ]T,

que está representado na primeira iteração da figura 6. Observa-se nesta figura que se o próximo ciclo iniciasse somente quando fosse possível encaixar a solução de referência, isto aconteceria somente em t1 = [ 21  23  23 ]T, que corresponde à solução de referência defasada de d = 21. Em seguida, o próximo ciclo seria em t2 = [ 31  33  33 ]T.

Por outro lado, com a utilização do conjunto de matrizes, em específico da matriz da equação(15), obtém-se t1 = [ 15  24  17 ]T. Em seguida o próximo ciclo seria em t2 = [ 30  32  32 ]T, obtido utilizando-se a seguinte matriz:

com autovalor igual a 15, que corresponde à solução de referência. Como esta solução é autovetor de todas as matrizes, neste momento qualquer matriz que possua autovalor igual a 10 poderia ser utilizada com intuito de manter a solução de referência. A figura 7 ilustra esta situação. Comparando-se os instantes de início do terceiro ciclo das duas situações (figuras 6 e 7), observa-se que quando o controlador foi utilizado, uma unidade de tempo foi economizada. Esta unidade de tempo corresponde a aproximadamente 10% de economia de tempo na produção.

Analisou-se também a possibilidade de um descrição mais detalhada da planta. Em particular os tempos de espera entre operações foram flexibilizados, obtendo-se a convergência para a solução de regime no quarto ciclo (figura 8). Comparando-se os instantes de início do quarto ciclo entre as três situações (figuras 6, 7 e 8), observa-se que neste caso obteve-se uma economia de 4 unidades de tempo em relação à primeira situação, o que corresponde a uma economia de 40% e, obteve-se uma economia de 3 unidades de tempo em relação à segunda situação, o que corresponde a uma economia de aproximadamente 33%.

Observa-se que para o exemplo em questão foi possível obter leis de controle cujo desempenho mostrou-se superior ao simples retardamento da solução de referência.

7  CONCLUSÃO

Neste trabalho apresentou-se uma modelagem matemática que visa permitir o controle de transitórios em escalonamento de job-shops cíclico.

Conforme visto na seção 2, partindo do princípio que os jobs possuem tempos de processamento determinados e que estes são processados indefinidamente ou por um longo período de tempo, é possível encontrar um escalonamento cíclico ótimo ou quase ótimo para o problema, que corresponde à solução de referência. Entretanto, em situações práticas, o problema está sujeito a restrições de continuidade tais como, quebra de máquina, falta de matéria-prima, etc. Assim, buscou-se neste trabalho, determinar uma lei de controle visando restabelecer a solução de referência.

Com esta lei de controle, observou-se a possibilidade de redução do tempo de restabelecimento da solução de referência. Para o exemplo apresentado, pode-se perceber que com a utilização da técnica proposta, foi possível obter um desempenho do sistema melhor do que o obtido simplesmente atrasando todas as operações de um intervalo igual à duração da perturbação.

O objetivo principal deste trabalho foi propor uma técnica de controle de transitórios em job-shops cíclicos com propriedades que garantam a convergência para a solução de referência. Tal objetivo foi alcançado. Além disso, uma heurística foi proposta, possibilitando a construção do conjunto de matrizes de decisão. É importante destacar que este trabalho constitui uma contribuição no sentido de ampliar a utilização da álgebra max-plus, permitindo o tratamento de problemas envolvendo conflito no uso de recursos. Contudo, deixa-se para trabalhos futuros a análise detalhada do problema e a investigação de algoritmos eficientes para a síntese do conjunto de matrizes de decisão.

Uma questão importante relativa à metodologia proposta diz respeito à otimização da solução obtida, garantindo que dentre as possibilidades de retôrno ao regime permanente obtenha-se a melhor possível sob algum critério (p.ex. a que mais antecipa o retôrno ao regime). Este estudo apresenta dificuldades em razão da explosão combinatorial do espaço de soluções do problema. Dessa forma, o estudo atual limitou-se a obter condições suficientes para a convergência da solução perturbada para a solução em regime permanente, embora estudos futuros apontem na direção do problema de otimização.

A consideração de esperas fixas entre as operações de um job poderia inicialmente ser considerada como uma limitação deste trabalho. Porém, como mostrado na seção 5.3 é possível flexibilizar as esperas entre as operações de um job, modificando-se para isso, a dimensão das matrizes do conjunto de decisão e o cálculo da matriz M (verificação da factibilidade). Um exemplo de tal situação foi apresentado na seção 6.

Em conclusão, a metodologia proposta permite a tomada de decisões em plantas com operação cíclica, em situações onde uma solução de referência (supostamente conhecida) encontra-se perturbada. Conforme observado no parágrafo anterior é possível estabelecer um compromisso entre a complexidade da descrição utilizada versus a dimensão do algoritmo de decisão.

REFERÊNCIAS

Ambrósio, A. (1999). Técnicas de Planejamento e Controle de Sistemas a Eventos Discretos Aplicadas ao Despacho de Trens, Dissertação de Mestrado, Faculdade de Engenharia Elétrica e de Computação, UNICAMP, Campinas - SP.         [ Links ]

Baccelli, F. L., G. Cohen, G. J. Olsder & J. P. Quadrat (1992). Synchronization and Linearity: An Algebra for Discrete Event Systems, John Wiley & Sons, New York.         [ Links ]

Berge, C. (1973). Graphs and Hypergraphs, North-Holland.         [ Links ]

Bowman, R. A. & J. A. Muckstand (1993). Stochastic Analysis of Cyclic Schedules. Operations. Research, Vol. 41, no5, pp. 947-958.         [ Links ]

Caskey, K. & R. L. Storch (1996). Heterogeneous Dispatching Rules in Job and Flow Shops. Production Planning & Control, Vol. 7, no4, pp. 351-361.         [ Links ]

Cohen, G., M. Pierre, Q. Jean-Pierre & V. Michel (1989). Algebraic Tools for the Performance Evaluation of Discrete Event Systems. Proceedings of the IEEE, Vol. 77, no1, pp. 39-58.         [ Links ]

Conway, R. W., W. L. Maxwell & L. W. Miller (1967). Theory of Scheduling. Addison-Wesley, Reading Mass.         [ Links ]

Graves, S. C., H. C. Meal, D. Stefek & A. H. Zeghmi (1983). Scheduling of Re-Entrant Flow Shops. Journal Operation Management.         [ Links ]

Groth, A. F. & R. S. Mendes (1997). A Min-Max Model for Reactive Job Shop Scheduling. 4th European Control Conference, Bruxelas.         [ Links ]

Hanen, C. (1994). Study of a NP-hard Cyclic Scheduling Problem: The Recurrent Job-shop. European Journal of Operations Research, Vol. 72, pp. 82-101.         [ Links ]

Hillion, H. P. & P. Jean-Marie (1989). Performance Evaluation of Job-Shop Systems Using Timed Event-Graphs. IEEE Transactions on Automatic Control, Vol. 34, 1, pp. 3-9.         [ Links ]

Noronha, A. B. (1999) Controle de Transitórios em Escalonamento de Job Shop Cíclico. Tese de Doutorado, Faculdade de Engenharia Elétrica e de Computação, UNICAMP, Campinas - SP.         [ Links ]

Pierreval, H. & N. Mebarki (1997). Dynamic Selection of Dispatching Rules for Manufacturing Systems Scheduling. International Journal of Production Research, Vol. 35, no6, pp. 1575-1591.         [ Links ]

Portugal, D. S. V. (1999). Estudo e Modelagem de Job Shops Cíclicos com Jobs Distintos. Dissertação de Mestrado, Faculdade de Engenharia Elétrica e de Computação, UNICAMP, Campinas - SP.         [ Links ]

Portugal, D. S. V., Santos-Mendes, R. & Aguirela, L. M. Estudo e Modelagem de Job Shops Cíclicos com Jobs Distintos. XIII Congresso Brasileiro de Automática - CBA 2000. Florianópolis, SC.         [ Links ]

Randhawa, S. U. & Y. Zeng (1996). Job Shop Scheduling: an Experimental Investigation of the Performance of Alternative Scheduling Rules. Production Planning & Control, Vol. 7, no1, pp. 47-56.         [ Links ]

Roundy, R. (1992). Cyclic Schedules for Job Shops with Identical Jobs. Mathematics of Operations Research, Vol. 17, no4, pp. 842-865.         [ Links ]

Udo, G. J. (1994). A Simulation Study of Due-date Assignment Rules in a Dynamic Job Shop. Journal Opl. Research Society, Vol. 45, no12, pp. 1425-1435.         [ Links ]

Xu, Z. & S. Randahawa (1996). Dynamic Job Shop Scheduling in a Tool Shared Environment. Computers and Industrial Engineering, Vol. 31, pp. 197-200.         [ Links ]

Zhang, H. & S. C. Graves (1997). Cyclic Scheduling in a Stochastic Environment. Operations Research, Vol. 45, no6, pp.894-903.         [ Links ]

Endereço para correspondência
Campus Ribeirão Preto, Av. dos Bandeirantes, 3900, CEP: 14.040-900, Ribeirão Preto, SP, Brasil.

E-mail:
backx@usp.br

Rafael Santos Mendes
DCA/FEEC/UNICAMP - C.P. 6101 - 130881-970 Campinas, SP, Brasil.
E-mail: rafael@dca.fee.unicamp.br

Artigo submetido em 20/12/00
1a. Revisão em 21/05/01; 2a. reviso em 01/03/02
Aceito sob recomendação do Ed. Assoc. Prof. Paulo E. Miyagi