Professional Documents
Culture Documents
1. Introduction
Manufacturing has evolved with time as well as technology and our methods to
solve problems. The market change rate has also increased over time forcing today’s
production system to be versatile and cost aware. Industry can not depend on trial and
error methods for coping with growing need.
This paper is a review of basic information needed to understand from a first
approach, specialized literature on Reconfigurable Manufacturing Systems (RMS)
optimized with Petri Nets and some of the tools used along with them as multiagents.
Henry Ford was the first man to conceptualize the idea of a dedicated
manufacturing line (moving assembly line) while setting up the production of his
Model T car. This represented a huge step while giving the capacity to produce a high
volume of parts reducing cost, although his idea of manufacturing has evolved with
time.
Reconfigurability was born as a concept before the 1960s decade and it was
considered as an issue and robotics for many years. In general, reconfigurability is the
ability to repeatedly change and rearrange the components of a system in a cost-
effective way.
The first proposed solution to this problem was given by Gerald Estrin in 1960, a
computer scientist at the University of California who proposed that part of the
hardware would be fixed and the rest of it could be variable and reconfigured to
change task. As the idea evolved reconfigurable computing and later on
reconfigurable computing systems appeared with the capacity to change a portion of
itself while the rest of the system was still performing computations. [1]
During 1990s the Reconfigurable assembly lines appeared with the necessity to
cope with global market change rate. Consumers started to demand products that
suited their specific and also constantly evolving needs. This forced industry to design
products and manufacturing systems in order to sustain competitiveness in this
dynamic market. The new manufacturing systems should consider economical and
engineering aspects to obtain a reasonable share of the market and justify their
investments.
Production capacity could be increased in assembly lines through replication –
adding a new dedicated line for one product– and modularization –parallel
workstation module for certain operations–. Reconfigurable material handling,
fixturing and grasping devices were also created with several linear and rotational
elements that allowed dynamic re-routing, real time changes in production volume,
simultaneous assembly of different products and coping with unplanned events. [1]
The last step in the scale, were reconfigurable robots and self-reconfigurable robots
originated from the research on modular robots. They could be assembled in different
ways to produce a specific robot for a specific task
A description of the evolution of the reconfigurability from tools, controllers,
mechanical or electromechanical systems to software management can be found in [2].
Nowadays, according to The Committee on Visionary Manufacturing Challenges
entitled to create a vision of competitive environment for manufacturing and the
nature of the manufacturing enterprise in 2020, optimization of RMS is considered
one of the most important challenges to overcome along with concurrent
manufacturing (parallel planning, development and implementation), integration of
human and technical resources, conversion of information to knowledge,
environmental compatibility and innovative processes [3].
The following example and figure were extracted from [6]. A Petri net has two
components: a net and an initial marking. A net is a directed graph (the lines
connecting one thing to the next have a “direction” which must be followed) with two
sorts of nodes such that there is no edge between two nodes of the same sort (this is a
“bipartite graph”). The two sorts of nodes are called places and transitions. Places are
graphically represented by circles, and transitions by boxes or rectangles.
Places can store tokens, represented by black dots. A distribution of tokens on the
places of a net is called a marking, and corresponds to the “state” of the Petri net. A
transition of a net is enabled at a marking if all its input places (the places from which
some edge leads to it) contain at least one token and this is the defined amount of
tokens per graph required (signalled by a visible number unless the required token
equals one). If an enabled transition can occur, its occurrence changes the marking of
the net: it removes one token from each of the input places of the transition, and adds
one token to each of its output places.
At the marking shown in the figure 2, the machine is waiting for a coin to be
inserted. This is modelled by the black token at “ready for insertion” node. The
following node is “insert coin” which is enabled with the previous token at position.
This allows the token to be “fired”, which consequently enables the following
transition and so on. The storage contains initially four candies represented
themselves as tokens too, with this initial marking the machine can have four candies
dispenses without the need to request “refill”.
The pervious example also shows the capacity of the model to represent conflict,
as it happens when both “reject coin” and “accept coin” are enabled but the
occurrence of one disables the other one.
It is important to note on Petri Nets that even though a place can be enabled there
is no “obligation” for it to be fired, this is a choice of the system, when “refill” and
“insert coin” are enabled they can occur independently from each other, this shows
concurrence.
The second thing to note about Petri Nets is that two places are never fired at the
exact same time. But, the last highly valued property of this model is that it can
represent synchronization of events when they share transition as it happens in our
example with “dispense candy” which fires “request to refill” as well as “ready for
insertion”, which also requires a token both in “candy storage” and in “ready to
dispense” for it to be fired.
As our system has a dynamic behavior, we can mathematically describe the change
from the initial marking to the next step by
Mk+1 = Mk + Cvk,
where Mk+1 is the next state of the net, Mk is the current state, C is the incidence
matrix and vk is the vector that shows the fired transition.
The initial marking for our example shows the places containing tokens.
1 1
0 0
M0 = 0 , if we would fire transition 1: vk = 0
1 0
0 0
0 0
1 1
0 0
Ck = 0 , and finally: M1 = 0
1 0
0 0
0 0
The analysis of Petri Nets and its properties must include reachability, deadlocks,
mutual exclusion, reversibility and home state, liveness and boundedness. Several
authors have worked on suggesting policies to avoid deadlocks on manufacturing
systems [7], as this guarantees the system will never block whereas the boundedness
that the number of in-process parts is limited.
It is important to note that the mathematical analysis of properties, require the use
of Petri Net’s “invariants”. For these and a complete description on the properties and
simple reduction rules for analysis, Murata [8] and [6] can be consulted.
Petri Nets on its own give us information on the behaviour of the system, the paths
they can take (it is a hierarchical tool), it includes a structural analysis (deadlocks,
mutual exclusion, liveness, boundedness), and also can be used for inserting “control
devices” (this specific use is not described in this paper but can be found searching
“automatic control with Petri Nets” documents).
On either case, if we want to study the performance of a manufacturing system,
time is a variable that must be considered and associated with places or transitions,
for this purpose timed Petri Nets and Generalized Stochastic Petri Nets (GSPN’s) are
used.
Timed Petri Nets have subtypes for transition timing, where tokens are removed
from the input places when a transition becomes enabled. It is considered a
convention to associate the time with transitions only. The transition fires after a
certain period of time (time delay), depositing tokens on the output places. For atomic
firing Transition Timed Petri Nets, tokens remain on the input places of a transition
which is enabled. After a certain period of time (time delay), the transition fires
removing tokens from the input places, and deposits tokens on the output places [ 9],
this are used only for conflict-free systems as for the cases when you encounter
conflicts this become a stochastic system whether the conflict will be present or not.
Stochastic Petri Nets (SPN’s) are Petri nets with exponential transitions whose
firing time is subject to an exponential distribution. GSPNs extend SPNs by allowing
immediate transitions with zero firing time (immediate transitions) [10], therefore
making them the most general case of an SPN.
A GSPN model is used to evaluate the performance of the machining workstation:
production rate, average production time, average machine utilization change as the
product mix changes or with variables such as fixture set-up time, program
downloading, and part unloading times. As certain parts of a line are more sensitive
than others to changes, this analysis tool can help evaluate the potential advantages of
automated sections in the workstation. Two case studies of GSPN can be found in [ 11].
Both SPN’s and GSPN’s models, can be converted into their equivalent Markov
process representations, and analyzed analytically [9].
Beyond SPN’s and GSPN’s, [12] introduces Batch Deterministic and Stochastic
Petri Nets (BDSPN’s), which extend GSPN’s which extend DSPNs by introducing
batch places and batch tokens. A BDSPN has two types of places: discrete places and
batch places. Tokens in a discrete place are viewed indifferently as in classical Petri
nets, whereas tokens in a batch place, called batch tokens, may have different sizes
and are viewed as different individuals. In this type of PN’s a batch can be
represented by a token which is suitable if we’re not talking about a product that is
processed at an average constant rate. This token can be either deterministic or
stochastic in behaviour. BDSPNs have three types of transitions: immediate
transitions, deterministic transitions, and exponential transitions. They may also have
inhibitor arcs and marking-dependent arc weights.
If more than one product is being processed by one machine in the model, it has to
be replicated due to the lack of a mechanism to distinguish the tokens, this is how
Colored Petri Nets (CPN’s) appeared. For evaluating performance of a system, this
too can be dependant on time defining delay times in arc expressions. An example of
modelling RMS with Colored timed Petri Nets (CTPN’s) can be found in [13].
Nevertheless, CPN’s aren’t as efficient as classical PN’s in the characterization of the
impact function [14].
Certain manufacturing systems are too large to be modelled by regular Petri Nets
because the number of reachable states explodes, and the number of events to be
considered for system simulation is very large. In this cases, the system can’t be
modelled or analysed. To overcome this weakness, Continuous Petri Nets have been
introduced. The firing of transitions is a continuous process and the place markings
may be real numbers. For modelling systems that combine a discrete part and a
continuous part, Hybrid Petri Nets have been introduced [15], these have an extensive
application in dynamical simulation of industrial processes as they can include all the
discrete and continuous facets. They are described with the help of state equations
(ODE, DAE, PDE), they can have switching conditions, event equations, logical
event statements (if … then… else), they can also show the state of the system after
certain transitions. They can be used for batch plant simulation too. The invariants of
the Hybrid Petri Net and some examples of modelling can be found in [15].
The design process of a RMS is a complex task. It is important to first validate the
significant steps of model building/transformation before going on to the
implementation. As mentioned in point 2.2.3, Petri can be analyzed to check if the
constructed model verifies some specification properties. Among these, synchronic
properties (lead, distance, places bounds, places mutual exclusions, etc.) and activity
properties (deadlock-freeness, liveness, home states, etc.) can be studied. The first
ones are, in temporal logic terminology, close to "safety properties", while the second
group is close to so called "liveness properties". [16]
There are different approaches to choose the optimal reconfiguration of our system
once the previous validation is done.
A set of predefined rules or an algorithm to change this overtime can reduce the
coverability of our PN.
Many authors have presented their particular algorithm to solve RMS. For
example, Jun Li et al [17] presented a method for rapid design of a Petri Net based on a
RMS, which was intended for supervisory control and logic control of it, as well as a
method for automated reconfiguration of the model. To achieve this he presents an
improved net rewriting system (INRS) for dynamically operating net transformation.
Subsequently, he proposes a method for rapid design of initial full PN models of
reconfigurable manufacturing cells, using activity diagrams of Unified Modeling
Languages version 2 (UML 2) to describe manufacturing configurations; the
subactivity diagrams are transformed into PN submodels; and finally, the PN
submodels are automated synthesized into a full model by the approach of INRS.
The method compares changes in activity diagrams of the existing and goal
manufacturing configurations and converts them into net rewriting rules of INRS. By
applying the rules obtained, the existing PN model can reconfigure into a new one for
the goal manufacturing configuration.
Chung-Hsien Kuo [18], presents another example of algorithm for RMS based on a
different variable which in his case is equipment layout assignment for reducing the
cycle time of core products using distributed colored timed Petri Net to model the
RMS.
On any case, scheduling and rearranging problems are very complex and many
have been proven to be NP hard (no solution proven to be known). Even though there
are methods to get a solution. Formal, theoretically oriented approaches have to
ignore many practical constraints in order to solve these problems efficiently. This is
the reason why only a few real applications exist in the industrial environment.
Mathematical programming approaches are computationally demanding and often
cannot achieve feasible solutions to practical problems. Soft-computing approaches,
e.g. genetic algorithms and neural networks, require considerable computation and
only yield sub-optimal solutions. Instead, heuristic dispatching rules, such as Shortest
Processing Time (SPT) or Longest Processing Time (LPT), are commonly used in
practice. An interesting property of heuristic dispatching rules is that they can easily
be used in conjunction with production models derived within different mathematical
modelling frameworks, e.g. the disjunctive graph model, timed automata, and Petri
nets. [19]
The coverability tree relies on the computation of all reachable states and state
changes of the system, and it is based on an explicit state enumeration. Doing this
may or may not be feasible for every RMS depending on its complexity as the
exploration of the whole coverability tree is quite expensive in terms of computer
memory requirements and computational time. One popular way to solve this is for
large-scale systems consists in decomposing it into simple subsystems called
modules, modeling each module and integrating the module models together to obtain
the model of the whole system [20]. As this is not the ultimate solution for every
possible system, some heuristics have also been designed to avoid the evaluation of
certain sequence of events that will not lead a good solution. [21]
Metaheuristic is the general class of algorithms and techniques which employ some
degree of randomness to find optimal (or as optimal as possible) solutions to hard
problems. Metaheuristics are the most general of these kinds of algorithms, and are
applied to a very wide range of problems. They’re used to find answers to problems
when you have very little to help you: you don’t know what the optimal solution
looks like, you don’t know how to go about finding it in a principled way, you have
very little heuristic information to go on, and brute-force search is out of the question
because the space is too large. But if you’re given a candidate solution to your
problem, you can test it and assess how good it is. In this category we can name
simulated annealing, tabu search, evolution strategies –like genetic algorithm-, ant
colony optimization, etc.
The Genetic Algorithm (GA), often referred to as genetic algorithms, was invented
by John Holland at the University of Michigan in the 1970s.It iterates through fitness
assessment, selection and breeding, and population reassembly. The Genetic
Algorithm little-by-little selects a few parents and generates children until enough
children have been created. To breed, we begin with an empty population of children.
We then select two parents from the original population, copy them, cross them over
with one another, and mutate the results. This forms two children, which we then add
to the child population. We repeat this process until the child population is entirely
filled. This procedure can be applied to any kind of vector. This algorithm includes
stochastic mutation, crossover between two parents and finally select individuals in
proportion to their fitness which is also a probability guess. The pseudocode can be
found in [22].
Metaheuristic algorithms can be used to find a probably optimal solution to our
RMS using Petri Nets.
An example of the use of metaheuristic algorithms with Petri Nets can be found in
[23]. A. Li and N. Xie present an algorithm using extended timed-place Petri Nets
(ETPN), using firing sequences of the PN model as chromosomes. The GA deals with
PN elements instead of real world variables. And fitness is evaluated by means of
reconfiguration cost and balanced production.
The fields of research on RMS are broad and relevant to be considered for the
economical sustainability of enterprises. A few of them can be mentioned:
- Measures for changeability, flexibility, adaptability, responsiveness,
reconfigurability and their relationships.
- The hardware and software enabling technologies.
- Reconfigurable logical support systems, such as logistics, production
planning and control, process planning, tooling, and fixtures with the
purpose of making this the closest to concurrent as possible.
- Balance of hard and soft capacity and functionality scalability options.
- Design of machines, systems, and controls for flexibility, changeability, and
reconfiguration and integration with current systems and software.
- Models to determine adequate levels of changeability, flexibility, and
reconfigurability required for different applications.
- Appropriate capacity scalability policies.
- Appropriate frequency of change or reconfiguration.
- Smooth and optimal systems transition and changeover.
- Changeability and reconfiguration dependent quality factors, including
human- related issues.
- Complexity measurement, reduction, and management techniques.
- The use of group technology to capitalize on commonality and
standardization of parts, operation sequences, product structure, platforms,
engineering. [2]
The use of different types of Petri Nets for RMS is especially adequate for
combinatory analysis of time, cost, and frequency. It can also be used to create
manufacturing policies as generalizations of an algorithm proven in simulation for
different systems.
A popular method for analysing a complex system is decomposing it into modules.
When this is not possible other tools should be used as specific algorithms that limit
the possible solutions, using metaheuristic algorithms which are especially good for
approaching to a problem with unknown methodology to solve it or with help of
multi-agents.
References
1 [1] R. M. Setch; N. Lagos; "Reconfigurability and reconfigurable manufacturing systems: state-of-the-art review," Industrial
Informatics, 2004. INDIN '04. 2004 2nd IEEE International Conference, 2004, pp.529-535,.
2 [] V. Malhotra, T. Raj, and A. Arora, “Reconfigurable manufacturing system: an overview,” International Journal of Machine
Intelligence, vol. 1, 2009, pp. 38-46.
3 [] Commitee on Visionary Manufacturing Challenges For 2020, Visionary Manufacturing Challenges for 2020, Washington, D.C.:
National Academy Press, 1998.
4 [] Y. Koren, U. Heisel, F. Jovane, T. Moriwaki, G. Pritschow, G. Ulsoy, and H. Van Brussel, “Reconfigurable Manufacturing
Systems. A keynote paper.,” Annals of the CIRP, vol. 48, 1999, pp. 6-12.
5 [] W. Brauer and W. Reisig, “Carl Adam Petri and " Petri Nets ",” Translated from Informatik-Spektrum, Vol. 29, Nr. 5, pp. 369-
374, Springer Verlag, 2006.
6 [] J. Desel and J. Esparza, Free Choice Petri Nets, Cambridge University Press, 1995.
7 [] Z. Li, M. Zhou, and N. Wu, “A Survey and Comparison of Petri Net-Based Deadlock Prevention Policies for Flexible
Manufacturing Systems,” IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews), vol. 38, Mar.
2008, pp. 173-188.
8 [] T. Murata, “Petri Nets: Properties, Analysis and Applications,” Proceedings of the IEEE, vol. 77, 1988, pp. 541-580.
9 [] R. Zurawski, “Petri nets and industrial applications: A tutorial,” IEEE Transactions on Industrial Electronics, vol. 41, 1994, pp.
567-583.
10 [] H. Chen, L. Amodeo, F. Chu, and K. Labadi, “Modeling and Performance Evaluation of Supply Chains Using Batch
Deterministic and Stochastic Petri Nets,” IEEE Transactions on Automation Science and Engineering, vol. 2, Apr. 2005, pp. 132-
144.
11 [] R.Y. Al-Jaar and A. A. Desrochers, “Performance evaluation of automated manufacturing systems using generalized stochastic
Petri nets,” IEEE Transactions on Robotics and Automation, vol. 6, 1990, pp. 621-639.
12 [] H. Chen, L. Amodeo, F. Chu, and K. Labadi, “Modeling and Performance Evaluation of Supply Chains Using Batch
Deterministic and Stochastic Petri Nets,” IEEE Transactions on Automation Science and Engineering, vol. 2, Apr. 2005, pp. 132-
144.
13 [] L. Zhang, and B. Rodrigues, A Petri Net-based Approach to Reconfigurable Manufacturing Systems Modeling, Journal on
Systemics, Cybernetics and Informatics, 2009, 7(1), 18-24.
14 [] F.-shiung Hsieh, “Automatica Collaborative reconfiguration mechanism for holonic manufacturing systems,” Automatica, vol. 45,
2009, pp. 2563-2569.
15 [] M. Allam and H. Alla, “Modeling and Simulation of an Electronic Component Manufacturing,” Evolution, vol. 11, 1998, pp. 374-
383.
16 [] M. Silva and R. Valette, “Petri Nets and Flexible Manufacturing,” Advances in Petri Nets 1989, Lecture Notes in Computer
Science, 1990, pp. 374-417.
17 [] J. Li, X. Dai, Z. Meng, J. Dou, and X. Guan, “Computers & Industrial Engineering Rapid design and reconfiguration of Petri net
models for reconfigurable manufacturing cells with improved net rewriting systems and activity diagrams,” Computers & Industrial
Engineering, vol. 57, 2009, pp. 1431-1451.
18 [] C.-H. Kuo, “Resource allocation and performance evaluation of the RMS,” Proceedings of the IEEE, 2001, pp. 2451-2456.
19 [] D. Gradisar and G. Music, “Production-process modelling based on production-management data: a Petri-net approach,”
International Journal of Computer Integrated Manufacturing, vol. 20, Feb. 2007, pp. 794-810.
20 [] L. Wang and X. Xie, “Modular modeling using Petri nets,” IEEE Transactions on Robotics and Automation, vol. 12, 1996, pp.
800-809.
21 [] M.A. Piera, C. Zúñiga, and M. Mújica, “A Pallet Packing CPN Optimization Approach for Distribution Center,” Automatika, vol.
50, 2009, pp. 29-38.
22 [] S. Luke, Essentials of Metaheuristics, 2010. Available at http://cs.gmu.edu/∼sean/book/metaheuristics/
23 [] A. Li and N. Xie, “A Robust Scheduling for Reconfigurable Manufacturing System Using Petri Nets and Genetic Algorithm,”
Advanced Manufacturing, 2006, pp. 7302-7306.
24 [] S. Kornienko, O. Kornienko, and J. Priese, “Application of multi-agent planning to the assignment problem,” Computers in
Industry, vol. 54, 2004, pp. 273-290.
25 [] M. Perse, M. Kristan, J. Pers, G. Music, G. Vuckovic, and S. Kovacic, “Analysis of multi-agent activity using petri nets,” Pattern
Recognition, vol. 43, 2010, pp. 1491-1501.