2º SIMPÓSIP BRASILEIRO DE AUTOMAÇAO INTELIGENTE a de ... · gens declarativas, tal como Prolog....

6
SIMPÓSIP BRASILEIRO DE AUTOMAÇAO INTELIGENTE CEFET-PR, 13 a 15 de Setembro de 1995 Curitiba Paraná Análise sob restrições baseada en1 Redes de Petri de un1a célula flexível de lnanufatura Stéphane Julia'* **, Robert Valette*, Rita 1tlaria da Silva Julia**'" * LAAS-CNRS , 7 Avenue du Colonel-Roche, 31077 Toulouse Cedex França ** CPGEI-CEFET-PR , Av. Sete de Setembro 3165, 80.230-901 Curitiba (PR.) Brasil * * * Dept. Informática-UFU , Av. Universitaria SN, Campus Sta . Mônica, 38.400-902 Uberlándia (M.G.) Brasil email [email protected] [email protected] [email protected] Resumo Atualmente, a análise e o controle dos Sistemas Flexíveis de Manufatura podem ser abordados de diversas maneiras. Particularmente , destacam-se as abordagens efetuadas através de duas ferramentas: as Redes de Petri e as técnicas de Inteligência Artificial. O objetivo deste artigo é mostrar como obter um modelo híbrido mais adaptado ao estudo dos Sistemas Flexíveis de Manufatura combinando-se as Redes de Petri e as Linguagens de Programação de Restrições da Inteligência Artificial. Depois de uma apresentação das Linguagens de Programação de Restrições e de sua utilização dentro do contexto da análise sob restrições dos Sistemas Flexíveis de Manufatura, mostra-se um exemplo de aplicação do modelo híbrido obtido à análise e ao escalonamento das Células Flexíveis de Manufatura com funcionamento cíclico. 1 Introdução Diversas ferramentas e linguagens são empregadas atualmente no contexto da análise e do controle dos Sistemas Flexíveis de Manufatura (SFM). O objetivo deste artigo é traçar um paralelo entre as técnicas de Inteligência Artificial (IA) e as Redes de Petri (RdP), que, de maneira geral, têm sido tratadas como abordagens distintas no domínio dos SFM. As RdP são uma ferramenta muito poderosa para a modelagem dos SFM. Em particular , elas permitem o cálculo de invariantes de lugar e de transição , que são duas propriedades essenciais a serem consideradas no funcionamento cíclico dos SFM , bem como a representação de recursos, que é um conceito fundamental em um SFM. Por sua vez, as técnicas de IA incluem mecanismos de retrocesso ("backtracking") que não existem em RdP. Além disso, as linguagens da IA , particularmente, as Linguagens de Programação de Restrições (LPR), possibilitam uma representação natural e simples das diversas restrições que compõem um SFM . Neste contexto , parece interessante levar-se em consideração uma abordagem híbrida que combine as RdP e as LPR, obtendo-se , assim, um modelo mais compreensível e mais adaptado à análise e ao controle dos SFM. A seguir apresentaremos as LPR e sua utilização no contexto da análise sob restrição dos SFM. Em particular , uma abordagem combinando as RdP as LPR será aplicada ao caso da análise e do escalonamento das Células Flexíveis de Manufatura (CFM) com funcionamento cíclico. 2 Linguagens de programação de restrições (Constraint Program- ming Languages) Existe hoje na aréa da informática e da Inteligência Artificial (IA) um desejo de simplificar e de tornar mais natural a escritura de um programa. Com esta finalidade implementaram-se as chamadas lingua- gens declarativas , tal como Prolog . Em linguagens imperativas como Pascal e C, se o usuário precisar explorar um dado sistema de diversas maneiras , ele é forçado a escrever e a corrigir manualmente diversos algoritmos, de tal forma a cobrir esta diversidade. A dificuldade de implementação torna as lingua- gens imperativas uma desanimadora ferramenta no ato de programar. Com uma linguagem declarativa , o programador tem somente que estabelecer um conjunto de relações entre um conjunto de objetos. Particu- larmente , um grupo de linguagens declarativas de programação chamadas Linguagens de Programação de

Transcript of 2º SIMPÓSIP BRASILEIRO DE AUTOMAÇAO INTELIGENTE a de ... · gens declarativas, tal como Prolog....

2º SIMPÓSIP BRASILEIRO DE AUTOMAÇAO INTELIGENTE CEFET-PR, 13 a 15 de Setembro de 1995 Curitiba Paraná

Análise sob restrições baseada en1 Redes de Petri de un1a célula flexível de lnanufatura

Stéphane Julia'* **, Robert Valette*, Rita 1tlaria da Silva Julia**'"

* LAAS-CNRS , 7 Avenue du Colonel-Roche , 31077 Toulouse Cedex França ** CPGEI-CEFET-PR, Av. Sete de Setembro 3165 , 80.230-901 Curitiba (PR.) Brasil

* * * Dept. Informática-UFU , Av. Universitaria SN, Campus Sta. Mônica, 38.400-902 Uberlándia (M.G.) Brasil

email [email protected] [email protected] [email protected]

Resumo

Atualmente, a análise e o controle dos Sistemas Flexíveis de Manufatura podem ser abordados de diversas maneiras. Particularmente , destacam-se as abordagens efetuadas através de duas ferramentas: as Redes de Petri e as técnicas de Inteligência Artificial. O objetivo deste artigo é mostrar como obter um modelo híbrido mais adaptado ao estudo dos Sistemas Flexíveis de Manufatura combinando-se as Redes de Petri e as Linguagens de Programação de Restrições da Inteligência Artificial.

Depois de uma apresentação das Linguagens de Programação de Restrições e de sua utilização dentro do contexto da análise sob restrições dos Sistemas Flexíveis de Manufatura, mostra-se um exemplo de aplicação do modelo híbrido obtido à análise e ao escalonamento das Células Flexíveis de Manufatura com funcionamento cíclico.

1 Introdução

Diversas ferramentas e linguagens são empregadas atualmente no contexto da análise e do controle dos Sistemas Flexíveis de Manufatura (SFM). O objetivo deste artigo é traçar um paralelo entre as técnicas de Inteligência Artificial (IA) e as Redes de Petri (RdP), que , de maneira geral, têm sido tratadas como abordagens distintas no domínio dos SFM.

As RdP são uma ferramenta muito poderosa para a modelagem dos SFM. Em particular , elas permitem o cálculo de invariantes de lugar e de transição , que são duas propriedades essenciais a serem consideradas no funcionamento cíclico dos SFM , bem como a representação de recursos, que é um conceito fundamental em um SFM.

Por sua vez , as técnicas de IA incluem mecanismos de retrocesso ("backtracking") que não existem em RdP. Além disso , as linguagens da IA , particularmente, as Linguagens de Programação de Restrições (LPR), possibilitam uma representação natural e simples das diversas restrições que compõem um SFM .

Neste contexto , parece interessante levar-se em consideração uma abordagem híbrida que combine as RdP e as LPR, obtendo-se , assim, um modelo mais compreensível e mais adaptado à análise e ao controle dos SFM.

A seguir apresentaremos as LPR e sua utilização no contexto da análise sob restrição dos SFM. Em particular , uma abordagem combinando as RdP ~ as LPR será aplicada ao caso da análise e do escalonamento das Células Flexíveis de Manufatura (CFM) com funcionamento cíclico .

2 Linguagens de programação de restrições (Constraint Program­ming Languages)

Existe hoje na aréa da informática e da Inteligência Artificial (IA) um desejo de simplificar e de tornar mais natural a escritura de um programa. Com esta finalidade implementaram-se as chamadas lingua­gens declarativas , tal como Prolog. Em linguagens imperativas como Pascal e C, se o usuário precisar explorar um dado sistema de diversas maneiras , ele é forçado a escrever e a corrigir manualmente diversos algoritmos, de tal forma a cobrir esta diversidade. A dificuldade de implementação torna as lingua­gens imperativas uma desanimadora ferramenta no ato de programar. Com uma linguagem declarativa , o programador tem somente que estabelecer um conjunto de relações entre um conjunto de objetos. Particu­larmente , um grupo de linguagens declarativas de programação chamadas Linguagens de Programação de

244 22 SIMPÓSIO BRASILEIRO DE AUTOMAÇÃO INTELIGENTE

Restrições (LPR) (Constraint programming languages) tem sido desenvolvido pela comunidade científica que trabalha na aréa de IA. Antes de tudo , forneçamos algumas definições [LE 88] :

• Uma restrição expressa uma relação entre um conjunto de objetos.

• Uma linguagem de restrições é uma linguagem utilizada para descrever os objetos e as restrições .

• Um programa de restrições (PR) é um programa escrito em uma linguagem de restrições. Este programa vai definir um conjunto de objetos e o conjunto de restrições incidentes sobre eles.

• Um sistema de satisfação de restrições (SSR) (constraint satisfaction system) acha os valores dos objetos que vão tornar as relações verdadeiras, servindo-se de métodos de resolução chamados técnicas de satisfação de restrições (constraint satisfaction techniques).

Podemos ver que nas definições dadas aparecem duas partes distintas: o PR e o SSR. Encontra-se um funcionamento semelhante em Prolog, que é um exemplo do benefício decorrente de se separar as regras (o programa Prolog) do mecanismo de controle (motor de inferéncia de Prolog) . As vantagens desta separação em duas partes são:

• A possibilidade de programar sem conhecer exatamente o princípio de resolução que vai ser utilizado , evitando-se, assim , um desperdício de tempo com questões outras que não a formulação do problema.

• A possibilidade de resolver vários problemas com um mesmo programa que represente simplesmente as diversas restrições do sistema a serem respeitadas .

• A facilidade de modificar facilmente o programa, retirando ou acrescentando restrições.

• A habilidade de descrever sistemas complexos de modo simples e natural , utilizando as informações locais como ferramenta . .

• Simplificar a tarefa humana de descrever um problema para um computador.

A desvantagem de um SSR é que, para ser eficaz, ele tem que ser muito especializado , o que o tornará aplicável apenas a sistemas específicos que tenham características semelhantes . É por isso que não se encontra um SSR genérico capaz de resolver um problema qualquer.

Geralmente, um programa de restrições pode ser visto como um grafo [LE 88 , GU 89] e o mais simples e mais comum dos mecanismos de satisfação de restrições é chamado de propagação local. As regras de resolução somente envolvem informações locais a cada nó do grafo e resultam em uma consistência local dos objetos .

Os outros mecanismos de satisfação de restrições são:

• Mecanismos de relaxamento (relaxation) quando o grafo tem ciclos e quando suas restrições sao inconsistentes (sem solução).

• Mecanismos de transformação de grafo.

• Programação linear quando as restrições são lineares.

• Mecanismos de resolução utilizados na IA, tal como as técnicas de busca usadas nos resolvedores gerais de problemas.

3 Análise sob restrições nos Sistemas Flexíveis de Manufatura

A modelagem e a análise de um SFM , devido à sua complexidade tanto no nível da arquitetura quanto no nível da gestão de produção, são geralmente abordadas de maneira modular . É evidente que a integração dos dados relativos aos SFM não pode ser feita usando apenas um modelo. A análise de um modelo complexo demais requereria tempos de cálculo que não seriam realistas em se considerando a tecnologia atual. Por outro lado, o conceito de flexibilidade faz com que os SFM devam ser dotados de uma grande capacidade de adaptação às variações do mercado. Deve ser possível de se incluir estas eventuais variações no modelo sem que ele precise ser redefinido a cada vez que elas ocorram. Uma das soluções que é cada

22 SIMPÓSIO BRASILEIRO DE AUTOMAÇÃO INTElIGENTE 245

vez mais aplicada na t.entativa de reduzir a complexidade de um SFM (particularmente no nivel da gest.ã,o de produçã,o e do escalonamento) é a de considerar preferencialmente informações locais que informações globais . Considerando que essas informações locais são vistas como conjunt.os de restrições , cada restriçã,o vai descrever somente um aspecto parcial do sistema. Esse jeito de descrever um SMF como conjunto de restrições já foi desenvolvido em diversos programas , tais como:

• ISIS [FO 87]

• OPIS [SM 88]

• MASCOT [ES 87]

Por exemplo. :MASCOT, que foi implementado em Prolog II (versão mais evoluída do Prolog) , trata a tarefa do escalonamento dentro de um SFM. A escritura das clá.usulas de Horn em Prolog II corresponde às restrições de um PR e o motor de inferéncia do Prolog II corresponde ao SSR.

Um formalismo de restrições nã,o pode ser implementado isoladamente. Devem-se combinar forma­lismos de restrições bem adaptados à. aná.lise sob restrições com outros formalismos mais adaptados à. modelagem de SFl\1. J á foi mostrado que uma RdP é um modelo bem adaptado à modelagem de um SFM [SI 89]. A combinaçâ.o das RdP e da IA não é uma coisa nova [VA 92]. Particularamente , a Lógica Nebulosa tem sido aplicada às RdP para desenvolver modelos mais robustos para a coordenação global de um SFM. A Lógica Linear [GI 87] também parece ser de grande interesse para o diagnóstico de um SFM modelado por uma RdP. Contudo, raramente uma RdP foi vista como um formalismo de restrições. Nós vamos mostrar agora como, a nível de uma CFM, uma RdP pode ser comparada com UD1 PR e como as técnicas de satisfação de restrições de um SSR podem ser aplicadas a uma RdP.

4 Análise de uma Célula Flexível de Manufatura sob um conjunto de restrições cíclicas

4.1 Representação forn1al das restrições da CFM

Uma CFM pode ser descrita por um conjunto de restrições. Cada restrição é modelada por uma sub-RdP. A seguir mostramos estas restrições:

4.1.1 Roteiro de produção

Para cada peça que vai ser tratada dentro de uma CFM existem diversos roteiros de produçâ.o possíveis. Estes roteiros podem ser entendidos como restrições a serem modeladas por uma sub-RdP que descreve a seqüéncia das operações.

A rede da figura 1 representa um exemplo de uma seqüéncia de operações a serem efetuadas sobre a peça modelada pela marca dentro do lugar pO. A restrição modelada explicita que op2 deve ser executada depois de opl e antes de op3. Ela é uma restrição temporal qualitativa que corresponde ao fato de que, por exemplo, a data de início de op2 deve ser maior que a data de fim de opl.

pO ap 1 p2 ap2 p3 ap3 p4

~ Figure 1: Roteiro de produção

A rede da figura 2 representa a mesma restrição associada a uma política cíclica. Esta restrição é mais complexa. Por exemplo, seria necessário escrever que a data do n-ésimo início de op2 deve ser maior que a data do n-ésimo fim de opl.

4.1.2 Alocação de recurso

Numa CFl\1, o comportamente flexível é modelado por recursos que sã,o repartidos entre as diversas operações. Por exemplo, a restrição descrita na figura 3 significa que com o mesmo recurso descrito pela marca em R, pode-se tratar tanto a operação op4 quanto a operação op5.

246

pO opl p2 op2

pl

p3 op3

22 SIMPÓSIO BRASILEIRO DE AUTOMAÇÃO INTEliGENTE

p4

Figure 2: Roteiro de produção + política cíclica

op4 opS

I

~

Figure 3: Alocação de recurso

4.1.3 Balanceamento de carga (Load balancing)

Quando o funcionamento de uma CFM é cíelico, é necessário descrever as exigências da produção através de uma restrição. Por exemplo , a rede da figura 4 descreve o fato de que a cada período de produção devem ser tratadas uma peça do lugar p5 e duas peças do lugar p6.

Ps •• •

o Figure 4: Balanceamento de carga

o modelo global da célula é obtido através da fusão das transições compartilhadas pelas diversas sub­RdP. Esta fusão implementa a conjunção lógica das restrições , pois uma transição só pode ser disparada quando todos os lugares de entrada contêm marcas. É por isto que as sub-RdP representam as restrições de sincronização. Traçando um paralelo entre as RdP e os PR, o modelo global da célula corresponde ao que Güsgen [GU 89] chama de Rede de Restrições .

4.1.4 Restrições temporais

Para explicitar as restrições temporais quantitativas, utiliza-se uma RdP p-t-temporizada. Associam-se com as transições as durações das operações e, com os lugares , os tempos de espera que vão definir o escalonamento. Uma definição detalhada do modelo acha-se no artigo [JU 94].

22 SIMPÓSIO BRASILEIRO DE AUTOMAÇÃO INTELIGENTE

4.2 Avaliação do deSe111penho de Ulna CFM

247

Agora que a célula foi definida por um conjunt.o de rest.rições , nós nos interessamos em definir o desem­penho da CF~L Em particular , nós vamos estudar o estado permanente cíclico da célula.

Cada restrição definida por uma sub-RdP é uma invariante de lugares. Por exemplo. na figura 2. a soma das marcações dos lugares p1, p"2 e p3 sempre vai ser igual a uma marca. Durante a evoluçào do sistema, esta marca vai passar de um lugar para o seguinte e tirar as transições seqüencialmente. A partir desta restrição , pode-se escrever a expressão do período ciclico ii: ii = d,,! + dor! + dp '2 + dop '2 + dp3 + d01'3 , onde dpi e dOJ-li. com i E {I , 2, ~~}, são as temporizações associadas aos lugares ~ às transições. Assim, para cada restriçâ.o ~ nós podemos derivar uma equação linear. O desempenho da célula é definido pelo valor do período ciclico ii. Para obter , por exemplo. o melhor desempenho possível da célula para o conjunto de restrições lineares, temos que minimizar 7i considerando este conjunto. A t.écnica de satisfaçâ.o de restrições que é utilizada é a programação linear. Com efeito , como foi dito na secção 2, geralment.e, quando a linguagem de programação de restrições descreve um conjunto de restrições lineares , o sistema de satisfação de restrições utiliza a programação linear como técnica de satisfação de restrições. Uma análise mais detalhada de uma célula que usa a análise sob restrições acha-se no artigo [.lU 94J .

4.3 Cálculo de U111 escalonanlento cíclico enl un1.a CFM

Cada vez mais , o escalonamento de um SFM é preferencialment.e visto como uma busca de uma seqüéncia de operações consistente com um conjunt.o de restrições que como uma busca de uma seqüéncia que otimize um critério . Por isso , o escalonamento de SFM é feito dentro do contexto da análise de um sistema sob restrições. O problema fundamental é de achar uma técnica de satisfação de restrições para o escalonament.o. As restrições do problema correspondem à rede de restrições (o modelo de RdP que descreve a célula) e ao resultado da avaliação do desempenho , onde este resultado é representado pelo intervalo [7im in, 7imaxJ que descreve o conjunto de valores que o período de funcionamento 7i pode assumir. 7im in é o melhor desempenho possível da célula e 7imax representa o melhor desempenho dela quando se impõe um mínimo de flexibilidade dentro da célula a fim de torná-la mais robusta às perturbações que podem ocorrer (como a quebra de uma máquina etc.) . Uma descrição detalhada dos limites 7im in e Ílmax

encontra-se em [JU 94J . A técnica de satisfaçâ.o destas restrições é o algoritmo do "token player" que foi desenvolvido em [JU 95J. O princípio de funcionamento é o do "token player" clássico [AT 87], que fixa as regras de evoluçâ.o das marcas dentro de uma RdP, e o do mecanismo de retrocesso ("backtracking") , o qual ocorre a cada vez que o valor do período 7i for superior ao valor 7i max. O mecanismo de retrocesso permite que se ret.orne a uma marcação anterior da RdP a cada vez que ocorrer uma inconsisténcia na.s restrições , visando a retomar a busca em uma outra direçâ.o onde se possa tentar satisfazer o conjunt.o das restrições. ' Esse princípio de retrocesso é uma técnica clássica da IA que é utilizada , por exemplo, dentro do motor de inferéncia de Prolog . Conseqüentemente, esse algoritmo pode ser visto como um exemplo de "crossfertilization" entre a teoria das RdP e as técnicas de IA. Para finalizar . o modelo global é composto por um conjunto de sub-RdP que devem ser vistas individualmente a fim de se fixarem as regras de resolução dos conflitos. Devido a isso , o princípio de busca do algoritmo "token player" corresponde ao mecanismo de satisfaçâ.o de restrições chamado "propagaçâ.o loca}" , que é utilizado quando a rede de restrições é modelada por um grafo . Nós podemos observar que a implementaçâ.o da estrutura de dados do algoritmo "token player" é formada de objetos e de ligações [AT 87], o que corresponde bem à definição de uma rede de restrições [G U 89J .

5 Conclusão

Mostramos aqui as similaridades que existem entre as RdP e os PR dentro do contexto da modelagem de um SFM. A fim de avaliarmos o desempenho e o escalonamento de uma CFM com funcionamento cíclico, fizemos uma aplicação a um modelo de RdP de técnicas de satisfação de restrições.

Como trabalho futuro, pode ser interessante aplicar-se o algoritmo "token player" com retrocesso [JU 95J aos problema.s de diagnóstico dos SFM, que em geral têm sido resolvidos com a ajuda de técnicas da IA que utilizam o mecanismo de retrocesso. Também propomos como trabalho futuro a reescritura, sob a forma de cláusulas da -Lógica-Linear, das restrições modela.das pelas sub-RdP, o que acreditamos ser de grande interesse em tarefas de combinar as RdP e as técnicas de IA , tarefas, estas, que visa.m a obter modelos híbridos ma.is adaptados à. compreensão dos SFM.

248 2' SIMPÓSIO BRASILEIRO DE ~ AUTOMAÇAO INTELIGENTE

References

[AT 87] H. Atabakhche, D. Simonetti-Barbalho, R. Valette, M. Courvoisier, Commande d 'ateliers: un compromis est-il possible entre une approche graphique et une approche intelligence artificielle ?, APII, p.377-394, 1987.

[ES 87] P. Esquirol , Regles et processus d'inférence pour l 'aide à l 'ordonnancement de tâches en présence de contraintes, These de Doctorat, Université Paul Sabatier, Toulouse, Décembre 1987.

[FO 87] M. Fox, Constraint-Directed Search : A case study of job-shop scheduling , Research Notes in Artificial Intelligence, Pitman Publishing, 1987.

[GI87] J.Y. Girard: Linear Logic; Theoretical Computer Science, 50 , 1987, p.1-102

[GU 89] H.W . Güsgen , CONSAT: a system for Constraint Satisfaction, Research Notes III Artificial Intelligence, Pitman Publishing, 1989.

[JU 94] S. Julia, R. Valette, M. Tazza, Analysis of the behavior of a manufacturing cell with cyclic feeding policies, IEEE International Conference on Systems, Man and Cybernetics, San Antonio , Texas , USA, October 1994.

[JU 95] S. Julia, R . Valette , M. Tazza, Computing a feasible schedule under a set of cyclical constraints , Second International Conference on Industrial Automation, Nancy, France, June 1995.

[LE 88] 'AT• Leler , Constraint Programming Languages: Their Specification and Generation , Addison­

Wesley Publishing Company,

[SI 89] M. Silva, R. Valette, Petri Nets and Flexible Manufacturing, Advances in Petri Nets, G. Rozenberg (ed.), Lecture Notes of Computer Science, Springer Verlag, p. 374-417, 1989.

[SM 88] S.F. Smith, A constraint-based framework for reactive management of factory schedule, Intel­ligent Manufacturing: Proceedings from the first international conference on expert systems and the leading edge in production planning and control, M.D. Oliff editor, The Benjamin/Cummings Publishing Company, 1988.

[VA 92] R. Valette, M. Courvoisier, Petri nets and Artificial Intelligence, International Workshop on Emerging Technologies for Factory Automation p .218-238, North Queensland, Australia, August 1992, Modern Tools for Manufacturing Systems, Manufacturing Research and Technology, Elsevier, vol.18, p.385-405, 1993 .