early medical abortion a guide for practitioners

16
1 23 The International Journal of Advanced Manufacturing Technology ISSN 0268-3768 Volume 69 Combined 9-12 Int J Adv Manuf Technol (2013) 69:2773-2786 DOI 10.1007/s00170-013-5175-7 Scheduling of complex manufacturing systems with Petri nets and genetic algorithms: a case on plastic injection moulds Juan Pablo Caballero-Villalobos, Gonzalo Enrique Mejía-Delgadillo & Rafael Guillermo García-Cáceres

Upload: others

Post on 19-Mar-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

1 23

The International Journal ofAdvanced Manufacturing Technology ISSN 0268-3768Volume 69Combined 9-12 Int J Adv Manuf Technol (2013)69:2773-2786DOI 10.1007/s00170-013-5175-7

Scheduling of complex manufacturingsystems with Petri nets and geneticalgorithms: a case on plastic injectionmoulds

Juan Pablo Caballero-Villalobos,Gonzalo Enrique Mejía-Delgadillo &Rafael Guillermo García-Cáceres

1 23

Your article is protected by copyright and

all rights are held exclusively by Springer-

Verlag London. This e-offprint is for personal

use only and shall not be self-archived

in electronic repositories. If you wish to

self-archive your article, please use the

accepted manuscript version for posting on

your own website. You may further deposit

the accepted manuscript version in any

repository, provided it is only made publicly

available 12 months after official publication

or later and provided acknowledgement is

given to the original source of publication

and a link is inserted to the published article

on Springer's website. The link must be

accompanied by the following text: "The final

publication is available at link.springer.com”.

ORIGINAL ARTICLE

Scheduling of complex manufacturing systems with Petri netsand genetic algorithms: a case on plastic injection moulds

Juan Pablo Caballero-Villalobos &

Gonzalo Enrique Mejía-Delgadillo &

Rafael Guillermo García-Cáceres

Received: 11 April 2013 /Accepted: 3 July 2013 /Published online: 17 August 2013# Springer-Verlag London 2013

Abstract This paper introduces significant improvementson a previous published work that addresses complex pro-duction scheduling problems using Petri nets (PNs) andgenetic algorithms (GAs). The PN model allows a formalrepresentation of the manufacturing system and of the spe-cial constraints of this kind of system, while the GA gener-ates a near-optimal schedule through the structure providedby the PN. The corresponding manufacturing system is as-sociated with a flexible job shop environment with featuressuch as the fabrication of multiple parts and precedencerelationships between such parts and assembly operations,in which the objective is the minimisation of the total weight-ed tardiness. As part of the modelling stage, a mixed integerlinear programming formulation is proposed for this frame-work. The fabrication of a chess mould in a Colombiancompany is used in two ways: to introduce a proposednormalisation operator that improves the results by reducingthe search space of the GA and to illustrate the use of PNmodelling the special aforementioned constraints as well asthe encoding of the chromosome used by the GA. The

proposed approach was tested on randomly generated in-stances, and their performance was measure against optimalsolutions or solutions provided by algorithms presented inprevious work. The results confirm the relevance of thisapproach to schedule such complex manufacturing systems.

Keywords Scheduling . Petri nets . Genetic algorithms .

Flexible job shop . Injectionmould . Total weighted tardiness

1 Introduction

Complex production systems have characteristics such aslarge number of products, an ever changing product mix,sequence-dependent set-up times, unrelated parallel ma-chines and mix of different process types [1]. Among thediversity of complex manufacturing systems, there are spe-cial cases whose main goal is the production of tools for thefabrication processes in other industries. Such is the case ofthe fabrication of injection moulds, which is a support in-dustry for almost all companies that use injected componentseither as final product or as semi-finished products.

Due to the economic importance of the injected parts, themould manufacturing has attracted the attention of manyresearchers who have studied problems related mainly withthe process of design, manufacturing and testing of injectionmoulds, and tuning of parameters in moulding machines,among others [2]. These works have focussed on themanufacturing process itself instead of considering themould making as a part of a manufacturing system. Suchan issue must not be overlooked as companies must lookafter not only the customer satisfaction by bringing theappropriate specifications and quality for the product butalso to deliver their products on time.

In the literature, there have been very few approaches thatstudy mould-making scheduling. For example, Choy et al. [3]propose a scheduling decision support model that implements

J. P. Caballero-Villalobos (*)Department of Industrial Engineering, Pontificia UniversidadJaveriana, Calle 40 N 5-50, Bogotá, Colombiae-mail: [email protected]

J. P. Caballero-VillalobosDepartment of Industrial Engineering, Universidad de los Andes,Carrera 1E No 19A-40 Office ML 703, Bogotá, Colombiae-mail: [email protected]

G. E. Mejía-DelgadilloDepartment of Industrial Engineering, Universidad de los Andes,Carrera 1E No 19A-40 Office ML 703, Bogotá, Colombia

R. G. García-CáceresDepartment of Industrial Engineering, Escuela Colombiana deIngeniería, Carrera 45 N 205-59, Bogotá, Colombia

Int J Adv Manuf Technol (2013) 69:2773–2786DOI 10.1007/s00170-013-5175-7

Author's personal copy

a genetic algorithm (GA) to minimise total job tardiness; Wuet al. [4] model the problem as a resource constrained multipleproject scheduling where moulds and mould componentsrepresent projects and activities, respectively; Gomes et al.[5] model and test such a scheduling problem with two MIPformulations for several due date-based objective functionsconsidering recirculation and assembly; Chin et al. [6] usetimed coloured petri nets to propose a hierarchical modellingand simulation language to generate a production scheduling;and Iima et al. [7] implement an autonomous decentralisedscheduling algorithm to minimise the tardiness of the mouldsand maximise the up time in the machines with multi-agentsystem simulations.

In this work, we introduce the approach that we calledIPNGA, which represents a significant improvement over thealgorithm presented by Mejia et al. [8] that uses Petri nets andgenetic algorithms to describe and optimise the productionenvironment. The primary advantage of this approach is itsability to model a wide variety of manufacturing systems with-out modifications either in the net structure or in the chromo-somal representation. For instance, this allows representingspecial features of complex manufacturing systems such asproject-like routings, assembly operations, precedence con-straints between jobs and workstations with unrelated parallelmachines, among others.

The performance of IPNGA is compared against alterna-tive methods of solution such as PNGA by Mejia et al. [8],Beam A* Search (BAS) by Mejía and Odrey [9], the pro-posed mixed integer linear programming (MILP) formula-tion and several dispatching rules.

This work extends previous work on modelling and sched-uling manufacturing systems with Petri nets for genericmanufacturing systems [8–12], and was motivated by diffi-culties in the production scheduling process of a Colombiancompany that designs and produces injection plastic mouldsand high precision steel parts for other industries. The objec-tive was the minimisation of the non-compliance rate,expressed here as job tardiness, taking into consideration theirrelative importance.

The document is organised as follows: Section 1 offers theproblem description and proposes a mathematical model forthe problem; Section 2 introduces the background; Section 3presents the literature review; Section 4 explains the IPNGAapproach; finally, Section 5 shows computational results, con-cludes and outlines future work.

1.1 Problem description

In the injection moulding process, a high pressure mouldingcompound fills the mould cavities and then solidifies bycooling. In such context, a mould is a specially designed toolconsisting of a “base” and one or more “cavities”manufacturedto the exact specifications of the desired product.

Systems producing injection moulds are characterised bysmall production orders or batches, and high variety of prod-ucts and specifications. In this kind of systems, each mould isunique; therefore, there can be many different process routesand specifications that make the classical flexible job shop asthe best configuration to model that production system [3].Additionally, the mould fabrication requires the production ofseveral components that have to fit perfectly between them;therefore, there are additional precedence constraints betweenspecific components of the mould [7].

These above-mentioned precedence constraints arise because:

& The right dimensions of the mould must be guaranteed toensure a precision assembly. To do so, specific compo-nents have to be finished before others, e.g. ejection andcavity plates must be finished before the cylindricalelements (i.e. the sprue).

& Some elements require non-commercial tools that mustbe fabricated prior to their machining (e.g. electrodesused by sinker electro-discharge machines (EDMs) tomake the profiles of the core, the cavities, the slider headsand the lifter heads [2]).

Moulds are typically manufactured in several computernumerical control (CNC) stations in which there can be oneor more (identical or non-identical) parallel machines.Hence, we model this system as a FJc/prec/∑wjTj, accordingto the notation proposed by Graham et al. [3].

The aim of this work is to minimise the objective oftotal weighted tardiness for a set of n injection moulds(jobs) and m machines, where each mould is composedby nj parts (components) and each part is fabricated byan ordered set of operations. The structure of a job is shown inFig. 1.

The IPNGA approach is illustrated using an injectionchess mould that is partially shown in Fig. 2. For thismould, 30 elements are manufactured, of which 13 ofthem were electrodes for the EDM that are not part ofthe mould.

Job (Injection Mould)

component 1(eg.cavity plate )

component 2(eg.base plate )

component m(eg.ejector plate )

. . .

operation 1,1(eg. rectified)

operation 1,2(eg.milling)

. . . operation 1,k(eg. sinker EDM)

Fig. 1 Job concept for mould making industry

2774 Int J Adv Manuf Technol (2013) 69:2773–2786

Author's personal copy

1.2 Mathematical model

The aforementioned FJc/prec/∑wjTj scheduling problem canbe expressed as a MILP model, which is used to compare theperformance of IPNGA in Section 5.1, especially in thoseinstances that can be solved to optimality.

Sets:

S WorkstationsMs Subset of machines belonging to station sJ JobsEj Components of job jOe Operations required to manufacture the component e

Indexes:

s Workstationm Machinej,k Jobe,i Componento,q Operation

Parameters:

dj Due date for job jwj Weight or importance of job jre,j Release time of the component e of job jpredj,k 1 if job j must be finished before job k starts, 0

otherwisepo,e,j

s,m Processing time for the o operation of the ecomponent of the j job at m machine in station s

ao,e,js,m Setup time of operation o of component e of job j at

m machine in station sM Sufficiently large number

Variables:

Tj Job j tardinesscj Job j completion timebo,e,j Start time for the o operation of the e component

of the job jyo,e,j,q,i,k

m,s 1 if the o operation of the e component of the jobj is processed before the q operation of the i

component of the k job at machinem in station s,0 otherwise

xo,e,jm,s 1 if o operation of the e component of the j job is

processed at machine m in station s. 0 otherwise

Objective: minimize z=∑ jwjTjConstraints:

T j≥C j−d j ∀ j ∈J ð1Þ

c j≥ bo;e; j þX

∀s∈S;∀m∈Msxm;so;e; j am;so;e; j þ pm;so;e; j

� �

∀ j∈J;∀e∈E j;∀o being the last operation of Oe

ð2Þ

bo;e; j≥re; j ∀ j∈J;∀e∈E j; o∈Oe; o ¼ 1 ð3Þ

bo;e; j≥bo−1;e; j þX

∀s∈S;∀m∈Msxm;so−1;e; j am;so−1;e; j þ pm;so−1;e; j

� �

∀ j ∈ J ; ∀ e ∈ E j; ∀ o ∈ Oe; o > 1ð4Þ

X∀s∈S;∀m∈Ms

xm;so;e; j ¼ 1 ∀ j∈J;∀e∈E j;∀o∈Oe ð5Þ

bp;i;k ≥ bo;e; j þ xm;so;e; j pm;so;e; j − M 1−ym;so;e; j;q;i;k

� �

j∈J;∀e∈E j;∀o∈Oe;∀k∈J;∀i∈Ek;∀q∈Oi;∀s∈S;∀m∈Ms

ð6Þ

bo;e;k ≥c j*pred j;k ∀k∈J;∀e∈Ek;∀o∈Oe;∀ j∈J; ð7Þ

T j≥0 ∀ j∈J ð8ÞThe description of these constraints follows next:

& Equation (1) relates the job tardiness with the completiontime.

& Equation (2) guarantees that a job cannot finish earlierthan all its operations.

& Equations (3) and (4) establish the earliest start times ofan operation: An operation cannot be started neitherbefore the release time of the corresponding componentnor before the finish time of the previous operation of thesame component.

& Equation (5) guarantees that each operation can only beassigned to one machine of a workstation.

& Equation (6) ensures that an operation of a job cannotstart earlier than the previous operation in the samemachine.

& Equation (7) ensures each component only starts itsprocessing after all its predecessors have completed.

Fig. 2 Cavities plates for chess mould

Int J Adv Manuf Technol (2013) 69:2773–2786 2775

Author's personal copy

2 Background

2.1 Petri Nets

A Petri net—PN—is a particular kind of directed graph withan initial state called initial markingM0 [13]. The underlyinggraph of the PN is a directed and bipartite graph, consistingof two types of nodes: places and transitions, which areassociated with actions or conditions and events, respective-ly. Places and transitions are connected through arcs, whichhave an integer number (weight) mapped through a functionW. Places can contain entities called tokens that represent thetruth of the associated action or condition; an arrayM of non-negative integers, containing the number of tokens at eachplace, is called marking and expresses the status of the PN atany time. Formally, the PN is defined as: PN=6-tuple{P,T,{T×P},{P×T}, M0, W} where P is set of places, T setof transitions, T×P set of arcs form transitions to places, P×Tset of arcs from places to transitions,M0 is the initial markingandW is the mapping function from the set of arcs in the PN toweights of the arcs (natural numbers) {{T×P}∪{P×T}}→Ν.

Places can be either timed or untimed; in the former case,each token in the place must remain there at least for aspecified time before it can be removed because of the firingof a transition; timed places usually represent operations,while untimed places represent ready conditions or resourceavailability. Transitions model events such as the beginning orthe end of an operation.

The state or marking of the Petri net changes when atransition fires; before a transition fires, it must be enabled,which means that the number of tokens at each of its inputplaces is greater or equal than the weight of the correspondinginput arc. When a transition is fired, the transition firing ruleremoves from each transition input places as many tokens asthe weight of the corresponding input arc. Likewise, each ofthe transition output places receives a number of tokens equalto the corresponding weight of the output arc.

The basic modelling of manufacturing systems with PN[14] uses n acyclic subnets to model the precedence relation-ships between the operations of the n jobs. Such subnets arelinked with “resource places”, which model resource avail-ability constraints. In order to illustrate that concept, Fig. 3shows a two-machine environment processing two jobs,where places can either represent operations (grey places)or ready/availability conditions (white places). Table 1 has adescription for each place in Fig. 3.

2.2 Genetic algorithms

According to Goldberg [15], “GA are search stochastic tech-niques based on the natural evolution mechanisms”. GA usesa set of individuals in which several genetic operators andstrategies are applied to find better solutions to a problem by

allowing selectively explore new regions of the solutionspace. The most common genetic operators are crossoverand mutation, which emulate the reproduction and sponta-neous alteration of individuals in living species. An individ-ual, also known as a chromosome, completely codifies thedirections and data required to build a solution for the prob-lem and comprises a set of simple information units calledgenes. The set of individuals used by GA is called a popu-lation. GAs are oriented towards improving the entire popu-lation rather than toward searching for a unique optimalsolution. This behaviour is result of the continual evolutionof population in which the good previously found character-istics are preserved by the genetic exchange mechanismbetween individuals of the population.

3 Literature review

As mentioned above, the mould making scheduling problemis a particular case of the flexible job shop problem (FJSP),and it is well known that the FJSP has been extensivelystudied with different approaches. However, methods thatinvolve precedence constraints have been studied in otherframeworks such as single machine [16–18], parallel ma-chine [19, 20] and flow shop [21] scheduling problems.

Recently, the literature on scheduling has seen an importanteffort to develop generic strategies to deal with the complexityof most real-life problems, which requires adequate features toboth represent the characteristics of manufacturing systemsand the flexibility to reuse the solution method in differentframeworks. In such sense, a primary concern has been to finda good combination of modelling tools and robust algorithms.Among the modelling tools, Petri nets have been extensivelyused to model and simulate a wide variety of systems due totheir capability to represent features such as parallel machines,multiplicity of resources, assembly operations, buffers of fi-nite capacity, machine setups and queue disciplines, to name afew [22].

Over the years, Petri nets have been combined with opti-misation algorithms several in complex scheduling systems:Shih and Sekiguchi [23] present a scheduling approach basedon a transition timed PN and beam search technique for an

p1 p2 p3 p4 p5

p6 p7 p8 p9 p10

m1 m2

t1 t2 t3 t4

t5 t6 t7 t8

Fig. 3 Petri net modelling two jobs and two machines

2776 Int J Adv Manuf Technol (2013) 69:2773–2786

Author's personal copy

FMS in which the complete schedule is obtained by solving tooptimality small parts of the PN. Every time a conflict isdetected in the PN, a beam search decision module thatconstructs and selects the best partial schedule is invoked;Lee and DiCesare [22] implemented a version of the well-known A* Search algorithm for flexible manufacturing sys-tems (FMS) scheduling; Saitou et al. [24] use a coloured PN tomodel the FMS and a hybrid scheme with genetic algorithmsand dispatching rules for allocating available resources todifferent operations into the FMS and to schedule dynamicallythe sequence of activities, respectively; Reyes et al. [25]model FMS with a subclass of PN (B-nets) and schedule theoperations using a variant of the A* algorithm that implementsan admissible heuristic function based on the assumption thatjobs can always follow the path with the lowest operation timewithout considering the availability of the resources; Jain [26]proposed an application to control the assignment of resourcesin a FMS with dispatching rules and PN; Abdallah et al. [27]present an algorithm for a special class of FMS (SequentialSystems with Shared Resources S4R) to minimise the meanflow time. The algorithm combines B&B and the depth firstsearch strategy with a truncation technique to generate theminimum necessary portion of the reachability graph to besearched; and Yu et al. [28] reduce the scope of evaluation ofthe A* algorithm using a heuristic function based on PNanalysis. The proposed heuristic function attempts to give atheoretical lower bound for the minimum makespan amongthe several states of an FMS. These lower bounds are com-puted by solving the relaxed problem considering infiniteavailability of the resources; Mejía and Odrey [9] presentedan improved version of the A* Search and tested it over a widevariety of problems ranging from classical job shop to com-plex FMS scheduling problems; Caballero and Mejía [10]used PN to model FMS and a GA to find sequences oftransitions representing feasible schedules for minimising thetotal weighted tardiness; Lee and Lee [29] modelled FMSusing T-timed PN and increased the efficiency of the A*algorithm by proposing new heuristic functions for makespan;and Lee et al. [30] developed a scheduling procedure forsemiconductor processes that characterises all manufacturingactivities by PN and formulate a mathematical programmingmodel for describing the token movements into the PN that

generates the optimal production schedule. More recentlyMejía et al. [8] presented a GA combined with a PN toschedule the production of a manufacturer of car cover seatsconsidering complex project-like routings, assembly opera-tions and workstations with unrelated parallel machines;

4 IPNGA approach

The proposed method, IPNGA, is an improvement of thePNGA approach by Mejía et al. [8], whose main differencesare the implementation of strategies to reduce the effects ofthe redundant representation of the chromosome and the wayin which the initial population is generated. Firstly, IPNGAproposes a normalisation operator, which reduces the searchspace by grouping several chromosomes that represent thesame production schedule. IPNGA also implements a strat-egy of “random immigrants” to maintain the diversity of thepopulation. Secondly, IPNGA builds the initial populationwith a mix of chromosomes coming from three sources: a setof fittest chromosomes obtained as a result of a number ofprevious independent executions of IPNGA using randominitial populations, chromosomes obtained by dispatchingrules and chromosomes randomly generated. On the con-trary, the original proposal always uses initial populationscomposed by a mix of randomly generated chromosomesand chromosomes obtained by dispatching rules.

4.1 Modeling stage

The IPNGA algorithm obtains feasible schedules using a PNthat describes the shop environment characteristics such asprocess routes for the moulds, precedence constraints be-tween elements of the moulds and machine eligibility con-straints, among others. To do so, it is required the modellingof the system by a PN whose properties include that theinitial state is safe, there is a buffer before each processingplace, the times associated to the processing places are de1-terministic and there is only one deadlock state (final state).One example of this kind of PN is illustrated by Fig. 4, inwhich it is shows a simplified Petri net representing therelationships and constraints between machinery, components

Table 1 Places description forPN in Fig. 3 Place Meaning Place Meaning

p1 Job 1 available p6 Job 2 available

p2 Job 1 is being processed at machine 1 p7 Job 2 is being processed at machine 1

p3 Job 1 is waiting to be processed at machine2

p8 Job 2 is waiting to be processed at machine2

p4 Job 1 is being processed at machine 2 p9 Job 2 is being processed at machine 2

p5 Job 1 is finished p10 Job 2 is finished

m1 Machine 1 available m2 Machine 2 available

Int J Adv Manuf Technol (2013) 69:2773–2786 2777

Author's personal copy

and required tools (electrodes) required to produce the chessmould introduced in Fig. 2. Descriptions of the places in thePN are summarised in Table 2.

4.2 Optimisation method

The overall overview of the optimisation strategy of IPNGAis described in this section, and the specific details of theimplementation are discussed in next subsections.

IPNGA optimises the shop floor using an evolutive strat-egy that uses an encoding whose logic is as follows: Eachchromosome is an indirect representation of a feasible sched-ule for the shop floor by defining a sequence of firingtransitions that evolves the PN from the initial marking toits final marking. Each gene of a chromosome identifies, via

a mapping function, a unique transition to fire at each state ofthe PN.

The algorithmic behaviour of IPNGA can be summarisedthrough these five steps:

1. Initial population: IPNGA is run in two stages; in the firststage, it is run n times with a random Initial Population,and the fittest chromosome at each of these executions iskept in memory; at the second stage, IPNGA is run onceusing an Initial Population composed by the chromo-somes kept in memory after finished stage one (step 5),randomly generated chromosomes and chromosomes cor-responding to six dispatching rules.

2. Fitness evaluation: before the fitness evaluation is performedthe proposed normalisation operator is applied, then the

starttype Aelectrodes

Grinder

Milling

CNCMachining

starttypeAplates

EDMsinker

10

10

starttypeBplates

Lathe

starttypeAejectors

69

2

start type Belectrodes

Chess mouldFinishedp33

p11

p10

p9

p8

p7

p2

p1

p0

p6

p5

p4

p3

p23 p32

p31

p30

p29

p28

p27

p26

p25 p38

p24

p15

p16

p17

p18

p19

p14

p20

p21

p22

p36

p35

p13

p12

p34

p37

t28

t27

t26

t25

t24

t23

t22

t21

t20t10

t11

t12

t13

t14

t15

t16

t17

t18

t19

t2

t3

t4

t5

t6

t7

t8

t9

t0

t1

EDM sinker

p36

CNCMachining

p35

Grinder

p37

CNCMachining

CNCMachining

p35

p35

Fig. 4 Simplified PN for a chessmould fabrication

2778 Int J Adv Manuf Technol (2013) 69:2773–2786

Author's personal copy

total weighted tardiness is computed for each chromo-some in the current population.

3. Selection for crossover: a set of chromosomes of the pop-ulation are randomly chosen for reproduction according tothe binary tournament strategy (explained later).

4. Update population: the new population is obtained bycombining individuals from the current population withoffspring obtained by applying genetic operators tochromosomes selected in step 3.

5. Stopping criterion: once a number of generations with-out improving is reached (the stopping criterion is satis-fied) the algorithm ends and the fittest chromosome iskept in memory waiting for stage 2; otherwise, thealgorithm iterates again over steps 2–5.

4.2.1 Chromosome structure and decoding

The chromosome structure is composed of as many genes asthe total number of operations (Nop) where each gene is repre-sented by a positive integer in the range [1, Nop]. A geneidentifies an enabled transition to be fired in the PN, which inturn represents an operation to be performed. The interpretationof the chromosome is similar to previously used scheme [8, 10]and works as follows: Let g be the value of a specific gene, L alist of size s containing the active transitions in the current stateof the PN, and r the integer reminder of g/s +1. The transitionlocated in the rth position of L is fired, and the PN evolvesupdating both its marking and the L list. The interpretation ofthe chromosome’s genes is made until the final state of the PN.In addition, transitions that end the processing of an operationare fired automatically if they are active and produce theminimum increment to the system time (no other transitioncan be fired first without incrementing the system time).

Although, in the PN, each operation to perform hastwo transitions related: to evolve the PN, only one genis required to identify the first of them because thesecond one is automatically fired once the processingtime has elapsed. Thus, for the example of the chessmould in Fig. 4, a feasible chromosome is composed by 78positive integers, since that is the number of operations neededto produce all the elements of the mould; Table 3 shows theinterpretation of the first five genes of the chromosome{17,11,7,23,19, …}.

Under the column labelled “system time” in Table 3, sev-eral values are shown in the format t(px), replacing the possi-ble values of the processing time associated with place x. Forinstance, the entry t(p25) means that the system time takes thevalue of the processing time corresponding to place 25.

4.2.2 Fitness evaluation

The objective function is to minimise the total weightedtardiness (TWT). The weighted tardiness for a chromosomeis calculated as: wjTj=wj×max{0,cj−dj}, where wj, dj and cjare the weight or importance of the job, the due date and thecompletion time of the job, respectively. The completiontime for each job is associated with the time when a tokenreaches the place labelled as final in the PN, which meansthat all the components of the mould have been produced.For example, the chess mould shown in Fig. 4 has a finalplace labelled as “chess mould finished”.

4.2.3 Initial population

IPNGA is run a number of times (n), from which the first n−1runs uses an initial population that is randomly generated. At

Table 2 Description of the places in Fig. 4

Place Meaning

p0 Electrodes for figure bodies: Kings (body and cross), Queens, Horses, Towers and Bishops(waiting for start the processing)

p3 Top and down clamping plates (waiting for start the processing)

p12 Electrodes for figure heads: Queens and Towers (waiting for start the processing)

p15 Bolsters plates (waiting for start the processing)

p24 Ejectors for Queens and Towers(head), leader and ejector pins

(Waiting for start the processing).

p1, p8, p13, p20, p31 CNC machining in progress

p2, p5, p7, p9, p17, p19, p21, p26, p28, p30 Temporary buffer (waiting for next processing operation)

p4, p16, p27 Grinder machining in progress

p6, p18 Milling in progress

p10, p22, p29 Electrodischarge machining (EDM) in progress

p11, p23, p32 Temporary buffer (part waiting for final assembly operation)

p33 Chess mould finished

Int J Adv Manuf Technol (2013) 69:2773–2786 2779

Author's personal copy

each one of these executions, a fraction (x) of the best obtainedsolutions is kept in memory.

Once all the first n−1 runs have been completed, thosesolutions that were kept in memory are then used as individ-uals of the initial population for the nth run. In addition, other“seeded” chromosomes are also generated by severaldispatching rules. Thus, the initial population for the lastrun is composed by best individuals found in previous exe-cutions as well as a number of dispatching rules.

The implemented dispatching rules were as follows: earlydue date (EDD), shortest process time (SPT), longest processtime (LPT), weighted shortest process time (WSPT), appar-ent tardiness cost (ATC), minimum slack (MS) and MS1,where MS1 is a modification of the MS rule that chooses thejob with the minimum weighted earliness/tardiness.

4.2.4 Selection and Genetic Operators

To select the individuals for crossover, the GA employs thebinary tournament strategy of two players. This strategyconsists of randomly selecting a pair of individuals fromthe current population; the best fitted of the two is selectedfor reproduction and becomes the first parent. The secondparent is chosen similarly. For each pair of parents, theclassical one-point crossover operator is applied to generatetwo offspring. In the one-point crossover, a random validposition called the cut-off point is generated: The first childis generated with the first portion (up to the cut-off point) ofthe first parent and the second portion (from the cut-off pointon) of the second parent; the second child is generated withthe first portion of the second parent and the first portion ofthe first parent. Then, the offspring are added to the pool ofindividuals that may be included in the next population.

An elitism strategy is used to select the individuals of thenext generation as follows: 90 % of the current population ispreserved as members of the next population, and theremaining 10 % is chosen from the pool of offspring.

Once the chromosomes of the new population are select-ed, they are mutated according to the “mutation rate” orprobability of mutation.

The mutation rate is computed according to the size of theinstance, trying to maintain constant the expected number ofmutated genes. Each gene in the chromosome has the same

probability to be mutated, and its value is established by theratio between the number of expected genes to be selectedfor mutation and the size of the chromosome. This rate isused to decide whether a gene will be mutated; in such case,the mutation operator modifies the gene by adding one tocurrent value.

4.2.5 Proposed strategies for preserving population diversity

Although the selection mechanism in GAs encourages theimprovement of the population as a whole, it causes thereduction of diversity, which is known as one of the keysto good performance [31]. In order to maintain the diversityof the population as long as possible, the literature suggestsseveral strategies such as having larger populations, havinggreater mutation rates and using a “no-duplicates’ policy toavoid that into the population coexist several chromosomesthat represent the same solution.

In the specific case of the proposed chromosome, thecontrol of ‘no-duplicates’ individuals is not trivial since theencoding is a redundant representation [32], which impliesthat two or more chromosomes may be represent the samesolutions [33] and might lead to severe loss of performancein genetic algorithms, in particular, with respect to traditionalcrossovers [34].

Besides the use of the strategy of elitism when the popu-lation is being build, two additional strategies wereimplemented to overcome the mentioned weakness due tothe chromosome representation.

First, we propose a normalisation operator [35] that isapplied during the interpretation of the chromosomes. Thisnormalisation operator transforms each chromosome by re-placing its genes to the minimum feasible value as follows: ifg, L and r are respectively the value of the gene, the list ofactive transitions with size s and the integer reminder of g/s;then the current value of the gene (g) is replaced by(g’=r+1). For instance, the first five genes of the chromo-some {17,11,7,23,19,…} used in Section 4.2.1 will betransformed to {3,4,4,3,2,…} according to the computationsshown in Table 4.

The effect of the proposed normalisation operator over thesearch space of the genotype is its reduction in size, due tothe grouping into a conceptual group [35] of genotypes that

Table 3 Chromosome interpre-tation for the chess mouldexample

g L s r Fired transition System time

Chromosome Gene 1 17 t0, t2, t10, t18, t20 5 3 t10 0

Gene 2 11 t0, t11, t18, t20 4 4 t20 0

Gene 3 7 t0, t11, t18, t21 4 4 t21 t( p25)

Gene 4 23 t0, t11, t18 3 3 t18 t( p25)

Gene 5 19 t0, t11, t19 3 2 t11 t( p16)

2780 Int J Adv Manuf Technol (2013) 69:2773–2786

Author's personal copy

although seem to be different, represent the same phe-notype. As an example, other feasible chromosomes in thepopulation—among a wide diversity of possibilities—such as{12,3,11,5,13,…} or {22,19,3,17,4,…} or {77,7,15,20,1,…}are different expressions of the same chromosome{3,4,4,3,2,…} obtained above by applying the normalisationoperator.

Second, a strategy of “random immigrants” is used tomaintain the diversity of the population through substitutinga portion of individuals in the current population with ran-domly generated individuals [36], when most of the popula-tion is “too similar”. When the 80 or higher per cent of theindividuals of the population have a hamming distance of<10 % of the size of the chromosome, then they are replacedby randomly generated individuals. The hamming distance isused as a measure of the similarity between two chromo-somes. Defining the distance between the pair of compo-nents in the ith position of two same length arrays a and b, asd(a[i],b[i])=0 iff a[i]==b[i]; otherwise d(a[i],b[i])=1. Thehamming distance is expressed as: HD=∑∀ id(a[i],b[i]). Inother words, the Hamming distance computes the number ofpositions (genes) at which the corresponding values aredifferent between a pair of chromosomes.

4.2.6 Stopping criterion

The PNGA algorithm terminates either when the number ofgenerations has reached a maximum number or the bestsolution has not changed for a certain number of generations.

5 Computational experiments

As mentioned above, this work arose by the difficulties in theproduction scheduling process of a small engineering com-pany that provides services of design, manufacturing andtechnical supervision of injection moulds and other highprecision steel parts. This company belongs to the metalmachining sector in Colombia, which is known by the useof multipurpose machine tools, a high heterogeneity in pro-duction and a poor or inexistent record of previous statisticaldata, especially for those referring to planning, schedulingand control and traceability of the processes.

The above-mentioned characteristics have made difficultto have a complete set of real instances to test the perfor-mance of the proposed approach. However, a set of random-ly generated instances with similar characteristics to the realones were generated. The instances consider constraints ofprecedence between pairs of jobs, processing stations withnon-identical machines and machine eligibility constraints.

The value of parameters used in the generation of theinstances such as weights of the jobs, processing times ofthe operations and number of machines at each station wereobtained using random uniform distributions in the range [1–10], [0–12] and [1–3], respectively. A processing time withvalue 0 indicates that the related machine is unable to processthat operation. The value of the due date for each job wascalculated by multiplying the sum of the operations process-ing times by a factor [37] (e.g. 1.3 in this case). The proba-bility of precedence between pairs of components was fixedto 30 %. The detailed definitions of the instances are avail-able online at the PYLO research group URL (http://pylo.uniandes.edu.co).

5.1 Results analysis

It is well known that tuning of parameters for GA is crucialfor its performance. Parameters such as size of populationand rate of mutation are sources of heterogeneity for thepopulation in different stages, and as it was previously men-tioned, the preservation of diversity in the population is oneof the keys to good performance. The goal here is to chooseappropriate values for these two parameters according to theinstance size without too much consumption of computerprocessing time. The other parameters were tuned using a 2kdesign of experiments [38] to study the effects of the param-eters and its interactions on the response variable using twovalues for each parameter.

The characteristics of the instances used in the computa-tional study are shown in Tables 5, 6 and 7, where, inaddition, the following results are summarised: minimumvalue obtained by IPNGA and PNGA; the best known solu-tion (BKS); the best value obtained by one of severaldispatching rules; and the solution provided by the BASalgorithm proposed by Mejía and Montoya [11]. The solu-tions related to MILP correspond to the best value obtainedamong the solutions provided by the MILP solvers Gurobi®,GLPK®, SCIP® and XpressMP®, which were run with theirdefault parameters at the NEOS server project [39] with amaximum run time of 3,600 s.

To compute the data used in the comparison analysis, 88instances of different complexity levels were used. The nameof each instance used in the experimental stage is composedby four numbers separated by dots. Such numbers can beinterpreted as follows: the first one is the number of stations,the second is the number of jobs, the third is the number of

Table 4 Computations to apply the normalisation operator

g L s g/s g′

Chromosome Gene 1 17 t0, t2, t10, t18, t20 5 2 3

Gene 2 11 t0, t11, t18, t20 4 3 4

Gene 3 7 t0, t11, t18, t21 4 3 4

Gene 4 23 t0, t11, t18 3 2 3

Gene 5 19 t0, t11, t19 3 1 2

Int J Adv Manuf Technol (2013) 69:2773–2786 2781

Author's personal copy

precedence constraints between jobs and the fourth is aconsecutive number.

The performance of the IPNGA method is carried outusing either the relative percentage deviation (RPD) or therelative deviation index (RDI), which appears at Tables 5, 6and 7 in a column labelled “gap”. In those cases where thebest solution is zero, the RDI is used [40] instead of theRPD. These measures are computed as follows:RDP=[(Methodsol−Bestsol)/Bestsol]×100 RDI=[(Methodsol−Bestsol)/(Worstsol−Bestsol)]×100 where Worstsol and Bestsolare the worst and best solutions provided for the instance.

The best results obtained by the four methods in compar-ison, without considering the MILP alternative, arehighlighted in Tables 5, 6 and 7.

To compare the relative performance between the fivemethods, the tested instances were classified according tothe number of jobs resulting in three groups: small, mediumand large for 10, 20 and 50 jobs, respectively. Figure 5presents a perspective of the percentage of instances in whicheach method reached the same value of the BKS. From thispicture, it can be seen that IPNGA shows good performanceas a whole, reaching the BKS value in about five out ofeleven instances; even more, it is the best method in thecategory of large instances providing the BKS values inabout 95 % of the instances. In this category, the solutionsobtained through the MILP do not have a practical use,which is evidenced by the absence of BKS obtained by thismethod.

Table 5 Computational results for small size instances (10 jobs)

Instance IPNGA BKS PNGA Best rule BAS

Value Gap (%) Value Method Value Rule

5.10.2.1 204 21 169* MILP 204 314 SPT 369

5.10.2.2 214 22 176* MILP 214 421 ATC 415

5.10.2.3 95 6 90* MILP 94 121 SPT 160

5.10.2.4 11 120 5* MILP 13 69 WSPT 34

5.10.1.5 190 2 187* MILP 190 440 EDD 253

5.10.1.6 84 0 84* MILP 84 132 ATC 102

5.10.2.7 297 8 276* MILP 297 664 MS 463

5.10.2.8 268 7 250* MILP 268 507 ATC 519

5.10.3.9 232 8 214* MILP 232 367 WSPT 300

5.10.1.10 53 0 53* MILP 53 103 WSPT 83

5.10.3.11 317 0 317* MILP 342 484 ATC 484

5.10.1.12 0 0 0* MILP 0 122 SPT 8

5.10.0.13 35 0 35* MILP 35 98 WSPT 105

5.10.4.14 296 15 257* MILP 296 440 SPT 503

5.10.3.15 134 46 92* MILP 126 334 EDD 288

10.10.2.1 0 0 0* MILP 0 1 ATC 0

10.10.3.2 387 5 369* MILP 369 576 SPT 441

10.10.1.3 10 20 0* MILP 17 190 ATC 50

10.10.0.4 0 0 0* MILP 0 0 ATC 0

10.10.3.5 519 15 450* MILP 518 621 ATC -

10.10.2.6 182 0 182* MILP 202 258 SPT 218

10.10.3.7 121 61 75* MILP 139 204 ATC 125

10.10.3.8 230 92 120* MILP 230 315 ATC 368

10.10.3.9 12 0 12* MILP 12 64 ATC 62

10.10.3.10 274 11 247* MILP 287 431 WSPT 391

10.10.2.11 438 14 384* MILP 444 504 ATC 534

10.10.1.12 4 100 2* MILP 12 76 SPT 578

10.10.4.13 895 14 785* MILP 895 920 SPT 1.000

10.10.3.14 446 4 429* MILP 457 572 SPT 811

10.10.3.15 197 29 153* MILP 182 312 WSPT 289

The asterisk identifies that the value is an optimal solution

2782 Int J Adv Manuf Technol (2013) 69:2773–2786

Author's personal copy

The comparison of the IPNGAmethod from the perspectiveof the gap with respect to the BKS is summarised in Fig. 6,where the performance is shown over two subsets of theinstances. The subsets are generated based on the criterion ofoptimality of the BKS, distinguishing the instances for whichthe BKS are known as optimal from those which are not.IPNGA performs better than the other methods, providingsolutions with gaps <5 % for about the 40 and 70 % of theinstances in the optimal and the no-optimal subsets, respective-ly. If the gap is widened to <10%, IPNGA obtained solutions inabout one out of two instances and seven out of ten instances inthe optimal and no-optimal subsets, which supports the confi-dence in the quality of the solutions provided by the method.

Finally, to measure the quantitative relevance of the usedmethod, the difference of means between the four solutionmethods was assessed using the signed-rank test of Wilcoxon

for paired samples as a result of the rejection of the hypothesisof normality for the differences. This test contrasted thehypothesis H0: TWT(otherMethod)−TWT(IPNGA)≤0 forPNGA, Best Rule and BAS algorithm obtaining p values of3.631e−8, 7.997e−15 and 1.156e−13, respectively. Therefore,it is possible to state that there is a statistical difference ofmeans between the algorithms that support the validity of theIPNGA approach for this kind of problems.

5.2 Conclusions and future work

This work provides additional support to the use of GAsguided by the PN structure as alternative to schedule com-plex systems. The modelling capabilities are provided byPetri nets, which allow modelling special characteristicsthat are present in the mould making industry and other

Table 6 Computational results for medium size instances (20 jobs)

Instance IPNGA BKS PNGA Best Rule BAS

Value Gap (%) Value Method Value Rule

5.20.1.1 1.166 8 1.084 MILP 1.293 2.860 SPT 1.566

5.20.7.2 1.968 21 1.632 MILP 1.883 2.993 ATC 2.561

5.20.2.3 2.124 17 1.810 MILP 1.942 3.626 MS1 2.380

5.20.4.4 420 256 118 MILP 349 1.289 ATC 446

5.20.9.5 3.139 1 3.093 PNGA 3.093 4.225 MS1 3.474

5.20.5.6 435 182 154* MILP 458 1.111 WSPT 874

5.20.2.7 2.633 5 2.496 MILP 2.789 4.752 MS 2.890

5.20.4.8 3.072 8 2.835 MILP 3.449 5.688 SPT 3.811

5.20.4.9 2.470 9 2.265 MILP 2.498 4.417 MS1 2.729

5.20.7.10 2.782 1 2.756 MILP 2.985 4.198 WSPT 3.201

5.20.4.11 2.438 4 2.347 MILP 2.469 4.312 ATC 3.135

5.20.4.12 1.580 12 1.407 MILP 1.524 2.600 ATC 1.614

5.20.5.13 3.061 7 2.862 MILP 3.297 4.182 SPT 3.579

5.20.5.14 1.257 1 1.241 MILP 1.480 2.885 MS 2.374

10.20.4.1 1.002 20 832 MILP 1.325 1.026 ATC 1.558

10.20.7.2 85 750 10* MILP 124 85 SPT 165

10.20.2.3 403 620 56 MILP 464 1.106 ATC 744

10.20.2.4 772 4 745 PNGA 745 1.179 ATC –

10.20.6.5 1.154 20 960 MILP 1.101 1.478 ATC 1.411

10.20.3.6 1.574 0 1.574 IPNGA 1.733 2.111 SPT 2.071

10.20.4.7 2.482 10 2.265 MILP 2.426 3.993 WSPT 3.278

10.20.4.8 2.011 14 1.769 PNGA 1.769 2.489 SPT 2.122

10.20.4.9 1.077 0 1.077 MILP 1.257 2.558 WSPT 1.623

10.20.4.10 739 34 551 MILP 802 739 WSPT 1.081

10.20.4.11 1.529 36 1.124 MILP 1.309 1.529 SPT –

10.20.6.12 1.438 2 1.412 PNGA 1.412 1.448 ATC –

10.20.7.13 682 16 586 MILP 835 904 ATC 776

10.20.3.14 321 155 126* MILP 328 396 WSPT –

The asterisk identifies that the value is an optimal solution

Int J Adv Manuf Technol (2013) 69:2773–2786 2783

Author's personal copy

Table 7 Computational results for large size instances (50 jobs)

Instance IPNGA BKS PNGA Best rule BAS

Value Gap (%) Value Method Value Rule

5.50.9.1 17.229 0 17.229 IPNGA 24.127 29.222 WSPT 27.440

5.50.11.2 24.487 0 24.487 IPNGA 35.273 24.489 ATC –

5.50.14.3 20.124 0 20.124 IPNGA 26.695 32.967 MS 25.098

5.50.13.4 21.973 0 21.973 IPNGA 26.044 31.636 ATC 26.410

5.50.13.5 7.063 0 7.063 IPNGA 10.469 17.125 SPT 7.867

5.50.12.6 16.767 0 16.767 IPNGA 21.254 16.767 WSPT –

5.50.10.7 12.331 0 12.331 IPNGA 18.730 26.455 WSPT 17.698

5.50.12.8 18.383 0 18.383 IPNGA 25.627 32.816 ATC 23.955

5.50.10.9 15.685 0 15.685 IPNGA 21.074 25.231 SPT 20.228

5.50.14.10 12.105 0 12.105 IPNGA 16.025 20.348 MS1 17.090

5.50.6.11 22.962 0 22.962 IPNGA 31.185 35.675 MS 28.617

5.50.10.12 14.905 0 14.905 ATC 19.770 14.905 ATC –

5.50.9.13 12.767 0 12.767 IPNGA 17.537 12.791 ATC –

5.50.14.14 22.226 0 22.226 ATC 25.551 22.226 ATC –

5.50.9.15 16.182 0 16.182 IPNGA 22.682 30.073 SPT 20.984

10.50.14.1 19.774 0 19.774 IPNGA 25.339 31.295 EDD 26.627

10.50.10.2 21.441 0 21.441 IPNGA 31.552 38.235 MS –

10.50.10.3 16.581 0 16.581 ATC 21.581 16.581 ATC –

10.50.8.4 14.959 0 14.959 IPNGA 22.637 30.540 SPT 24.467

10.50.12.5 16.140 0 16.140 IPNGA 20.032 26.185 MS1 23.157

10.50.12.6 17.251 0 17.251 IPNGA 22.963 28.438 LPT 27.638

10.50.12.7 9.709 0 9.709 IPNGA 13.052 9.733 ATC –

10.50.12.8 13.080 0 13.080 IPNGA 20.732 28.379 ATC 20.305

10.50.11.9 23.686 0 23.686 IPNGA 29.573 34.618 MS1 28.924

10.50.14.10 16.934 0 16.934 IPNGA 21.997 26.473 MS 20.175

10.50.8.11 17.125 0 17.125 IPNGA 24.223 28.428 ATC 26.058

10.50.11.12 19.626 0 19.626 IPNGA 27.162 31.323 EDD 27.518

10.50.17.13 16.601 0 16.601 IPNGA 20.544 25.524 SPT 20.707

10.50.10.14 16.946 0 16.946 IPNGA 22.991 26.950 MS 22.288

10.50.12.15 19.629 0 19.629 IPNGA 27.034 33.974 MS1 28.925

Fig. 5 Comparison of performance by percentage of BKS reached Fig. 6 IPNGA against BKS measured by gap percentage

2784 Int J Adv Manuf Technol (2013) 69:2773–2786

Author's personal copy

complex production systems, such as constraints related withprecedence between jobs, eligibility between machines, sharedresources and assembly conditions.

The optimisation strategy used in this work improves theevolutionary algorithm proposed by Mejia et al. [8]; the im-provement in the quality of the results is reached due to thereduction of the redundant representation effects through strat-egies such as: a proposed normalisation operator to reduce thegenes values to its minimal expression without changing themeaning or fitness of the chromosome, substituting part of thepopulation when most of it is too similar from the standpointof the Hamming distance and implementing strategies such aselitism generation of the population.

The results show that, for large instances, the proposedvariant IPNGA provides consistently better results than theother tested methods. In addition, for small instances, the gapwith respect to best known solution is acceptable taking intoaccount the complexity of the production system.

In practice, it will be very useful to have a mature ap-proach that allows good modelling capabilities in conjunc-tion with optimisation strategies able to exploit these model-ling capabilities. In that sense, the development or improve-ment of strategies adapted to optimise metrics over produc-tion systems modelled by Petri nets is an idea that deservesmore research.

Future research will focus on the study of mechanisms fordetection of equivalent chains of transitions into the PN asanother strategy to reduce the effects of the redundant rep-resentation of the chromosome.

References

1. Mönch L (2007) Simulation-based benchmarking of productioncontrol schemes for complex manufacturing systems. Control EngPract 15(11):1381–1393. doi:10.1016/j.conengprac.2006.05.010

2. Low MLH, Lee KS (2008) Mould data management in plasticinjection mould industries. Int J Prod Res 46(22):6269–6304

3. Graham RL, Lawler EL, Lenstra JK, Kan AHGR (1979)Optimization and approximation in deterministic sequencing andscheduling: a survey. Ann Discret Math Vol 5:287–326. doi:10.1016/S0167-5060(08)70356-X

4. Wu Y, Zhuang X-c, Song G-h, Xu X-d, Li C-x (2009) Solvingresource-constrained multiple project scheduling problem usingtimed colored Petri nets. J Shanghai Jiaotong Univ (Sci)14(6):713–719. doi:10.1007/s12204-009-0713-z

5. Gomes MC, Barbosa-Povoa A, Novais AQ (2008) Scheduling ofjob shop, make-to-order industries with recirculation and assembly:a MILP approach. In: Engineering Management Conference, 2008.IEMC Europe 2008. IEEE International, 28–30 June 2008, pp 1–6

6. Mejía G, Montoya C, Cardona J, Castro AL (2012) Petri nets andgenetic algorithms for complex manufacturing systems scheduling.Int J Prod Res Pending 50:791–803

7. Iima H, Kudo R, Sannomiya N, Kobayashi Y (1999) An autono-mous decentralized scheduling algorithm for a scheduling problem

in a metal mould assembly process. J Intell Manuf 10(2):161–167.doi:10.1023/a:1008924704040

8. Mejía G, Montoya C, Cardona J, Castro AL (2012) Petri nets andgenetic algorithms for complex manufacturing systems scheduling.Int J Prod Res 50(3):791–803. doi:10.1080/00207543.2010.543177

9. Mejía G, Odrey NG (2005) An approach using Petri nets andimproved heuristic search for manufacturing system scheduling. JManuf Syst 24(2):79–92. doi:10.1016/s0278-6125(05)80009-3

10. Caballero Villalobos JP, Mejía G (2006) Redes de Petri yalgoritmos genéticos, una propuesta para la programación desistemas de manufactura flexible. Ing Univ 10(1):55–75

11. Mejía G, Montoya C (2008) A Petri net based algorithm for min-imizing total tardiness in flexible manufacturing systems. Ann OperRes 164(1):63–78. doi:10.1007/s10479-007-0258-1

12. Mejía G, Montoya C (2009) Scheduling manufacturing systemswith blocking: a Petri net approach. Int J Prod Res 47(22):6261–6277. doi:10.1080/00207540802225983

13. Murata T (1989) Petri nets: properties, analysis and applications.Proc IEEE 77(4):541–580

14. Zhou M, Dicesare F (1993) Petri net synthesis for discreteevent control of manufacturing systems. The Springer interna-tional series in engineering and computer science, vol 204.Kluwer, Boston

15. Goldberg DE (1989) Genetic algorithms in search, optimizationand machine learning, 1st edn. Addison-Wesley Longman, Boston

16. Baker KR, Lawler EL, Lenstra JK, Rinnooy Kan AHG (1983)Preemptive scheduling of a single machine to minimize maximumcost subject to release dates and precedence constraints. Oper Res31(2):381–386. doi:10.1287/opre.31.2.381

17. Gordon V, Potts C, Strusevich V, Whitehead J (2008) Single ma-chine scheduling models with deterioration and learning: handlingprecedence constraints via priority generation. J Sched 11(5):357–370. doi:10.1007/s10951-008-0064-x

18. Lawler EL (1973) Optimal sequencing of a single machine subjectto precedence constraints. Manag Sci 19(5):544–546. doi:10.1287/mnsc.19.5.544

19. Hurink J, Knust S (2001) List scheduling in a parallel machineenvironment with precedence constraints and setup times. Oper ResLett 29(5):231–239. doi:10.1016/s0167-6377(01)00104-3

20. Queyranne M, Schulz AS (2006) Approximation bounds for ageneral class of precedence constrained parallel machine schedul-ing problems. SIAM J Comput 35(5):1241–1253. doi:10.1137/s0097539799358094

21. Pearn WL, Chung SH, Chen AY, Yang MH (2004) A casestudy on the multistage IC final testing scheduling problem withreentry. Int J Prod Econ 88(3):257–267. doi:10.1016/s0925-5273(03)00186-5

22. Lee DY, DiCesare F (1994) Scheduling flexible manufacturingsystems using Petri nets and heuristic search. Robot Autom10(2):123–132

23. Shih HM, Sekiguchi T (1991) A timed Petri net and beam searchbased online FMS scheduling system with routing flexibility. In:Proceedings of the 1991 I.E. International Conference on Roboticsand Automation, 9–11 April 1991, vol 2543, pp 2548–2553.doi:10.1109/robot.1991.132010

24. Saitou K, Malpathak S, Qvam H (2002) Robust design of flexiblemanufacturing systems using, colored Petri net and genetic algo-rithm. J Intell Manuf 13(5):339–351

25. Ruiz R, Maroto C (2005) A comprehensive review and evaluationof permutation flowshop heuristics. Eur J Oper Res 165(2):479–494. doi:10.1016/j.ejor.2004.04.017

26. Jain PK (2001) Solving resource contention problem in FMS usingPetri nets and a rule-based approach. Int J Prod Res 39(4):785–808

27. Zemel E (1981) Measuring the quality of approximate solutions tozero–one programming problems. Math Oper Res 6(3):319–332

Int J Adv Manuf Technol (2013) 69:2773–2786 2785

Author's personal copy

28. Yu H, Reyes A, Cang S, Lloyd S (2003) Combined Petri netmodelling and AI-based heuristic hybrid search for flexiblemanufacturing systems-part II: heuristic hybrid search. ComputInd Eng 44(4):545–566. doi:10.1016/s0360-8352(02)00213-9

29. Lee J, Lee JS (2010) Heuristic search for scheduling flexiblemanufacturing systems using lower bound reachability matrix.Comput Ind Eng 59(4):799–806. doi:10.1016/j.cie.2010.08.006

30. Lee Y-H, Chang C-T, Wong DS-H, Jang S-S (2011) Petri-net basedscheduling strategy for semiconductor manufacturing processes. ChemEng Res Des 89(3):291–300. doi:10.1016/j.cherd.2010.07.005

31. Glover F, Kochenberger GA (2003) Handbook of metaheuristics.International series in operations research & management science,vol 57. Kluwer, Boston

32. Harjunkoski I, Nyström R, Horch A (2009) Integration of schedul-ing and control—theory or practice? Comput Chem Eng33(12):1909–1918

33. Rothlauf F (2006) Representations for genetic and evolutionaryalgorithms, 2nd edn. Springer, Berlin

34. Yoon Y, Kim Y-H, Moraglio A, Moon B-R (2012) Quotient geo-metric crossovers and redundant encodings. Theor Comp Sci425:4–16. doi:10.1016/j.tcs.2011.08.015

35. Choi S-S, Moon B-R (2008) Normalization for genetic algorithmswith nonsynonymously redundant encodings. Evol Comput12(5):604–616. doi:10.1109/tevc.2007.913699, IEEE Transactions on

36. Yang S, Tinós R (2007) A hybrid immigrants scheme for geneticalgorithms in dynamic environments. Int J Autom Comput 4(3):243–254. doi:10.1007/s11633-007-0243-9

37. Potts CN, Van Wassenhove LN (1983) An algorithm for singlemachine sequencing with deadlines to minimize total weightedcompletion time. Eur J Oper Res 12(4):379–387. doi:10.1016/0377-2217(83)90159-5

38. Montgomery DC (2000) Design and Analysis of Experiments. 5edn. Wiley,

39. Czyzyk J, Mesnier MP, More JJ (1998) The NEOS Server. ComputSci Eng IEEE 5(3):68–75. doi:10.1109/99.714603

40. Cardoen B, Demeulemeester E, Beliën J (2010) Operating room plan-ning and scheduling: a literature review. Eur J Oper Res 201(3):921–932

2786 Int J Adv Manuf Technol (2013) 69:2773–2786

Author's personal copy