40. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, Sp,08-10 de Setembrode 1.999 ESCALONAMENTO DE SISTEMAS DE PRODUÇÃO POR LOTES USANDO-SE UM MECANISMO DE RETROCESSO INTELIGENTE Stéphane Julía Clarimundo Machado Moraes Júnior [email protected] [email protected] Laboratório de Automática de Uberlândia, Depto. de Eng. Elétrica, Universidade Federal de Uberlândia, P.O. Box 593, 38400 -902 Uberlândia, MG, BRASIL Resumo - O objetivo deste artigo é tratar o problema de escalonamento dos sistemas de produção por lotes, com política de produção cíclica , com base na representação formal das restriçõe s do sistema através de um modelo de rede de Petri p-temporal t-temporizado e usando um jogador de rede de Petri com um mecanismo de retrocesso inteligente, que busca uma sequência admissível que satisfaça as restrições. problema de satisfação de restrição que como um simplesproblema de otimização. Por exemplo , um tempo de espera grande demais para um lote que se acha mim reator pode estragá-lo, o que não acontece no caso de uma peça tratada por um sistema flexível de manufatura. Vale ressaltar que este artigo é um seguimento do artigo apresentado no XII Congresso Brasileiro de Automática (Julia et ai. 1998), onde o princípio geral para o escalonamento dos sistemas de produção por lotes com política de funcionamento do tipo periódica foi definido. Num primeiro trabalho, foi dado um enfoque maior em torno do princípio de resolução de conflito quando o modelo do sistema é mais geral que um grafo de eventos (Híllion and Proth 1989). Nesta segunda parte, vamos detalhar o mecanismo de retrocesso utilizado a cada vez que ocorrer uma violação de restrição. De fato, mesmo com um mecanismo de resolução de conflito que compara um conjunto de sequências possíveis num horizonte temporal mínimo e que toma a melhor decisão seguindo um conjunto de critérios neste horizonte (Julia et ai. 1998), certas violações de restrições (morte de uma marca numa RdP p-temporal) (Khansa et ai. 1996), podem aparecer durante a busca da sequência admissível. A única alternativa, então, é aplicar um mecanismo de retrocesso que permite o seguimento da busca numa outra direção . Palavras-chave: Redes de Petri , Sistemas de Produção por Lotes, Escalonamento Cíclico , Sistemas Híbridos. 1 INTRODUÇÃO Da Revolução Industrial aos dias de hoje, as mudanças de comportarnento na sociedade de consumo fizeram com que os processos industriais contínuos de produtos únicos fossem substituídos por sistemas mais flexíveis chamados de sistemas de produção por lotes ("batch systems "). Em particular, tais sistemas permitem a produção simultânea de vários produtos, o que éparticularmente interessante na indústria agro-alimentar, por exemplo. Os processos industriais por lotes operam em matéria prima contínua (geralmente fluidos). Eles são compostos por equipamentos do tipo contínuo (as canalizações, os trocadores de calor, etc...) e por equipamentos do tipo discreto (reatores, estoques intermediários etc.). Os lotes são quantidades de matérias contínuas caracterizadas por números reais (volumes etc.). O fato de manipular vários lotes que podem ser tratados simultaneamente e que são transferidos de reator em reator faz-com que estes sistemas assemelhem-se muito aos sistemas flexíveis de manufatura (Silva et alo 1998). Em particular, em ambos os tipos de sistema aparecem problemas semelhantes de alocação de recursos . Por exemplo , o uso de um mesmo reator pode ser necessário para o tratamento de vários lotes de matéria prima. Se o reator funciona em modo fechado (um único produto ao mesmo tempo, em um único reator), de certa forma ele pode ser considerado como um recurso discreto análogo ao de uma célula flexível de manufatura. Vamos num primeiro instante, relembrar as restrições existentes num sistema de produção por lote. 2 2.1 REPRESENTAÇÃO FORMAL DAS RESTRiÇÕES Receita Para cada lote a ser tratado, existem diversas receitas possíveis. Estas receitas podem ser entendidas como restrições a serem modeladas por uma sub-rede de Petri que descreve a seqüência dos tratamentos a serem efetuados sobre os lotes. A rede da figura 1 representa um exemplo de receita a ser efetuada sobre o lote modelado pela marca dentro do lugar EI. As operações de transferência dos lotes de um reator para outro estão associadas às transições. Já os tratamentos aplicados sobre os lotes nos reatores e a eventual permanência dos lotes nos es- Neste trabalho, vamos concentrar-nos em torno do problema do escalonamento dos sistemas de produção porlotes. Nestes últimos, o problema de escalonamento deve ser visto mais como um 521 40. SBAI - SimpósioBrasileiro de Automação Inteligente. São Paulo, Sp, 08-10de Setembro de 1999 . toques intermediários são associados aos lugares. um mesmo período de produção, devem ser tratados três lotes segundo a receita 1, dois, segundo a receita 2, e um, segundo a receita 3. Para se ter um maior controle sobre a receita, pode-se associá-la a uma restrição que a represente numa política do tipo kanban (Mascolo et ai. 1991). El [1,1 01,1 [ 2,1 02,1 13,1 2.4 SI Propriedades do Modelo Global o sistema de produção mostrado na figura 4 depois da fusão das diversas restrições, é apresentado pelo modelo global na figura 5. Vale ressaltar que cada restrição é um invariante de lugar e que o modelo global possui um invariante de transição único, o que permite sabermos quantas vezes exatamente será disparada cada transição do modelo em um mesmo período de produção (Julia et ai. 1998). Devido a possibilidade de termos muitos recursos entrelaçados, deveremos também verificar a vivacidade da rede (Silva et ai. 1998). K Figura 1: Receita 1 + Kanban K Na figura I, a marca no lugar K representa um sinal que permite o tratamento de um só lote de cada vez, seguindo esta receita. 2.2 Alocação de Recurso 01,2 02,2 02,3 Em um sistema de produção por lotes, o comportamento flexível é modelado por recursos (reatores e estoques intermediários) que são divididos entre as diversas receitas. reator 1 reator 2 reator 3 Figura 4: Sistema de Produção por Lotes 12,1 13,2 02,1 03,2 13,1 14,2 IS Figura 2: Alocação de Recurso R A restrição descrita na figura 2 significa que o mesmo reator R vai ser usado, tanto para a realização do segundo tratamento da receita I, quanto para a realização do terceiro tratamento da receita 2. 2.3 Política Cíclica A fim de simplificar a fase de análise do sistema, nós nos limitamos ao caso de funcionamentos períodicos. Durante um mesmo período, um número de lotes bem definido é tratado. Toma-se necessário, então, que se descrevam as exigências da produção através de uma restrição. Com este fim, usamos o modelo apresentado por Ohl (Ohl et ai. 1994) para os sistemas de manufatura. Para nós, esta restrição definirá quantos lotes de cada tipo serão tratados em um mesmo período. Figura 5: Modelo Global A seguir, vamos ver como podemos explicitar as restrições temporais explícitas a nível do modelo formal. 2.5 Restrições Temporais o aspecto contínuo do sistema pode ser incorporado a um modelo discreto, associando-se os tempos de transferência e de tratamento dos lotes nos reatores às transições ou lugares. A introdução de durações incertas no modelo formal toma-se, então, necessária como foi mostrado em (Julia et ai. 1998) e um dos modelos que permite isto são as RdP p-temporais ttemporizadas (que se assemelham muito às redes de Petri ptemporais definidas por Khansa em (Khansa et ai. 1996)) cuja definição é a seguinte: 3 11,1 Defmição 2.1 Uma rede de Petri p-temporal t-temporiiada é uma tripla < R, I p , tempo_t >. tal que: 3 • R é uma rede de Petri marcada, Figura 3: Política Cíclica • I p é lima aplicação definida da seguinte maneira: I p : P -+ (Q+ UO) X (Q+ U 00) A sub-rede de Petri da figura 3, descreve o fato de que, durante 522 40. SBAI - Simpósio Brasileirode Automação Inteligente, São Paulo, Sp, 08-10 de Setembrode'1999 Pi -t Ipi = [ai, bi] com O S ai S bi não reservadas pelo disparo de uma transição, e de outro lado , as datas de fim de disparo associadas às marcas reservadas. O estado presente é caracterizado pela data presente, pela marcação da rede e pelo estado das marcas. , . _ . . _ • tempo_t e do das transiç ões 110 conjunto dos numeros reais pOSitiVOS ou nulos. Ipi = [ai, bi] define o intervalo estático de espera durante o qual uma marca fica no lugar Pi; No caso de sistemas de produção por lotes, os intervalos representarão os tempos de permanência dos lotes nos reatores ou nos estoques intermediários (intervalos . associados aos lugares das receitas). Passo 1: Inserir no calendárioas bordas mínimas e máximas dos intervalos de visibilidade das marcas. Memorizar o estado inicial da rede. A evolução dinâmica de uma rede p-ternporal t-temporizada depende de sua marcação e da situação tempo ral das marcas é dada pelo intervalo de visibilidade de uma marca de um lugar cuja definição é a seguinte: Passo 2: Consideraro primeiro evento. Passo 2.1: Se for wna data de fim de disparo: de visibilidade de uma marca de um Passo 2.1.1: Se ao dispararmos a transição, voltarmos ao estado inicial, então, deve-se parar o algoritmo. Passo 2.1.2: Senão, inserir no calendário as bordas de visibilidade'das novas marcas obtidas depois do disparoda transição, colocar as novas marcasobtidas no estado indisponível e memorizar o estado da rede. Ir ao passo 2. Um intervalo de visibilidade [(Óp) min;(óp)maz) associado a uma marca de um lugar p de llma rede de Petri p-temporal ttemporizada define a data o mais cedo (Óp)min a partir da qual a marca que se acha no lugar p toma-se disponivel e pode ser reservada para o disparo de uma transição t de saida do lugar p. Tal associação define também a data o mais tarde (óp)maz depois da qual se tem "morte" da marca que, a partir de então, não pode mais ser utilizada para o disparo de nenhuma transição. Passo 2.2: Se for wna borda mínima, as marcas associadas a ela são disponibilizados. Se lima transiç ão diferente de t. for sensibilizada. acionar o mecanismode tomada de decisão: Passo 2.2.1: Se a transiçãosensibilizada pode ser disparada, as marcas envolvidas 110 disparodesta transiçãosão colocadas 110 estado reservado e a data de fim de disparo associada a esta transição é inserido no calendário. Ir ao passo 2. Veja que na figura 6, a data de chegada da marca em OH é Ó = 3. Como o intervalo estático é [5,9)8, então o intervalo de visibilidade da marca neste lugar será de [5 + 3,9 + 3)v = [8, 12]v . Passo 2.2.2: Se a transiçãosensibilizada não pode ser disparada imediatamente, ir ao passo 2. [5,9]8 .. Passo 2.3: Se for uma borda máxima, acionar o mecanismo de retrocesso até o última estado da rede diretamente relacionado com a nwrte da marca e escolher wna outra solução (madificar o resultado obtido pelo mecanismo de tomada de decisão). Ir ao passo 2. . 3.2 Figura 6: Intervalo de Visibilidade 3 o início de ciclo é iniciado pelo disparo da trans ição de sincronização ta da restrição cíclica. A seguir veja o algoritmo simplificado (Julia et alo1998): = tempo_t dt é a temporização associada a t. Este valor dt representa o tempo de transferência de um lote de produto de um reator para outro. Definição2.2 Intervalo lugar: A cada evento analisado no calendário, o algoritmo memoriza o estado da rede. Quando se tem violação de restrição (morte de uma marca), volta-se no calendário até a última decisão diretamente relacionada com a morte da marca. Resolução de çonflito Nas redes de Petri p-temporais t-temporizadas nem sempre o disparo o mais cedo possível é a única solução a ser considerada. Isto nos leva a situações de conflito que aparecem durante um certo intervalo de tempo e não somente em um único instante . A noção de conflito numa RdP p-temporal t-temporizada é definida através das definições do intervalo de sensibilização de uma transição (obtido através da intersecção dos intervalos de visibilidade associados às marcas que se encontram nos lugares de entrada da transição sensibilizada) e do intervalo de conflito (obtido através da intersecção dos intervalos de senbilização das transições em conflito). Depois de ter detectado uma situação de conflito, o sistema de decisão do jogador deve comparar todas as sequências possíveis num horizonte temporal mínimo definido a partir dos intervalos de visibilidade dos lotes que se encontram nos lugares de entrada das transições em conflito, e tomar a melhor decisão seguindo um conjunto de critérios relacionados à satisfação das restrições neste horizonte. PRINCípIO GERAL PARA O ESCALONAMENTO 3.1 Jogador de Rede de Petri o algoritmo do jogador de rede de Petri p-temporal ttemporizado é utilizado na busca de uma sequ ência admissível que respeite o conjunto de resrições. De fato, como já foi dito na introdução, o problema de escalonamento do sistema de produção por lote deve ser visto mais como um problema de satisfação de restrição que como um problema de otimização. O algoritmo possui um sistema de decisão que deve ser utilizado a cada vez que aparecer um conflito no sentido de uma rede de Petri p-temporal t-temporizada (Julia et ai. 1998) . Ele, possui também , um mecanismo de retrocesso ("backtrack") que deve ser acionado a cada vez que ocorrer violação de restrição. Enfim , ele usa um calendário que contém um seguimento de eventos escalonados no tempo. Esses eventos são, de um lado, as bordas mín imas e máx imas dos intervalos de visibilidade das marcas O mecanismo de resolução de conflito do jogador foi apresentado em detalhe no artigo (Julia et ai. 1998) , através de um exem- 523 40. SBAI - Simpósio Brasileirode Automação Inteligente, São Paulo, Sp, 08-10 de Setembrode 1999 pio. A seguir, vamos apresentar um mecanismo de retrocesso inteligente utilizado no jogador a cada vez que ocorrer uma violação de restrição, cuja causa é a má resolução de conflito ou a má escolha das condições iniciais do ciclo de funcionamento do sistema. O intervalo de sensibilização de t 4l vale: [2, 7]v n [O, +oo[v= [2, 7Jt41 Isto quer dizer que a marca de 031 pode ser reservada para o disparo de t41 ao mais cedo à data 8 = 2 (borda mínima do intervalo de sensibilização) e ao mais tarde à data Ó = 7 (borda máxima do intervalo de sensibilização). O intervalo de sensibilização de t42 vale: 3.3 Mecanismo de Retrocesso O mecanismo de retrocesso do jogador deve ser ativado a cada vez que ocorrer uma violação de restrição, isto é, cada vez que ocorrer a morte de uma marca. Consideremos, por exemplo, a rede de Petri da figura 7: [6, 8]v n [O, +oo[v= [6,8]t41 Isto quer dizer que a marca de 0 32 pode ser reservada para o disparo de t42 ao mais cedo à data 8 6 e ao mais tarde à data 8 = 8. O intervalo de conflito associado à dupla t 41 e t 42 vale: = ti2 [2, 7]t41 n [6,8]t42 = [6,7]0 012 Como este intervalo não é vazio, temos um conflito efetivo no sentido de uma rede de Petri p-ternporal t-temporizada, Se t4l é a primeira transição a ser disparada, então a data na qual o recurso r vai estar disponível de novo é ((}t 51)f (data de fim de disparo de t51)' No melhor dos casos (considerando-se a borda mínima do intervalo estàtico associado a 0 41 ), a expressão desta data é: 1 02 [2,7]v [6,8]vestímado • ((}t51)f Se t 42 é a primeira transição a ser disparada, então a data na qual o recurso r vai estar disponível de novo é ((}t5 2) f (data de fim de disparo de t52 )' No melhor dos casos (considerando-se a borda mínima do intervalo estático associado a 0 4 2 ) , a expressão desta data é: 032 2 I [2,3]s . Q [5,6]s (B t52 )f = 6 + 1 + 2 + 1 = 10 rf:. [2 ,7]v 042 Podemos ver que no caso do disparo de t 41 ao mais cedo, temos morte da marca de 0 32 e que no caso do disparo de t 42 ao mais cedo temos morte da marca de 0 31 . Isto carac teriza uma violação de restrição. Diante de tal situação a única alternativa do jogador para prosseguir na busca de uma solução é acionar um mecanismo de retrocesso. 1 ts261 2 = 2+2+5+2 = 11 rf:. [6,8] v -> Figura 7: Exemplo de conflito efetivo Poderíamos aplicar um retrocesso sistemático que voltaria até a última decisão tomada a nível do jogador seguindo um funcionamento clássico de um mecanismo de retrocesso, como o de Prolog por exemplo. Lembramos que a nossa proposta não é a busca de uma sequência otimizada e sim admissível. Será mais importante voltar o mais rápido possível às possíveis causas das violações de restrições que explorar de maneira sistemática o espaço de todas as soluções cuja consequência será um problema de explosão combinatória. Princípios de mecanismos de retrocesso "inteligente" já foram apresentados em (Dechter 1986) e (Verfaillie and Schiex 1994). A idéia básica é tirar proveito das condições que conduziram a uma violação de restrição, para direcionar de modo inteligente à escolha dos pontos de retrocesso, ou para não explorar as partes do espaço de busca que vão conduzir de maneira quase certa a outras novas violações de restrições. O método tem por objetivo, achar uma variável de decisão bem apropriada para realizar o retrocesso apoiando-se na estrutura do modelo de representação do espaço de busca (que é, no caso mais comum, um grafo). Os intervalos de visibilidade são: [2 ,7]v para o lugar 0 31 , [O, +oo[ para o lugar r e [6,8]v para o lugar 0 32 . Este último intervalo de visiblidade é obtido a partir da estimação da data de chegada da ficha em 0 32 • O princípio de estimação da data de chegada da ficha no lugar de entrada de uma transição em conflito estrutural consiste em: • Considerar para a receita que contém a transição em conflificha na data presente; to estrutural o lugar que possui uma • Simular a evolução da ficha na receita de modo que para cada disparo de transição (disparo o mais cedo possível) , obtém-se um intervalo de visibilidade que corresponde á possíveis datas de chegadas naquele lugar ; • Prosseguir a evolução até a ficha estar no lugar de entrada da transição em conflito estrutural; Os intervalos estáticos associados aos lugares 0 41 e 0 4 2 são respectivamente: [5,6]8 e [2,3]8' As temporizações associadas às transições são: No caso de uma violação decorrente de um conflito não resolvido de uma rede de Petri p-temporal t-temporizada, a causa da .violação será a chegada cedo demais de uma das duas marcas, d t41 = 2, dt51 = 2, d t22 = dt 32 = d t42 = d t52 = 1 524 40. SBAI - SimpósioBrasileirode Automação Inteligente, São Paulo, SP, 08-10 de Setembrodé 1999 que se encontram nos lugares de entrada das transiçõesem conflito, em relação a outra. Por exemplo, na rede da figura 7, para poder disparar a transição t41 na data Ó 2 (borda mínima do intervalo de visibilidade da marca de 0 3 1 ) , será preciso aumentar a borda máxima do intervalo de visibilidade da marca 0 32 • Para isto é preciso atrasar a data de chegada da marca de 0 32 de 3 unidades de tempo, o que permitiria ter como novo intervalo de visibilidade da marca de 0 32 : = [6 + 3,8 + 3]v = [9, l1]v Assim teríamos como data de fim de disparo de t51: (8t51 )! = 2 + 2 + 5 + 2 = 11 E [9,11]v 3.4 Exemplo Vejamos agora um exemplo global, cuja simulação vai ser feita e cuja análise será mostrada. A rede tem a estrutura e as condições iniciais indicadas na figura 5. A seguir serão fornecidos os valores dos intervalos estáticos dos lugares: . I Lugar I Borda DÚIl 2 Ou 021 012 022 OI S 02S K 1 K2 2 4 2 2 3 1 2 1 Ks com [9, l1]v o novo intervalo de visibilidade da marca de 0 32 depois do atraso da chegada da marca de 0 32 de 3 unidades de tempo. Suponhamos que as transições t32 e t22 tenham sido disparadas ao mais cedo possível anteriormente, durante a evolução do jogador, e que os intervalos de visibilidade da marca quando ela passou pelos lugares 0 12 e 0 22 eram [1, 5]v e [4, 6]v, respectivamente. Para poder atrasar de 3 unidades, no mínimo, a chegada da marca em 0 32 , podemos aumentar, por exemplo, de 2 unidades a borda mínima do intervalo de visibilidade da mar- . ca quando ela se acha em 0 22 (o intervalo de visibilidade [4, 6]v toma-se [4+ 2, 6]v = [6, 6]v), e de 1 unidade a borda mínima do intervalo de visibilidade da marca quando ela se acha em 0 12 (o . intervalo de visibilidade [1, 5h" torna-se [1 + 1, 5]v = [2, 5]v). Depois destas modificações, considerando o estado global da rede na data Ó = 1, o jogador prosegue na busca de uma solução considerando os novos valores das bordas mínimas dos intervalos de visibilidade. De fato a data Ó = 1 representa o momento em que foi tomada a primeira decisão (disparo da transição t2 2 na data Ó = 1, quando o intervalo de visibilidade da ficha em 0 2 1 ' valia [1, 5]v ) diretamente relacionada com a violação de restrição que envolve o recurso 7' (morte das marcas em 0 3 1 e 0 32 ) . I Borda máx. 11 Lugar I Borda DÚIl R, O 3 O 5 R2 O 8 Rs O 3 (;u O 4 C 12 O 4 ClS O 9 C 21 4 O C 22 O 7 C2S Borda máx +00 +00 +00 +00 +00 +00 +00 +00 +00 As temporizações associadas às transições são: dtu = dt12 = dt13 = dt21 = dt22 = dt23 = 1 Ao simularmos esta rede, verificamos que: estão em conflito efetivo pelo recurso RI em tu primeiro na data Ó = 2 não causa violação. • tu e t13 [1,7]c (intervalo de conflito). O disparo de e t23 não estão em conflito efetivo pelo recurso R 2 , mas o disparo de t 12 primeiro causa morte da marca em 0 13 na data Ó = 7 e o disparo de t23 primeiro causa morte da marca em k2 na data fJ = 4. Portanto, retrocedendo até o estado da rede na data fJ = 1 (uma marca em k3 ) , o disparo de t1 3 é atrasado no mínimo de 2 unidades de tempo. Para este atraso, verificamos que a borda mínima de k3 é aumentada de [1, 7]v para [3; 7]v. • t12 • Disparo de t 12 na data Ó = 3. • Disparo de t 21 na data Ó = 5. Vale lembrar que no exemplo da figura 7, as bordas mínimas podem se aumentadas até o valor das respectivas bordas máximas. Na prática, para poder levar em conta os possíveis atrasos, não diretamente previstos no modelo, durante o escalonamento em tempo real do sistema, será de grande interesse sempre deixar uma margem mínima entre as bordas mínimas e máximas dos intervalos de visibilidade. Para isto, ao implementar o jogador (programa implementado em C no Laboratório de Automática da Universidade Federal de Uberlândia) foi colocada na inicialização da rede a opção do usuário indicar qual o percentual de atraso que cada intervalo poderia sofrer. Outro aspecto levado em conta foi o de que se ocorrer uma situação em que o mecanismo de retrocesso atinja o estado inicial e ainda sim, não for possível obter o atraso necessário, então o jogador permitirá ao usuário alterar as condições iniciais da rede indicando ainda o quanto deverá ser atrasada determinada receita. Do ponto de vista prático, isto se traduz pelo fato de poder ter as marcas que representam os lotes inicialmente em outros lugares que os lugares Kanban asso.ciados a cada receita. No caso de escalonamentos cíclicos, isto é bem de acordo com a abordagens baseadas numa representação algébrica dos grafos de eventos (Cohen et al. 1989) (modelo com os conflitos já resolvidos) cujo principal objetivo é encontrar a marcação inicial da rede de modo tal que o tempo de ciclo seja mínimo para um funcionamento estacionário periódico. • Morte de marca em k 3 na data Ó = 7. Observamos que apesar do atraso ter sido possível, posteriormente, houve morte da marca em [{3. Neste caso, o jogador exibe ao usuário, que a marcação em [{3 no inicio do ciclo deve ser mudada para um lugar anterior que no caso será 0 23 • Isto, para que se faça um atraso ainda maior do que o proposto inicialmente. Após o usuário alterar as condições iniciais de acordo com o especificado e simular novamente a rede, obtivemos a seguinte análise: • tu e t13 estão em conflito efetivo pelo recurso RI em [1,7]c (intervalo de conflito)O disparo de tu primeiro na data Ó = 2 não causa violação. e t23 estão em conflito efetivo pelo recurso R 2 em [4,4]c.O disparo de t12 primeiro causa a morte da marca em 0 13 na data Ó = 4 e o disparo de t23 primeiro causa a morte da marca de K 2 na data Ó 4. Portanto, retrocedendo até o estado da rede na data Ó = 5 (uma marca em k3) , o disparo de t13 é atrasado no mínimo de 5 unidades de tempo. Para este atraso, verificamos que a borda mínima de k3 é aumentada de [5, l1]v para [10, l1]v. • t12 = • Disparo de t12 na data Ó = 3. • Disparo de t33 na data fJ 525 = 4. 40. SBAI-Simpósio Brasileiro de Automação Inteligente, São Paulo, SP,08-10 de Setembrode 1999 o= 5. Disparo de t22 na data o= 9. Disparo de t13 na data o= 10. Disparo de t23 na data o= 13. and manufacturing systems, CESA '96 IMACS Multiconference. Lille-FRANÇA. • Disparo de t21 na data • • • Mascolo, M., Y. Frein, Y. Dallery andR. David (1991) . A unified modeling of kanban systems using petri nets. The intemational joumal of Flexible Manufacturing Systems 3, 275307. • A rede atinge um ciclo completo na data 0= 14. Observamos agora que com a intervenção do usuário, seguindo as novas .especificações , a rede evolui o ciclo todo sem nenhuma violação de restrição . 4 CONCLUSÃO Mostramos neste artigo um jogador de rede de Petri p-temporal t-temporizada que utilliza um mecanismo de retrocesso inteligente, que por sua vez busca resolver violações que possam aparecer quando um recurso dividido é solicitado. O retrocesso é feito segundo um diagnóstico realizado para cada violação presente e não de maneira sistemática, dando-nos assim uma sequência admissível. A resolução é feita num horizonte temporal mínimo (resolução local) de modo que não irá garantir a ausência de futuras violações durante a evolução da rede. O jogador leva em conta .tambérn, possíveis alterações no funcionamento normal do sistema permitindo ao usuário, no momento da inicialização dos dados, fornecer parâmetros que irão auxiliar a evolução da rede , prevendo tais alterações. Outra característica importante do jogador é que nos casos em que o retrocesso não é possível, o usuário poderá interagir com o programa e de acordo com os dados fornecidos, ele poderá alterar as condições iniciai s da rede. Como trabalho futuro será interessante utilizar um mecan ismo de retrocesso que trate de maneira mais global, a violação ocorrida, diminuindo o número de retrocessos. Isto é particularmente interessante quando tratamos escalonamentos em tempo real. Outra sugestão é o uso de um jogador que trate com mais ênfase a problemática dos intervalos estáticos em relação às suas bordas. Neste caso o uso de intervalos estáticos que utilizam a teoria da lógica fuzzy, seria uma opção a ser utilizada. REFERÊNCIAS BIBLIOGRÁFICAS Cohen, G., P. Moller, J. Quadrat and M. Viot (1989). Algebraic tolls for the performance evaluation of discrete event systems. IEEE 77(1), 39-57. Dechter, R. (1986). Learning while searching in csp. removing redundancies in constraint network. In: 12thNational Con- ference on Artificial Intelligence (AAAI86). PhiladelphiaUSA. pp . 105-109. Hillion, H. and lM. Proth (1989). Performance evaluation of job-shop systems using timed event-graphs, IEEE Trans. onAutomatic Control34(1), 3-9. Julia, S., R. Valette, C. M. M. Júnior and José M. Fernandes (1998). Escalonamento de sistemas de produção híbridos usando-se um jogador de rede de petri. In: XII Congresso Brasileiro de Automática. Uberlândia-BRASIL. Khansa, w., P. Aygalinc and lP. Denat (1996) . Structural analysis of p-tíme petri nets. In: Symposium on discrete events 526 Ohl, H., E. Castelain and J.C. Gentina (1994). Synchrony theory applied to control problems in flexible manufacturing systems. In: IEEE Intemational Conference on Systems, Man and Cybemetics. San Antonio-USA. Silva , M., E. Teruel, R. Valette and H. Pingaud (1998). Petri nets and production systems. In Lectures on Petrinets II: appli. cations. Lecture notes in Compuser Science 1492 pp. 85124. . . Verfaillie, G. and T. Schiex (1994). Solution reuse in dynarnic csps. In: 12th National Conference on Artificial Intelligence (AAAI94). Seatle-USA.