escalonamento de sistemas de produÇÃo lotes … · é apresentado pelo modelo 5. um invariante...

6
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 Clarimundo Machado Moraes Júnior [email protected] Stéphane Julía [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 escalo- namento dos sistemas de produção por lotes, com política de pro- dução cíclica, com base na representação formal das restrições 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. 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 com- portarnento na sociedade de consumo fizeram com que os pro- cessos industriais contínuos de produtos únicos fossem substi- tuídos por sistemas mais flexíveis chamados de sistemas de pro- dução por lotes ("batch systems "). Em particular, tais sistemas permitem a produção simultânea de vários produtos, o que épar- ticularmente interessante na indústria agro-alimentar, por exem- plo. Os processos industriais por lotes operam em matéria prima con- tínua (geralmente fluidos). Eles são compostos por equipamen- tos 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 con- tí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 sis- temas assemelhem-se muito aos sistemas flexíveis de manufatu- ra (Silva et alo 1998). Em particular, em ambos os tipos de sis- tema 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 fun- ciona 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. Neste trabalho, vamos concentrar-nos em torno do problema do escalonamento dos sistemas de produção porlotes. Nestes últi- mos, o problema de escalonamento deve ser visto mais como um 521 problema de satisfação de restrição que como um simplespro- blema 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 apre- sentado no XII Congresso Brasileiro de Automática (Julia et ai. 1998), onde o princípio geral para o escalonamento dos sis- temas de produção por lotes com política de funcionamento do tipo periód ica 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 even- tos (Híllion and Proth 1989). Nesta segunda parte, vamos deta- lhar o mecanismo de retrocesso utilizado a cada vez que ocorrer uma violação de restrição. De fato, mesmo com um mecanis- mo de resolução de conflito que compara um conjunto de se- quências possíveis num horizonte temporal mínimo e que toma a melhor decisão seguindo um conjunto de critérios neste hori- zonte (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 alter- nativa, então, é aplicar um mecanismo de retrocesso que permite o seguimento da busca numa outra direção . Vamos num primeiro instante, relembrar as restrições existentes num sistema de produção por lote. 2 REPRESENTAÇÃO FORMAL DAS RES- TRiÇÕES 2.1 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 efe- tuada sobre o lote modelado pela marca dentro do lugar EI. As operações de transferência dos lotes de um reator para outro es- tão associadas às transições. os tratamentos aplicados sobre os lotes nos reatores e a eventual permanência dos lotes nos es-

Upload: hoangnhan

Post on 01-Dec-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

40. SBAI - SimpósioBrasileiro de Automação Inteligente, São Paulo, Sp,08-10 de Setembrode 1.999

ESCALONAMENTO DE SISTEMAS DE PRODUÇÃO POR LOTESUSANDO-SE UM MECANISMO DE RETROCESSO INTELIGENTE

Clarimundo Machado MoraesJúnior

[email protected]

Stéphane Julí[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 escalo-namento dos sistemas de produçãopor lotes, com política de pro-dução cíclica , com base na representação formal das restriçõesdo sistema através de um modelo de rede de Petri p-temporalt-temporizado e usando um jogador de rede de Petri com ummecanismo de retrocesso inteligente, que busca uma sequênciaadmissível que satisfaça as restrições.

Palavras-chave: Redes de Petri , Sistemas de Produção porLotes, Escalonamento Cíclico , Sistemas Híbridos.

1 INTRODUÇÃODa Revolução Industrial aos dias de hoje, as mudanças de com-portarnento na sociedade de consumo fizeram com que os pro-cessos industriais contínuos de produtos únicos fossem substi-tuídos por sistemas mais flexíveis chamados de sistemas de pro-dução por lotes ("batch systems "). Em particular, tais sistemaspermitem a produção simultânea de vários produtos, o que épar-ticularmente interessante na indústria agro-alimentar, por exem-plo.

Os processos industriais por lotes operam em matéria prima con-tínua (geralmente fluidos). Eles são compostos por equipamen-tos do tipo contínuo (as canalizações, os trocadores de calor,etc...) e por equipamentos do tipo discreto (reatores, estoquesintermediários etc.). Os lotes são quantidades de matérias con-tínuas caracterizadas por números reais (volumes etc.). O fato demanipular vários lotes que podem ser tratados simultaneamentee que são transferidos de reator em reator faz-comque estes sis-temas assemelhem-se muito aos sistemas flexíveis de manufatu-ra (Silva et alo1998). Em particular, em ambos os tipos de sis-tema aparecem problemas semelhantes de alocação de recursos .Por exemplo , o uso de um mesmo reator pode ser necessário parao tratamento de vários lotes de matéria prima. Se o reator fun-ciona em modo fechado (um único produto ao mesmo tempo,em um único reator), de certa forma ele pode ser consideradocomo um recurso discreto análogo ao de uma célula flexível demanufatura.

Neste trabalho, vamos concentrar-nos em torno do problema doescalonamento dos sistemas de produção porlotes. Nestes últi-mos, o problema de escalonamento deve ser visto mais como um

521

problema de satisfação de restrição que como um simplespro-blema de otimização. Por exemplo , um tempo de espera grandedemais para um lote que se acha mim reator pode estragá-lo, oque não acontece no caso de uma peça tratada por um sistemaflexível de manufatura.

Vale ressaltar que este artigo é um seguimento do artigo apre-sentado no XII Congresso Brasileiro de Automática (Julia etai. 1998), onde o princípio geral para o escalonamento dos sis-temas de produção por lotes com política de funcionamento dotipo periódica foi definido. Num primeiro trabalho, foi dado umenfoque maior em torno do princípio de resolução de conflitoquando o modelo do sistema é mais geral que um grafo de even-tos (Híllion and Proth 1989). Nesta segunda parte, vamos deta-lhar o mecanismo de retrocesso utilizado a cada vez que ocorreruma violação de restrição. De fato, mesmo com um mecanis-mo de resolução de conflito que compara um conjunto de se-quências possíveis num horizonte temporal mínimo e que tomaa melhor decisão seguindo um conjunto de critérios neste hori-zonte (Julia et ai. 1998), certas violações de restrições (morte deuma marca numa RdP p-temporal) (Khansa et ai. 1996), podemaparecer durante a busca da sequência admissível. A única alter-nativa, então, é aplicar um mecanismo de retrocesso que permiteo seguimento da busca numa outra direção .

Vamos num primeiro instante, relembrar as restrições existentesnum sistema de produção por lote.

2 REPRESENTAÇÃO FORMAL DAS RES-TRiÇÕES

2.1 ReceitaPara cada lote a ser tratado, existem diversas receitas possíveis.Estas receitas podem ser entendidas como restrições a seremmodeladas por uma sub-rede de Petri que descreve a seqüênciados tratamentos a serem efetuados sobre os lotes.

A rede da figura 1 representa um exemplo de receita a ser efe-tuada sobre o lote modelado pela marca dentro do lugar EI. Asoperações de transferência dos lotes de um reator para outro es-tão associadas às transições. Jáos tratamentos aplicados sobreos lotes nos reatores e a eventual permanência dos lotes nos es-

Propriedades do Modelo Global2.4

Para se ter um maior controle sobre a receita, pode-se associá-laa uma restrição que a represente numa política do tipo kanban(Mascolo et ai. 1991).

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 lotessegundo a receita 1, dois, segundo a receita 2, e um, segundo areceita 3.

El [1,1 01,1 [ 2,1 02,1 13,1 SI

K

Figura 1: Receita 1 +Kanban K

o sistema de produção mostrado na figura 4 depois da fusão dasdiversas restrições, é apresentado pelo modelo global na figura 5.Vale ressaltar que cada restrição é um invariante de lugar e queo modelo global possui um invariante de transição único, o quepermite sabermos quantas vezes exatamente será disparada cadatransição do modelo em um mesmo período de produção (Juliaet ai. 1998). Devido a possibilidade de termos muitos recursosentrelaçados, deveremos também verificar a vivacidade da rede(Silva et ai. 1998).

Figura 4: Sistema de Produção por Lotes

Na figura I, a marca no lugar K representa um sinal que permiteo tratamento de um só lote de cada vez, seguindo esta receita.

2.2 Alocação de RecursoEm um sistema de produção por lotes, o comportamento flexívelé modelado por recursos (reatores e estoques intermediários) quesão divididos entre as diversas receitas.

reator1

01,2

02,3

reator 2

02,2

reator 3

Figura 2: Alocação de Recurso R

2.3 Política Cíclica

I S

13,2

14,2

03,2

12,1

13,1

02,1

A restrição descrita na figura 2 significa que o mesmo reatorR vai ser usado, tanto para a realização do segundo tratamentoda receita I, quanto para a realização do terceiro tratamento dareceita 2.

A fim de simplificar a fase de análise do sistema, nós nos limita-mos ao caso de funcionamentos períodicos. Durante um mesmoperíodo, um número de lotes bem definido é tratado. Toma-senecessário, então, que se descrevam as exigências da produçãoatravés de uma restrição. Com este fim, usamos o modelo apre-sentado por Ohl (Ohl et ai. 1994) para os sistemas de manufatu-ra. Para nós, esta restrição definirá quantos lotes de cada tiposerão tratados em um mesmo período.

3

11,1

Figura 5: Modelo Global

A seguir, vamos ver como podemos explicitar as restrições tem-porais explícitas a nível do modelo formal.

2.5 Restrições Temporaiso aspecto contínuo do sistema pode ser incorporado a um mode-lo discreto, associando-se os tempos de transferência e de trata-mento dos lotes nos reatores às transições ou lugares. A in-trodução de durações incertas no modelo formal toma-se, en-tão, necessária como foi mostrado em (Julia et ai. 1998) eum dos modelos que permite isto são as RdP p-temporais t-temporizadas (que se assemelham muito às redes de Petri p-temporais definidas por Khansa em (Khansa et ai. 1996)) cujadefinição é a seguinte:

Defmição 2.1 Uma rede de Petri p-temporal t-temporiiada éuma tripla < R, Ip , tempo_t >. tal que:

3• R é uma rede de Petri marcada,

Figura 3: Política Cíclica

A sub-rede de Petri da figura 3, descreve o fato de que, durante

• Ip é lima aplicação definida da seguinte maneira:

Ip : P -+ (Q+UO) X (Q+U00)522

40. SBAI - SimpósioBrasileirode Automação Inteligente, São Paulo, Sp,08-10 de Setembrode'1999

Pi -t Ipi = [ai, bi] com OS 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

• tempo_t e do das transiç ões 110 estado presente é caracterizado pela data presente, pela marcaçãoconjunto dos numeros reais pOSitiVOS ou nulos. da rede e pelo estado das marcas.

Ipi = [ai, bi] define o intervalo estático de espera durante o qualuma marca fica no lugar Pi; No caso de sistemas de produçãopor lotes, os intervalos representarão os tempos de permanênciados lotes nos reatores ou nos estoques intermediários (intervalos .associados aos lugares das receitas).

tempo_t = dt é a temporização associada a t. Este valor dtrepresenta o tempo de transferência de um lote de produto deum reator para outro.

A evolução dinâmica de uma rede p-ternporal t-temporizada de-pende de sua marcação e da situação temporal das marcas é da-da pelo intervalo de visibilidade de uma marca de um lugar cujadefinição é a seguinte:

Definição2.2 Intervalo de visibilidade de uma marca de umlugar:

Um intervalo de visibilidade [(Óp)min;(óp)maz) associado auma marca de um lugar p de llma rede de Petri p-temporal t-temporizada define a data o mais cedo (Óp)min a partir da quala marca que se acha no lugar p toma-se disponivel e pode serreservada para o disparo de uma transição t de saida do lugarp. Tal associação define também a data o mais tarde (óp)mazdepois da qual se tem "morte" da marca que, a partir de então,não pode mais ser utilizada para o disparo de nenhuma tran-sição.

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 visibili-dade da marca neste lugar será de [5+ 3,9 + 3)v = [8, 12]v .

[5,9]8

.. .

Figura 6: Intervalo de Visibilidade

3 PRINCípIO GERAL PARA O ESCALONA-MENTO

3.1 Jogador de Rede de Petrio algoritmo do jogador de rede de Petri p-temporal t-temporizado é utilizado na busca de uma sequ ência admissívelque respeite o conjunto de resrições. De fato, como já foi di-to na introdução, o problema de escalonamento do sistema deprodução por lote deve ser visto mais como um problema de sa-tisfação de restrição que como um problema de otimização.

O algoritmo possui um sistema de decisão que deve ser utilizadoa cada vez que aparecer um conflito no sentido de uma rede dePetri p-temporal t-temporizada (Julia et ai. 1998) . Ele, possuitambém , um mecanismo de retrocesso ("backtrack") que deveser acionado a cada vez que ocorrer violação de restrição. Enfim ,ele usa um calendário que contém um seguimento de eventosescalonados no tempo. Esses eventos são, de um lado, as bordasmínimas e máx imas dos intervalos de visibilidade das marcas

523

A cada evento analisado no calendário, o algoritmo memoriza oestado da rede. Quando se tem violação de restrição (morte deuma marca), volta-se no calendário até a última decisão direta-mente relacionada com a morte da marca.

o início de ciclo é iniciado pelo disparo da trans ição de sin-cronização ta da restrição cíclica. A seguir veja o algoritmosimplificado (Julia et alo1998):

Passo 1: Inserirno calendárioas bordasmínimas e máximas dos inter-valos de visibilidade das marcas. Memorizar o estado inicial da rede.

Passo 2: Consideraro primeiro evento.

Passo 2.1: Se for wna data defim de disparo:

Passo 2.1.1: Se ao dispararmosa transição, voltarmos ao estado ini-cial, então, deve-separar o algoritmo.

Passo 2.1.2: Senão, inserirno calendárioas bordasde visibilidade'dasnovasmarcas obtidasdepoisdo disparoda transição, colocar as novasmarcasobtidasno estado indisponível e memorizar o estado da rede. Irao passo 2.

Passo 2.2: Se for wna bordamínima, as marcas associadas a ela sãodisponibilizados. Se lima transiç ão diferente de t. for sensibilizada.acionar o mecanismode tomadade decisão:

Passo 2.2.1: Sea transiçãosensibilizadapode ser disparada, asmarcasenvolvidas 110 disparodesta transiçãosão colocadas110 estado reserva-do e a data de fim de disparo associada a esta transição é inserido nocalendário. Ir ao passo 2.

Passo 2.2.2: Se a transiçãosensibilizada não pode ser disparada ime-diatamente, ir ao passo 2.

Passo 2.3: Se for uma bordamáxima, acionar o mecanismo de retro-cesso até o última estadoda redediretamente relacionado com a nwrteda marca e escolherwna outra solução (madificaro resultado obtidopelo mecanismode tomadade decisão). Ir ao passo 2.

3.2 Resolução de çonflitoNas redes de Petri p-temporais t-temporizadas nem sempre odisparo o mais cedo possível é a única solução a ser conside-rada. Isto nos leva a situações de conflito que aparecem duranteum certo intervalo de tempo e não somente em um único ins-tante . A noção de conflito numa RdP p-temporal t-temporizadaé definida através das definições do intervalo de sensibilizaçãode uma transição (obtido através da intersecção dos intervalos devisibilidade associados às marcas que se encontram nos lugaresde entrada da transição sensibilizada) e do intervalo de conflito(obtido através da intersecção dos intervalos de senbilização dastransições em conflito). Depois de ter detectado uma situação deconflito, o sistema de decisão do jogadordeve comparar todas assequências possíveis num horizonte temporal mínimo definidoa partir dos intervalos de visibilidade dos lotes que se encon-tram nos lugares de entrada das transições em conflito, e tomar amelhor decisão seguindo um conjunto de critérios relacionadosà satisfação das restrições neste horizonte.

Omecanismo de resolução de conflito do jogador foi apresenta-do em detalhe no artigo (Julia et ai. 1998) , através de um exem-

[2, 7]v n [O, +oo[v= [2, 7Jt41

[6, 8]v n [O, +oo[v= [6,8]t41

[2, 7]t41 n [6,8]t42 = [6,7]0

Isto quer dizer que a marca de 031 pode ser reservada para o dis-paro de t41 ao mais cedo àdata 8 = 2 (bordamínima do intervalode sensibilização) e ao mais tarde à data Ó = 7 (borda máximado intervalo de sensibilização). O intervalo de sensibilização det42 vale:

Isto quer dizer que a marca de 0 32 pode ser reservada para odisparo de t42 ao mais cedo à data 8 =6 e ao mais tarde à data8 = 8. O intervalo de conflito associado à dupla t 41 e t 42 vale:

(Bt52)f = 6 + 1+ 2+ 1 = 10 rf:. [2 ,7]v

Se t 42 é a primeira transição a ser disparada, então a data na qualo recurso r vai estar disponível de novo é ((}t5 2) f (data de fim dedisparo de t52 )' No melhor dos casos (considerando-se a bordamínima do intervalo estático associado a 0 4 2 ) , a expressão destadata é:

((}t51)f =2+2+5+2 =11 rf:. [6,8]v

Como este intervalo não é vazio, temos um conflito efetivo nosentido de uma rede de Petri p-ternporal t-temporizada, Se t4lé a primeira transição a ser disparada, então a data na qual orecurso r vai estar disponível de novo é ((}t 51)f (data de fim dedisparo de t51)' No melhor dos casos (considerando-se a bordamínima do intervalo estàtico associado a 0 41), a expressão destadata é:

Podemos ver que no caso do disparo de t 41 ao mais cedo, temosmorte da marca de 0 32 e que no caso do disparo de t42 ao maiscedo temos morte da marca de 0 31 . Isto carac teriza uma vio-lação de restrição. Diante de tal situação a única alternativa dojogador para prosseguir na busca de uma solução é acionar ummecanismo de retrocesso.

1

ti2

02

[6,8]vestímado • 032

I. Q[2,3]s042

1ts261->Figura 7: Exemplo de conflito efetivo

2

2

Mecanismo de Retrocesso

[5,6]s

[2,7]v

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 O intervalo de sensibilização de t4l vale:inteligente utilizado no jogador a cada vez que ocorrer uma vio-lação de restrição, cuja causa é a má resolução de conflito ou amá escolha das condições iniciais do ciclo de funcionamento dosistema.

O mecanismo de retrocesso do jogador deve ser ativado a cadavez que ocorrer uma violação de restrição, isto é, cada vez queocorrer a morte de uma marca. Consideremos, por exemplo, arede de Petri da figura 7:

3.3

012

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 últimointervalo de visiblidade é obtido a partir da estimação da datade chegada da ficha em 0 32 • O princípio de estimação da da-ta de chegada da ficha no lugar de entrada de uma transição emconflito estrutural consiste em:

• Considerar para a receita que contém a transição em confli-to estrutural o lugar que possui uma ficha na data presente;

• Simular a evolução da ficha na receita de modo que paracada 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 entradada transição em conflito estrutural;

Os intervalos estáticos associados aos lugares 0 41 e 0 42 são res-pectivamente: [5,6]8 e [2,3]8' As temporizações associadas àstransições são:

dt41 = 2, dt51 = 2, dt22 = dt32 = dt42 = dt52 = 1

Poderíamos aplicar um retrocesso sistemático que voltaria atéa última decisão tomada a nível do jogador seguindo um fun-cionamento clássico de um mecanismo de retrocesso, como o deProlog por exemplo. Lembramos que a nossa proposta não é abusca de uma sequência otimizada e sim admissível. Será maisimportante voltar o mais rápido possível às possíveis causas dasviolações de restrições que explorar de maneira sistemática o es-paço de todas as soluções cuja consequência será um problemade explosão combinatória. Princípios de mecanismos de retro-cesso "inteligente" já foram apresentados em (Dechter 1986) e(Verfaillie and Schiex 1994). A idéia básica é tirar proveito dascondições que conduziram a uma violação de restrição, para di-recionar de modo inteligente à escolha dos pontos de retroces-so, ou para não explorar as partes do espaço de busca que vãoconduzir de maneira quase certa a outras novas violações de res-trições. O método tem por objetivo, achar uma variável de de-cisão bem apropriada para realizar o retrocesso apoiando-se naestrutura do modelo de representação do espaço de busca (que é,no caso mais comum, um grafo).

No caso de uma violação decorrente de um conflito não resolvi-do de uma rede de Petri p-temporal t-temporizada, a causa da.violação será a chegada cedo demais de uma das duas marcas,

524

40. SBAI - SimpósioBrasileirode Automação Inteligente, SãoPaulo, SP, 08-10 de Setembrodé 1999

que se encontram nos lugares de entrada das transiçõesem con-flito, em relação a outra. Por exemplo, na rede da figura 7, parapoder disparar a transição t41 na data Ó= 2 (borda mínima dointervalo de visibilidade da marca de 0 31) , será preciso aumen-tar 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 de3 unidades de tempo, o que permitiria ter como novo intervalode visibilidade da marca de 0 32 :

[6+ 3,8 + 3]v =[9, l1]vAssim teríamos como data de fim de disparo de t51:

(8t51 )! = 2 + 2 + 5 + 2 = 11 E [9,11]vcom [9, l1]v o novo intervalo de visibilidade da marca de 0 32depois do atraso da chegada da marca de 0 32 de 3 unidades detempo. Suponhamos que as transições t32 e t22 tenham sido dis-paradas ao mais cedo possível anteriormente, durante a evoluçãodo jogador, e que os intervalos de visibilidade da marca quandoela passou pelos lugares 0 12 e 0 22 eram [1,5]v e [4, 6]v, res-pectivamente. Para poder atrasar de 3 unidades, no mínimo, achegada da marca em 0 32 , podemos aumentar, por exemplo, de2 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]vtoma-se [4+2, 6]v = [6,6]v), e de 1unidade a borda mínima dointervalo 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 darede na data Ó= 1, o jogador prosegue na busca de uma soluçãoconsiderando os novos valores das bordas mínimas dos interva-los de visibilidade. De fato a data Ó= 1 representa o momentoem que foi tomada a primeira decisão (disparo da transição t2 2na data Ó = 1, quando o intervalo de visibilidade da ficha em0 21' valia [1,5]v ) diretamente relacionada com a violação derestrição que envolve o recurso 7' (morte das marcas em 0 31 e0 32 ) .

Vale lembrar que no exemplo da figura 7, as bordas mínimas po-dem se aumentadas até o valor das respectivas bordas máximas.Na prática, para poder levar em conta os possíveis atrasos, nãodiretamente previstos no modelo, durante o escalonamento emtempo real do sistema, será de grande interesse sempre deixaruma margem mínima entre as bordas mínimas e máximas dosintervalos de visibilidade. Para isto, ao implementar o jogador(programa implementado em C no Laboratório de Automática daUniversidade Federal de Uberlândia) foi colocada na inicializa-ção da rede a opção do usuário indicar qual o percentual de atra-so que cada intervalo poderia sofrer. Outro aspecto levado emconta foi o de que se ocorrer uma situação em que o mecanismode retrocesso atinja o estado inicial e ainda sim, não for possívelobter o atraso necessário, então o jogador permitirá ao usuárioalterar as condições iniciais da rede indicando ainda o quanto de-verá ser atrasada determinada receita. Do ponto de vista prático,isto se traduz pelo fato de poder ter as marcas que representam oslotes 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çãoalgébrica dos grafos de eventos (Cohen et al. 1989) (modelo comos conflitos já resolvidos) cujo principal objetivo é encontrar amarcação inicial da rede de modo tal que o tempo de ciclo sejamínimo para um funcionamento estacionário periódico.

525

3.4 ExemploVejamos agora um exemplo global, cuja simulação vai ser feita ecuja análise será mostrada. A rede tem a estrutura e as condiçõesiniciais indicadas na figura 5. A seguir serão fornecidos os va-lores dos intervalos estáticos dos lugares: .

I Lugar I Borda DÚIl I Borda máx. 11 Lugar I Borda DÚIl Borda máxOu 2 3 R, O +00021 2 5 R2 O +00012 4 8 Rs O +00022 2 3 (;u O +00OIS 2 4 C 12 O +0002S 3 4 C l S O +00K 1 1 9 C 2 1 O +00K2 2 4 C 22 O +00Ks 1 7 C2S O +00

As temporizações associadas às transições são:

dtu = dt12 = dt13 = dt21 = dt22 = dt23 = 1

Ao simularmos esta rede, verificamos que:

• tu e t13 estão em conflito efetivo pelo recurso RI em[1,7]c (intervalo de conflito). O disparo de tu primeirona data Ó= 2 não causa violação.

• t12 e t23 não estão em conflito efetivo pelo recurso R2, maso disparo de t12 primeiro causa morte da marca em 0 13 nadata Ó=7e o disparo de t23 primeiro causa morte da marcaem k2 na data fJ = 4. Portanto, retrocedendo até o estadoda rede na data fJ = 1 (uma marca em k3) , o disparo de t1 3é atrasado no mínimo de 2 unidades de tempo. Para esteatraso, verificamos que a borda mínima de k3 é aumentadade [1,7]v para [3;7]v.

• Disparo de t 12 na data Ó= 3.

• Disparo de t 21 na data Ó= 5.• Morte de marca em k3 na data Ó=7.

Observamos que apesar do atraso ter sido possível, posterior-mente, houve morte da marca em [{3. Neste caso, o jogadorexibe ao usuário, que a marcação em [{3 no inicio do ciclo deveser 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 ini-cialmente. Após o usuário alterar as condições iniciais de acor-do com o especificado e simular novamente a rede, obtivemos aseguinte 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 nadata Ó=2 não causa violação.

• t12 e t23 estão em conflito efetivo pelo recurso R2 em[4,4]c.O disparo de t12 primeiro causa a morte da marcaem 0 13 na data Ó = 4 e o disparo de t23 primeiro causaa morte da marca de K2 na data Ó= 4. Portanto, retroce-dendo até o estado da rede na data Ó = 5 (uma marca emk3) , o disparo de t13 é atrasado no mínimo de 5 unidadesde tempo. Para este atraso, verificamos que a borda mínimade k3 é aumentada de [5, l1]v para [10, l1]v.

• Disparo de t12 na data Ó =3.• Disparo de t33 na data fJ =4.

Mascolo, M., Y. Frein, Y. Dallery andR. David (1991) .A unifiedmodeling of kanban systems using petri nets. The intema-tional joumal ofFlexibleManufacturing Systems 3, 275-307.

Ohl, H., E. Castelain and J.C. Gentina (1994). Synchrony theoryapplied to control problems in flexible manufacturing sys-tems. In: IEEEIntemational Conference on Systems, Manand Cybemetics.San Antonio-USA.

Verfaillie, G. and T. Schiex (1994). Solution reuse in dynarniccsps. In: 12th National Conference on Artificial Intelli-gence (AAAI94).Seatle-USA.

Silva ,M.,E. Teruel,R. Valette and H. Pingaud (1998). Petri netsand production systems. In Lectureson Petrinets II: appli-. cations. Lecture notes in Compuser Science 1492 pp. 85-124. . .

40. SBAI-Simpósio Brasileiro de Automação Inteligente, São Paulo, SP,08-10 de Setembrode 1999

• Disparo de t21 na data o= 5. and manufacturing systems, CESA'96 IMACSMulticonfe-rence. Lille-FRANÇA.

• Disparo de t22 na data o= 9.

• Disparo de t13 na datao= 10.• Disparo de t23 na data o= 13.

• A rede atinge um ciclo completo na data 0= 14.

Mostramos neste artigo um jogador de rede de Petri p-temporalt-temporizada que utilliza um mecanismo de retrocesso in-teligente, que por sua vez busca resolver violações que possamaparecer quando um recurso dividido é solicitado. O retroces-so é feito segundo um diagnóstico realizado para cada violaçãopresente e não de maneira sistemática, dando-nos assim uma se-quência admissível. A resolução é feita num horizonte temporalmínimo (resolução local) de modo que não irá garantir a ausên-cia de futuras violações durante a evolução da rede.

4 CONCLUSÃO

Observamos agora que com a intervenção do usuário, seguindoas novas .especificações , a rede evolui o ciclo todo sem nenhumaviolação de restrição .

O jogador leva em conta .tambérn, possíveis alterações no fun-cionamento normal do sistema permitindo ao usuário, no mo-mento da inicialização dos dados, fornecer parâmetros que irãoauxiliar a evolução da rede , prevendo tais alterações.

Outra característica importante do jogador é que nos casos emque o retrocesso não é possível, o usuário poderá interagir como 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 ismode retrocesso que trate de maneira mais global, a violação ocor-rida, diminuindo o número de retrocessos. Isto é particular-mente interessante quando tratamos escalonamentos em temporeal. Outra sugestão é o uso de um jogador que trate com maisênfase a problemática dos intervalos estáticos em relação às suasbordas. Neste caso o uso de intervalos estáticos que utilizam ateoria da lógica fuzzy, seria uma opção a ser utilizada.

REFERÊNCIAS BIBLIOGRÁFICASCohen, G., P. Moller, J. Quadrat and M. Viot (1989). Algebraic

tolls for the performance evaluation of discrete event sys-tems. IEEE77(1), 39-57.

Dechter, R. (1986). Learning while searching in csp. removingredundancies in constraint network. In: 12thNationalCon-ference on Artificial Intelligence (AAAI86). Philadelphia-USA. pp . 105-109.

Hillion, H. and lM. Proth (1989). Performance evaluation ofjob-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íbridosusando-se um jogador de rede de petri. In: XII CongressoBrasileiro deAutomática.Uberlândia-BRASIL.

Khansa, w.,P. Aygalinc and lP. Denat (1996) . Structural analy-sis of p-tíme petri nets . In: Symposiumon discrete events

526