escalonamento de sistemas de produção por lotes usando

Propaganda
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.
Download