12
J Intell Manuf (2008) 19:421–432 DOI 10.1007/s10845-008-0093-5 Fuzzy-based methodology for multi-objective scheduling in a robot-centered flexible manufacturing cell Indira Molina Restrepo · S. Balakrishnan Received: 30 January 2008 / Accepted: 1 February 2008 / Published online: 28 February 2008 © Springer Science+Business Media, LLC 2008 Abstract A fuzzy logic based methodology for generating the sequence of part movements in a multi-product batch pro- cessing through a computerized machine cell is presented in this paper. A number of production objectives are taken into account. Two fuzzy based strategies: fuzzy-job and fuzzy- machine are proposed and their performance is compared to two well known dispatching rules such as SPT (Short- est Processing Time) and WEED (Weighted Earliest Due Date). The sequencing algorithm was implemented on a stan- dard personnel computer and the scheduler was interfaced to a robot controller for implementing loading and unloading strategy within the cell. The proposed fuzzy-based method- ologies especially fuzzy-job shows a superior performance compared to the traditional dispatching rules considered. Keywords Fuzzy logic · Multi-objective scheduling · Flexible manufacturing cell Introduction Flexible Manufacturing Cell (FMC) is a group of automated machines serviced by a central material-handling device such as robots or automated guided vehicles. The flexibility to process a wide variety of parts gives rise to numerous ways of routing a group of parts within the cell. One of the most important problem encountered in the FMC scheduling deals with the assignment of given resources to different processes. The best schedule must satisfy the production objectives considered. The production objectives taken into account in this study are: maximize throughput; minimize penalty I. M. Restrepo · S. Balakrishnan (B ) Department of Mechanical and Manufacturing Engineering, University of Manitoba, Winnipeg, MB, Canada R3T 2N2 e-mail: [email protected] for tardy jobs; maximize machine utilization; and minimize robot travel time. The processing environment considered is a multistage-job shop problem wherein each job has its own processing requirement and sequences. The scheduling prob- lem considered is an open, deterministic, and static case. The scheduling criteria include both cost and performance rela- ted measures. The key objective of this work is to develop an efficient computer based scheduling technique to generate the sequence of parts, and control the movement of the robot within a manufacturing cell in order to fulfill the chosen pro- duction objectives. Although standard industrial robots are computerized, they do not possess the intelligence to dynam- ically alter preprogrammed motions. Hence an external per- sonal computer (PC) is employed to provide that additional control capability. In the present scenario, each batch consists of multiple orders. Thus, each batch involves multiple products, each with different specifications. The machining times vary from part to part. Certain parts may need to be processed on mul- tiple machines, and a certain sequence of operations may be important. In a sequential process, the parts are routed through the cell to visit machines in a pre-specified order. Customer requirements refer to due dates and penalties, whereas production costs refer to robot and machine idle costs. On the other hand, a non-sequential processing will allow the flexibility to route the parts bypassing the sequenc- ing requirement. Penalty values are assigned to each part type and are depended on the characteristics of the customer and terms of contracts. Robots and machines are an expensive investment and hence it is necessary to use them effectively. It is important to balance the idle times of the robot versus that of the machines. Machine idle cost requires a production study, and these values have to be set by the user. In our set- ting, all data is randomly assigned in order to mimic a wide variety of manufacturing situations. 123

Fuzzy-based methodology for multi-objective scheduling in a robot-centered flexible manufacturing cell

Embed Size (px)

Citation preview

J Intell Manuf (2008) 19:421–432DOI 10.1007/s10845-008-0093-5

Fuzzy-based methodology for multi-objective schedulingin a robot-centered flexible manufacturing cell

Indira Molina Restrepo · S. Balakrishnan

Received: 30 January 2008 / Accepted: 1 February 2008 / Published online: 28 February 2008© Springer Science+Business Media, LLC 2008

Abstract A fuzzy logic based methodology for generatingthe sequence of part movements in a multi-product batch pro-cessing through a computerized machine cell is presented inthis paper. A number of production objectives are taken intoaccount. Two fuzzy based strategies: fuzzy-job and fuzzy-machine are proposed and their performance is comparedto two well known dispatching rules such as SPT (Short-est Processing Time) and WEED (Weighted Earliest DueDate). The sequencing algorithm was implemented on a stan-dard personnel computer and the scheduler was interfaced toa robot controller for implementing loading and unloadingstrategy within the cell. The proposed fuzzy-based method-ologies especially fuzzy-job shows a superior performancecompared to the traditional dispatching rules considered.

Keywords Fuzzy logic · Multi-objective scheduling ·Flexible manufacturing cell

Introduction

Flexible Manufacturing Cell (FMC) is a group of automatedmachines serviced by a central material-handling device suchas robots or automated guided vehicles. The flexibility toprocess a wide variety of parts gives rise to numerous waysof routing a group of parts within the cell. One of the mostimportant problem encountered in the FMC scheduling dealswith the assignment of given resources to different processes.The best schedule must satisfy the production objectivesconsidered. The production objectives taken into accountin this study are: maximize throughput; minimize penalty

I. M. Restrepo · S. Balakrishnan (B)Department of Mechanical and Manufacturing Engineering,University of Manitoba, Winnipeg, MB, Canada R3T 2N2e-mail: [email protected]

for tardy jobs; maximize machine utilization; and minimizerobot travel time. The processing environment considered isa multistage-job shop problem wherein each job has its ownprocessing requirement and sequences. The scheduling prob-lem considered is an open, deterministic, and static case. Thescheduling criteria include both cost and performance rela-ted measures. The key objective of this work is to developan efficient computer based scheduling technique to generatethe sequence of parts, and control the movement of the robotwithin a manufacturing cell in order to fulfill the chosen pro-duction objectives. Although standard industrial robots arecomputerized, they do not possess the intelligence to dynam-ically alter preprogrammed motions. Hence an external per-sonal computer (PC) is employed to provide that additionalcontrol capability.

In the present scenario, each batch consists of multipleorders. Thus, each batch involves multiple products, eachwith different specifications. The machining times vary frompart to part. Certain parts may need to be processed on mul-tiple machines, and a certain sequence of operations maybe important. In a sequential process, the parts are routedthrough the cell to visit machines in a pre-specified order.Customer requirements refer to due dates and penalties,whereas production costs refer to robot and machine idlecosts. On the other hand, a non-sequential processing willallow the flexibility to route the parts bypassing the sequenc-ing requirement. Penalty values are assigned to each part typeand are depended on the characteristics of the customer andterms of contracts. Robots and machines are an expensiveinvestment and hence it is necessary to use them effectively.It is important to balance the idle times of the robot versusthat of the machines. Machine idle cost requires a productionstudy, and these values have to be set by the user. In our set-ting, all data is randomly assigned in order to mimic a widevariety of manufacturing situations.

123

422 J Intell Manuf (2008) 19:421–432

It is assumed that there is only one operation at a timeon a machine. Processing times are part specific and are notmachine dependent. Parts are delivered to the machines whenneeded, and hence no buffers are present in each machine.The task of the robot is to pick up parts from an input buffer,move them through the cell, and drop them off at an out-put buffer. The travel time of the robot between machines isknown and remains fixed. However it should be noted that thetotal travel time taken by the robot to move a part through itsproduction cycle will be a function of the sequence generatedby the scheduling algorithm. The multi-objective nature ofthe problem under consideration presents many challenges.Many approaches can be followed. For this project, a newfuzzy-based approach with a limited number of heuristicrules is considered. It was found to be easy to model andthe computational times were found to be very minimal, anaspect that is very critical for real-time implementations.

Review of literature

Extensive research has been done on aspects related to sched-uling of flexible manufacturing systems. Due to the com-plexity and nature of scheduling, several approaches havebeen considered, ranging from traditional solutions involv-ing complex mathematical analysis to the recent approach,namely reasoning algorithms. In addition, a number of differ-ent dispatching rules have also been proposed. An efficientuse of robotic cells will no doubt increase the productionrates. Modeling issues related to loading of multiple machineswith a dual-gripper robot has been proposed (Sethi et al.2004). Analysis for finding optimal moves of material han-dling systems in a production cell for the manufacture ofmachine castings for truck differential assemblies has beenresearched (Brauner and Finke 2001). The findings from thisstudy are applicable to sequential flow of products throughmanufacturing cell and cannot be applied to products withvarying sequences and process times. They also consider onlya single objective. It has been shown that time based rulessuch as SPT are good to reduce flow time and machine idletime (Chen and Lin 1999). However, jobs with long pro-cessing times tend to be tardy. Dispatching rules based ontardiness, the bottleneck dynamics, resource pricing and theeffects of inserted idleness have been proposed (Kutanogluand Sabuncuoglu 1999). They concluded that different pric-ing schemes should be used in different environments. Acoordination rule that looks ahead about machine idle time,and mechanisms for tracking the demand, and selection ofjobs has been proposed (Holthaus and Ziegler 1997). Thesimulation studies demonstrated the effectiveness of the rulein improving flow-time and due—date based objectives com-pared to scheduling rules without any coordination.

A concurrent solution for loading and scheduling in aflexible manufacturing environment has been found to be

quite effective (Moreno and Ding 1993). A branch and boundtechnique to optimize the moves of a robot for loadingparts in a three machine cell has also been developed(Chen et al. 1997). Their solution became ineffective whenthe number of parts exceeded ten. A solution based on coloredPetri Nets to control the alternative machining and sequenc-ing in a FMC has been presented (Yalcin and Boucher 1999).The study showed that they could be used as an effectivemodeling tool.

Techniques based on artificial intelligence have been exp-lored by a number of investigators. A methodology basedon training a back-error propagation network, to solve a job-shop scheduling problem has also been investigated (Jain andMeeran 1996). However, their methodology is not effectivefor large scale problems. Fuzzy set theory has been foundto be useful for modeling and solving scheduling problemswith uncertain data. A multi-objective fuzzy approach thatemployed membership functions to find the share of eachobjective in arriving at the final decision rules has been foundto be effective (Kazerooni et al. 1997). It was then appliedfor selecting machines, after pre-selection of a job using tra-ditional scheduling rules. Their approach combined differentrules for the selection of jobs and machines. A methodologybased on a combination of fuzzy and SPT strategy improvedthe net profit and average lead-time in the test cases theyconsidered.

In a robot centered machine cell, the robot may be pro-grammed to wait in front of a machine and pick up the part assoon as the machine completes processing a part and moveit to the next processing station. This situation is termed asno-wait constraint. A two and three machine problem forprocessing identical and dissimilar parts have been proposedand results pertaining to optimal cycle time for this type ofsituation have been presented (Agentis 2000) and (Agentisand Pacciarelli 2000). A neural network based approach for asingle machine job sequencing has been found to be effective(El-Bouri et al. 2000). A problem is classified first by one typeof neural network into one of a number of categories. Thenanother neural network, which is specialized for a particularcategory, applies previously learnt relationship to produce ajob sequence that aims to better satisfy the given objective.

Use of genetic algorithms (GA) for tackling schedulingproblems has also received wide attention. An approach tooptimize the operation when products have to meet a due dateconstraint has been the focus in one such study (Sannomiyaand Iima 1996). GA has also been used to obtain solutionsfor scheduling a FMS with setup time as constraint (Jawaharet al. 1998). A fuzzy-based methodology to address themachine loading problem has been developed (Vidyarthi andTiwari 2001). Even though the minimization of system unbal-ance and maximization of throughput were their objective,they did not take into account the inclusion of due-date relatedobjectives to reduce costs. The job ordering and sequencing

123

J Intell Manuf (2008) 19:421–432 423

as well as the operation-machine allocation decisions weremade on the evaluation of membership functions.

From a review of literature, it can be concluded that nogeneralization can be made regarding various dispatchingrules. No single rule has shown to be superior in all typeof scenarios. They have not performed uniformly well onmore than one criterion. A common belief is that a combina-tion of simple dispatching rules or a combination of heuris-tics with simple dispatching rules performs better than singlerules in many cases. When multiple part types with each hav-ing its own sequence and processing times is put througha manufacturing cell, in addition to the traditional processobjectives, the efficient use of material handling system alsobecomes critical. Although the travel times of robots betweenmachines are fixed, the total travel time required to move apart through the cell will be a function of the sequence gen-erated and cannot be assumed to be the same always.

The work reported in this paper uses fuzzy logic becauseof its ability to deal with uncertain data. As will be shown,it is easy to implement and is an excellent tool for decisionmaking in multi-objective systems. It needs fewer rules, andthe knowledge is easier to model. It also leads to faster solu-tions, a key issue for real-time control of FMC.

Methodology

The proposed fuzzy-logic based methodology is an extensionof SPT and WEDD, and has the ability to take into accountfactors such as machine and robot idle costs. When a groupof parts are processed on a FMC, the modeling issues whenmultiple objectives are considered are extremely complex.The routing sequence and processing time directly contrib-ute to the idle cost of machines and robot. Different objectivefunction will give rise to different routing sequence. Fuzzy-set approach in combination with a set of heuristic rules waschosen as the methodology with a hope to reduce the com-putational burden on the control processors. This issue iscritical for real-time control of robots and machines. Thefuzzy approach employed, considers part and machine char-acteristics as two separate fuzzy subsets. SPT and WEDD arewell known for their effectiveness in optimizing the through-put and tardiness cost, respectively. However, they are noteffective in dealing with multi-objective problems. Beforedescribing the fuzzy-based approach, a brief review of thescheduling algorithms developed and the ones compared withwill be presented next.

Shortest processing time (SPT) and Weighted earliest duedate (WEDD)

Shortest processing time (SPT)—jobs are sequenced inincreasing order of their processing time from many com-binations of job/machine. As is well known, SPT provides a

good performance in throughput criteria. However, jobs withlong processing times and early due dates tend to be tardy.SPT is defined by:

SPT = Min PT ( j, m), (1)

where MinPT ( j, m)= minimum processing time of the com-binations job/machine.

Weighted earliest due date (WEDD)—jobs are sequencedin increasing order of the ratio of the due date of the job tothe penalty of the job assigned when the job is late. AlthoughWEDD performs well in terms of due date and penalty, itdoes not take into account processing time information, andthus poor use of resources. WEDD can be expressed as:

WEDD = Min

(DD

P

), (2)

where Min(DD/P) = minimum ratio of the due date (DD) overthe penalty (P) of the jobs.

Fuzzy-logic

The foundation of fuzzy logic is fuzzy theory (Zadeh 1965).A fuzzy set theory to deal with problems in which the sourceof imprecision is the absence of sharply defined criteria wasformulated. A fuzzy set, A, in X is characterized by a mem-bership function µA(x)which associates each element in X,

a real number in the interval [0,1]. The value of µA(x) at xrepresents the grade of membership of x in A. The closer thisvalue is to unity, the higher is the level of membership of x inA. On the contrary, in crisp logic the membership values areeither 0 or 1. Fuzzy logic introduces the possibility of inter-mediate values, and a more precise way of defining gradesof membership of an element in a domain.

Fuzzy set operators can be defined in terms of operationsbetween membership functions. These operations are impor-tant because they can describe interactions between vari-ables. The basic operations in fuzzy logic are intersection,union and complement (Zadeh 1965) and are defined as fol-lows:

Intersection : ∀x ∈ X : µA∩B(x) = min(µA(x), µB(x)),

(3)

Union : ∀x ∈ X : µA∪B(x) = max(µA(x), µB(x)), (4)

Complement : ∀x ∈ X : µA′(x) = 1 − µA(x). (5)

This is a very simple extension of the classical operations.Other extensions using simple algebraic transformations havealso been provided (Cox 1998).

The concept of fuzzy decision making (Bellman and Zadeh1970) can be defined as: “a decision process in which thegoals and/or constraints, but not necessarily the system undercontrol, are fuzzy in nature”. They pointed out that fuzzygoals and constraints can be defined accurately as fuzzy sets.

123

424 J Intell Manuf (2008) 19:421–432

A fuzzy decision may be viewed as the intersection of thegiven goals and constraints. Based on this work and furtherdevelopment (Yager 1978), the decision-making techniquedeveloped in the present work will incorporate material pre-sented below.

Objectives (goals and constraints) can be easily repre-sented by fuzzy sets. Assuming we have a set of alternativesin a decision X = [X1, X2, . . ., Xn] and a particular objec-tive A, we can associate with each element in Xi a numberµA(Xi ) in the interval [0,1] indicative of how well Xi satisfiesobjective A. The advantage of fuzzy sets derives from the factthat very fuzzy objectives as well as very precise objectivescan be represented. In order to extend the above definition tocombine multi-objectives in decision making, let us assumewe would like to select among the set of alternatives X theone that best satisfies a set of objectives A1, A2, . . ., Ap. Eachalternative Xi , is assigned a number indicative of how wellit satisfies the objectives as a group µA(Xi ) and, of course,the X with the highest value is the best. The dilemma wouldbe on how to combine the contribution of each element toeach objective, in order to get an overall general contribu-tion of each element to all the objectives as a whole. Usingan intersection operation one would be able to combine theobjectives.

The values of the alternatives are obtained by using mem-bership functions. There are different ways of representingthe intersection of objectives. One method (Zadeh 1965)chooses the minimal value among the objectives. However, ifan alternative does not contribute to an objective at all (i.e.,µA(Xi ) = 0), then the result of the intersection would bezero (0), thus excluding the contribution of the alternative tothe other objectives even if those are close to unity. Similarly,product and bounded sum methods eliminate the contribu-tion of the objectives if one among them has membershipvalue of zero (0). On the contrary, mean method producesan average value of the contributions of the alternative to thedifferent objectives. Hence, if the alternative does not benefitan objective at all, the solution does not go to zero (0). Fur-thermore, in our specific case we are not only interested inthe best alternative, but also in the second or third best one.For example, in the case of an alternative (part type), whichcannot be chosen as a result of resources not being available(i.e., machine that needs to process is busy or part being blo-cked, etc), then second or even third best alternative has to belooked at. Table 1 presents a batch composed of three differ-ent part types: A, B and C ; and three objectives representedby membership functions µA(p), µB(p) and µC (p). In thistable, columns 1 and 2 refer to the part type and the num-ber of parts to be produced respectively. Column 3 refers tothe job number. Columns 4, 5 and 6 represent the processingtimes for the respective machines, namely M1, M2 and M3.Table 1 also shows the numerical results obtained by usingthe four methods (Restrepo and Balakrishnan 2001), namely

‘Zadeh’, ‘Mean’, ‘Product’ and ‘Bounded Sum’. As can beobserved, the mean method is the only one that can assure usthat we would have more than one alternative to choose from.For example, if part type B cannot be selected for any reasonby using any method but mean, we would not have a sec-ond choice. In fact, mean would leave us to choose a secondalternative (part type C) and a third alternative (part type A).

In the present study, the evaluation of the overall contri-bution of the fuzzy membership function of each part typedetermines the sequence of the jobs in a given batch. Twomethods: fuzzy-job and fuzzy-machine are proposed. Thesestrategies are mainly used to choose the jobs and machinesin the sequence.

Fuzzy-job

Job sequencing is determined by evaluating the overall con-tribution of the fuzzy membership function of the part typeto the optimal performance of the system. The various mem-bership functions included for fuzzy-job are defined below.

• µTh(p): The throughput of part type p is defined by amembership function that is defined as the ratio of the dif-ference between the maximum total processing time PT ofthe part types, and the total processing time of the part typep to the difference between the maximum and minimumtotal processing time of the part types. This membershipevaluates the contribution of the part type to maximize thethroughput of the batch. This can be expressed as:

µTh(p) = MaxPT − PT(p)

MaxPT − MinPT, 0 ≤ µTh(p) ≤ 1, (6)

where MaxPT=maximum processing time of part types,MinPT= minimum processing time of part types, and PT(p)= total processing time of part type p.

PT (p) is defined byPT (p) = N (p) ×M∑

m=1

PT (p, m),

(7)

where N(p) =number of jobs for part type p, m =machinenumber, m =1,2,3,…,M, M =number of machines, andPT (p,m) =processing time of part type p on machine m.

• µP (p): The membership function for the penalty of parttype p is defined as the ratio of the difference between themaximum total penalty TP of the part types, and the totalpenalty of the part type p to the difference between themaximum and minimum total penalty of the part types.This membership evaluates the contribution of the parttype to minimize the total penalty due to late jobs. Thiscan be expressed as:

123

J Intell Manuf (2008) 19:421–432 425

Table 1 Example of intersection methods

Part type # Of parts Jobs # M1 M2 M3 µA(p) µB (p) µC (p) Z M P B

A 2 1,2 4 2 0 0 0.40 0.50 0 0.32 0 0B 3 3,4,5 0 3 0 0.50 1 1 0.50 0.83 0.50 0.50C 1 6 0 5 1 1 0 0.5 0 0.50 0 0

M1, M2, and M3 are machine 1 through 3; Z—Zadeh; M—Mean; P—Product; B—Bounded sum

µP (p) = MaxTP − TP(p)

MaxTP − MinTP, 0 ≤ µP (p) ≤ 1, (8)

where MaxTP=maximum total penalty of part types,MinTP=minimum total penalty of part types, and TP(p)=total penalty of part type p.

TP(p) is defined byTP(p) = DD(p)

P(p), (9)

where DD(p)=due date of part type p, and P(p)=penaltyof part type p.

• µIC(p): The membership function for the machine idlecost of part type pis defined as the ratio of the differencebetween the total machine idle cost of part p, and the min-imum total machine idle cost of the parts to the differencebetween the maximum and minimum total machine idlecost of the part types. This membership evaluates the con-tribution of the part type to minimize the total machineidle cost when producing the batch. This can be expressedas:

µIC(p) = C(p) − MinC

MaxC − MinC, 0 ≤ µIC(p) ≤ 1, (10)

where MaxC=maximum total machine idle cost of parttypes, MinC=minimum total machine idle cost of parttypes, and C(p)= total machine idle cost for part type p.

C(p)is defined byC(p) =M∑

m=1

U × I C(m), (11)

where

U =

⎧⎪⎪⎨⎪⎪⎩

1, if machine is needed for processing thepart type p, and

0, if machine is not needed for processingthe part type p, and

IC(m) = machine idle cost of machine m.

• µT (p): The membership function for the robot travel timeof part type pis defined as:

µT (p) ={

1, if jobs visits 1 machine, and1/M, if job visits more than 1 machine,

where, M=number of machines part type p has to visit.This membership evaluates the contribution of the parttype to minimize the total robot travel time when produc-ing the batch.

• µpO : The overall membership function of part type p is the

average “mean” of the individual membership function ofthe penalty, throughput, machine idle cost and robot traveltimes for part type p. By using the mean method definedearlier, this can be expressed as:

µO(p) = µP (p) + µTh(p) + µIC(p) + µT (p)

4,

0 ≤ µO(p) ≤ 1. (12)

Fuzzy-machine

The approach followed is similar to fuzzy-job. However, ins-tead of evaluating the contribution of the part type to meetingthe objectives of the system, the evaluation is given by obtain-ing a membership function for each combination of part typeand machine. Thus, for fuzzy-job, there would be as manymembership functions as number of part types, while forfuzzy-machine, there would be as many membership func-tions as number of part types and machines each part has tovisit. For example, for the batch given in Table 2, the num-ber of membership functions for fuzzy-job would be three:(µ0(A), µ0 (B), µ0 (C) ), and for fuzzy-machine would be six:(µ0(A,M1), µ0 (A,M2), µ0(B,M2) ), (µ0(B,M3), µ0(C,M3),µ0(C,M4) ). The variables employed in Table 2 are those usedin Table 1.

Although the robot travel time between machines is fixedand known, the total robot travel time required to pick up a

Table 2 Batch example for fuzzy-job and fuzzy machine

Part type # Of parts Jobs # M1 M2 M3 M4

A 2 1,2 4 2 0 0B 2 3,4 0 13 7 0C 2 5,6 0 0 5 8

123

426 J Intell Manuf (2008) 19:421–432

Table 3 Data for batch #1 to batch #3

Part type # Of parts Job # M1 M2 M3 M4 DD(p) P(p) PT(p) TP(p) C(p)

Batch #1A 2 1,2 4 2 0 0 40 3 12 13.3 3B 2 3,4 0 13 7 0 35 2 40 17.5 4C 2 5,6 0 0 5 8 55 4 26 13.75 5Batch #2A 3 1,2,3 45 48 0 0 280 4 279 70 3B 2 4,5 0 43 0 42 220 2 170 110 4C 2 6,7 44 0 46 0 220 3 180 73.3 4Batch #3A 5 1,2,3,4,5 28 32 0 0 480 3 300 60 3B 5 6,7,8,9,10 0 25 30 0 460 2 275 230 4C 5 11,12,13, 14,15 0 0 23 35 440 2 290 220 5

Machine idle cost rate: M1=2, M2=1, M3=3, M4=2DD(p)—Due date of part type pP(p)—Penalty of part type pPT(p)—Total processing time of part type pTP(p)—Total penalty of part type p, defined by: DD(p)/P(p)C(p)—Total machine idle cost for part type p

part from the input buffer to the time it is deposited in theoutput buffer will depend on the sequence and schedulingcycle for the part. This is unknown until the best scheduleis arrived at. Hence a membership function is included inthe analysis. Values of penalty time remain constant for eachpart type. These values do not vary according to the machine.Therefore, these membership functions are defined as infuzzy-job. The robot travel time between machines is assu-med to be the same as in fuzzy-job. Throughput and machineidle cost memberships are defined somewhat differently asdescribed below.

• µTh(p, m): The membership function for the throughputof part type pon machinemis defined in the same terms asin fuzzy. The difference is that the processing time is givenby PT(p,m) instead of PT(p). µTh(p, m) can be defined as:

µTh(p, m) = MaxPT − PT(p, m)

MaxPT − MinPT,

0 ≤ µTh(p, m) ≤ 1, (13)

whereMaxPT=maximum processing time of combinations part-type/machine, and MinPT=minimum processing time ofcombinations part-type/machine.

• µIC(p, m) : The membership function for the machineidle cost of part type p on machine m is defined as before,except that instead of the total machine idle cost C of partp, the membership function is defined in terms of machineidle cost of part p on machine m. µIC(p, m) can be definedas:

µIC(p, m) = IC(m) − MinIC

MaxIC − MinIC,

0 ≤ µIC(p, m) ≤ 1, (14)

where MaxIC=maximum machine idle cost of machines,and MinIC=minimum machine idle cost of machines.

An illustrative numerical example is provided below for asample data (batch #1) shown in Table 3. For fuzzy-job, thereare three membership functions that are evaluated:µo(A), µo(B), µo(C). The numerical results resulting mem-bership functions are shown in Table 4. As can be noticed,part type C (machine M3) would be the first in the sequencefollowed by part type A (machine M1), and finally part type B(machine M2). For the fuzzy-machine method, membershipfunctions are expressed in terms of part type and machine.For the combination of part type A and machine M1, thevarious membership functions are given in Table 5.

The results presented in Table 5 indicate that the sequencewould be Part type C-Machine M3, Part type A-M1, Part typeA-M2, Part type C-M4, Part type B-M3, and Part type B-M2.

Validation of the proposed methodologies

In order to compare the performance of various schedul-ing options, a set of data that produces a wide variety of

Table 4 Numerical results for fuzzy-job

Part type µP (p) µTh(p) µIC(p) µT (p) µO (p)

A 1 1 0 0.50 0.62B 0 0 0.50 0.50 0.25C 0.89 0.50 1 0.50 0.72

123

J Intell Manuf (2008) 19:421–432 427

Table 5 Numerical results for fuzzy-machine

Part type/ µP (p, m) µTh(p, m) µIC(p, m) µT (p, m) µO (p, m)

machine

Part A, M1 1 0.81 0.50 0.50 0.70Part A, M2 1 1 0 0.50 0.62Part B, M2 0 0 0 0.50 0.12Part B, M3 0 0.54 1 0.50 0.51Part C, M3 0.89 0.72 1 0.50 0.77Part C, M4 0.89 0.45 0.50 0.50 0.58

part processing requirements and due dates were generated.The effect of due date penalties is reflected by variations indue date indicated. All the data were randomly generated tostudy the effect of variations in processing times, process-ing requirements and due dates. Comparisons were made interms of machine idle cost, tardiness cost, and throughputresulting from employing different strategies.

The different models presented were implemented on apersonal computer using Borland C++. Calculations weremade to determine the contribution of each part type to thechosen objectives. Upon initiation of the program, the useris prompted to enter the customer specified data (1 in Fig. 1)followed by processing data (2 in Fig. 1). The program thenprovides a choice to initiate sequential (3 in Fig. 1) or non-sequential processing (4 in Fig. 1). For both the options onemay choose either prioritizing “Loading” or “Unloading”(5 or 6 in Fig. 1).

If sequential processing is chosen, a part is loaded only ifthe first machine in the series of machines that the part needsto go is free. It is likely that there may be more than one partas a suitable candidate for loading and the following order ofpriority is implemented. First priority goes to the first part inthe order of feasible parts that needs the currently least occu-pied station (e.g., a station having the fewest waiting parts).If there are more than one station, then the priority will beassigned to the station that is most in demand by the parts inthe current batch. Algorithm will search for all the possiblecandidate part and generate the sequence as well as setup therobot programs. For non-sequential processing, the processof part selection goes through the same order of priorities asdefined for sequential process. However, in this case, a partis a candidate providing one of its machining requirementsis met. There are two additional criteria in the case of non-sequential processing. The part to be loaded, after having metall the other requirements, must go through a conflict check.The conflict check is a subroutine that ensures that, if a partis loaded into the system, it will not cause a blockage to thefurther processing of parts.

The next choice is either to prioritize “Loading” of“Unloading”. For loading priority, the following options indecreasing order of importance are followed: (i) load amachine with a part from the input buffer; (ii) shift part from

one station to another; (iii) unload a finished part to the outputbuffer; and (iv) move the robot and wait at the next stationneeding unloading. The unload priority follows the optionslisted next in decreasing order of priority: (i) Unload a part; (ii) If option is not possible, then consider shifting a partfrom one station to the next; (iii) if shifting is not an option,then it may load a part: and (iii) if none of the above is possi-ble then move the robot to a station that has almost finishedmachining and will be waiting to be unloaded.

The last step in the program (7 in Fig. 1) provides the userwith the ability to run the different options of schedulingalgorithms. The various options and the key steps are shownin figure. When the program is executed, it enters into a loopand continues until all the parts are processed. Inside eachloop, an internal variable checks for both a loading or unload-ing priority. This internal variable will lead the sequence ofoperations within the loop: loading, shifting, unloading, andmoving and waiting. A look-ahead feature built within theprogram, seeks to reduce the throughput time of a batch bysaving extra travel time of the robot. Instead of waiting for thenext part to be finished, the robot keeps track of which partsare almost done and goes next to the corresponding station,thus saving movement time. If the user wishes to comparevarious options of scheduling and automatically pick the opti-mal scheduler, then the choice “ALL” will be selected and thesoftware will automatically generate the results shown laterin both graphical form as well as text file. The output fromthis choice is eventually used for controlling the entire oper-ation of scheduling and controlling robot moves.

The sequence follows the order in which the machinesare numbered. However, it is important to clarify that themethodology proposed has the capability of processing anysequence. The sequence followed is only for illustrative pur-poses. For a sample data (batch #2) presented in Table 3, thesequence for part type A is M1–M2, for part type B, it isM2–M4 and M1–M3 for part type C. The part processingis simulated using a loading priority. Some attributes can benoticed for this batch. The part type with the longest process-ing time (part type A) is also the part with the longest duedate, and it has the highest penalty for tardiness. Besides, thepart with the shortest processing time and shortest machiningtime (part type B—machine M2) has the lowest penalty andthe earliest due date. Choosing the right sequence to reachmultiple production goals is challenging in view of the con-flicting objectives. It is known that choosing parts with theshortest processing time usually gives the best throughput.For this batch, the part with the shortest processing time (parttype B) has the lowest tardiness penalty. However, it may bebeneficial to start the process by choosing the part with thehighest penalty in order to avoid high production costs. Thefuzzy methodologies presented look at these aspects and finda middle ground so that all the objectives can be fulfilled asfar as possible.

123

428 J Intell Manuf (2008) 19:421–432

Fig. 1 Flowchart of theprogrammed logic Input customer specified data: part #, number of parts, sequence in the case of sequential processing,

and due date/penalty data for parts. (1)

Input production data: idle rate of machines, and fixed robot move times within the cell. (2)

Non sequential processing (4)Sequential processing (3)

Priority-Loading (5) Priority-unloading (6) Priority-Loading Priority-unloading

Choose one of : (7)SPT-Sequence jobs in

increasing order of theirprocessing times (PT)

among the manycombinations of job(j) andmachine (m). Implement

eqn.(1).

WEDD-Sequence jobs inincreasing order of the

ration of the due date of thejob(DD) to the penalty of the job (P) assigned when

the job is late.

SPTWEDD

Fuzzy-Machine (FM) Fuzzy-Job (FJ)ALL

Implement eqn.(2).

FM-determine job sequencing byevaluating the overall contribution of thefuzzy membership function of the parttype to the optimal performance of the

system by using equations 6 through 12

FJ-determine job sequencing byevaluating the overall contribution of thefuzzy membership function of the parttype to the optimal performance of the

system by using equations 13 and 14 and12.

ALL-determine job sequencing for SPT,WEDD, FM, and FJ individually and pick the optimal solution and store the

data.

0%

20%

40%

60%

80%

Machine idlecost

Tardiness cost Throughputtime

Criteria

reP

necta

ge

fo

i mp

romev

net

of

f u

zzy

vo

erS

PT

& D

EW

D

Improvement of fuzzy over SPT Improvement of fuzzy over WEDD

Fig. 2 Percentage difference of improvement of fuzzy-job and fuzzy-machine with respect to SPT and WEDD for batch #2

Results for batch #2 are shown in Fig. 2. This figure showsthe resulting improvement when using fuzzy-job and fuzzy-machine over SPT and WEDD. The bar graph comparesthe performance of the different strategies. The percentagedifference of improvement is defined as given below. Forthis particular case, the strategies selected are fuzzy-job andfuzzy-machine, and the strategies to which comparison ismade are SPT and WEDD.

difference ofimprovement = 100 −

measure of criterion obtained from the strategiesselected

measure of criterion obtained from the strategiesto which comparison is made

For this batch, fuzzy-job and fuzzy-machine produce iden-tical performance, and the figure presents the results usingthem as base line. In this example, SPT chooses part type Bfirst. Part type B has the smallest processing time, and thehighest due date over penalty ratio. At the same time, SPTtends to leave part type A for processing to the end. Part typeA has the highest penalty; therefore, tardiness cost would tendto be higher (Fig. 2). On the other hand, WEDD chooses parttype A, which has the lowest due date over penalty ratio.However, that part type has a very long processing time,which at the end gives rise to a long robot idle time, andthus a longer throughput time. This produces a very hightardiness cost. Fuzzy-job and fuzzy-machine perform 71%better than WEDD in this case. Although, it is expected thatWEDD would tend to give the best results when it comes totardiness criterion, it did not turn out to be so since WEDDdoes not take into account processing times.

123

J Intell Manuf (2008) 19:421–432 429

0%2%4%6%8%

10%12%

Machine idlecost

Tardiness cost Throughputtime

Criteria

necreP

gate

o f

i mp

rone

mevt

DD

EW rev

o yzzuf f

o

Fig. 3 Percentage difference of improvement of fuzzy-job and fuzzy-machine with respect to WEDD for batch #3

The analysis was repeated using data (batch#3) presentedin Table 3. In this case, part type A has the longest due dateand the highest tardiness penalty. Part type B has the small-est processing time, while part type C has values in between,and the shortest processing time (machine M3). Results forthis batch are shown in Fig. 3. Fuzzy-job and fuzzy-machinefind a middle ground by initially choosing part type C. SPTchooses part type C as well, since it has the lowest process-ing time. Results show the same performance for fuzzy-job,fuzzy-machine and SPT. There is a 10.7% improvement overWEDD in terms of tardiness cost.

In order to study whether further enhancement can beobtained by any of the different strategies, further analy-sis was done using an unloading priority. In some cases,when using an unloading priority, results tend to be better.The results cannot be generalized. For illustration purposes,results for batch #3, using an unloading priority are shown

in Fig. 4. As seen in this figure, unloading priority yieldsbetter results than loading priority. In order to verify whe-ther this is true, three more tests using data shown in Table 6labeled as batch #4, 5, and 6 were analyzed. Once again,fuzzy-job and fuzzy-machine are compared against SPT andWEDD, but taking into account loading and unloading prior-ity. There are eight combinations (methodology-priority) intotal. In addition, when parts have the same processing time,comparisons are also made to a relevant study (Balakrishnanet al. 2001). Results are shown in Figs. 5–7. The tables andfigures indicate the improvement in percentage of the bestperformance compared to the worst, and the improvement ofthe best methodology compared to SPT.

The results pertaining to data (batch#4 in Table 6) areshown in Fig. 5. It is clear that fuzzy-job outperforms theother methodologies. For fuzzy-methodology, there is alsoa remarkable similarity between the results of loading andunloading priority, except in terms of tardiness cost. Althoughunloading priority is 1.8% better than loading priority in tar-diness cost criterion, the percentage difference is too smallto conclude that the fuzzy-job with unloading priority yieldsthe best results. In terms of robot idle time, there is not muchdifference in performance between the priorities. For thisspecific case, comparisons against Hathout’s heuristics arepossible since processing times are equal. However, thesecomparisons are only possible in terms of throughput sinceHathout’s problem does not take into account other criteria.The throughput time for an identical batch of parts with load-ing priority produces a 7.5% improvement for fuzzy-job strat-egy in comparison to Hathout’s. No consistent pattern couldbe observed in regards to the strategy that performed “worst”.

Fig. 4 Loading versusunloading priority for batch #3

0700

1400210028003500

FUZZY-J FUZZY-M SPT WEDD

To

tla

hcam

ini ed

leoc

)$( ts

LOAD UNLOAD

0

400

800

1200

1600

FUZZY-J FUZZY-M SPT WEDDTot

ladrat

inoc sse

)$( ts

LOAD UNLOAD

(a) Machine idle cost (b) Tardiness cost

500

550

600

650

700

FUZZY-J FUZZY-M SPT WEDD

rh

Tmit t

up

hg

uo

es( )

LOAD UNLOAD

(c) Throughput time

123

430 J Intell Manuf (2008) 19:421–432

Table 6 Data for batch #4 through batch #6

Part type # Of parts Job # M1 M2 M3 M4 DD(p) P(p) PT(p) TP(p) C(p)

Batch #4A 3 1,2,3 15 18 0 0 120 4 99 30 3B 2 4,5 0 18 0 12 140 2 60 70 4C 2 6,7 15 16 0 0 130 3 62 43.3 4Batch #5A 4 1,2,3,4 85 85 0 0 840 1 680 840 3B 5 5,6,7,8,9 0 85 0 85 870 2 850 435 4C 3 10,11,12 0 0 85 0 760 3 255 253.3 1Batch #6A 4 1,2,3,4 48 43 0 0 440 1 364 440 3B 5 5,6,7,8,9 0 41 0 49 470 2 450 235 4C 3 10,11,12 0 0 45 0 310 3 135 103.3 1

0%

10%

Machine idle cost Tardiness cost Throughput time

Criteria

necreP

gate

i mp

ron e

me vi tn

ep

rfr

om

ac

ne

FUZZY-J LOAD SPT HATHOUT'S

-

FUZZY-J UNLOAD

Fig. 5 Performance plots—batch #4

0%

20%

40%

60%

80%

Machine idle cost Tardiness cost Throughput time

Criteria

eP

rcen

ate

g f

o im

pro

nemev

o tht re v

ew

op tsr

eofr

nam r

ce

FUZZY-M LOAD SPT HATHOUT'SFUZZY-M UNLOAD

Fig. 6 Performance plots—batch#5

In the case of batch #5 given in Table 6, fuzzy-machine hasthe best performance as shown in Fig. 6. As in the previousexample, loading and unloading priority give similar results.Loading performance is better by 35.3% for tardiness cost.In terms of throughput, unloading and loading have the sameperformance; however the robot idle time for the unloadingpriority is longer, which means less robot-related produc-tion cost. The difference is 0.8%. This difference is minimal;hence, it can be concluded that fuzzy-machine with load-ing priority has the best performance. For this specific case,comparisons against Hathout’s heuristics are also possiblesince all processing times are equal to 85 seconds. In termsof throughput, Hathout’s heuristics gives identical results tothose obtained using fuzzy-machine.

For the next case, batch#6 given in Table 6, SPT and fuzzy-machine have the best performance, as shown in Fig. 7.

FUZZY-J UNLOAD

0%

20%

40%

60%

Machine idle cost Tardiness cost Throughput time

Criteria

necreP

gate

imp

rone

mevi tn

pe

of rna

m rce

FUZZY-J LOAD SPT-LOAD SPT-UNLOAD

Fig. 7 Performance plots—batch #6

Unloading priority for both methodologies seems to performbetter than loading priority except in tardiness cost criteria.An important factor to be noticed is that, unloading is better(>6%) than loading priority in all cases. Nevertheless, whenloading is better in tardiness criteria, the difference is 23%.Thus, SPT and fuzzy-machine with loading priority have thebest performance.

Summary of results

The results from a total of thirty batches were compiled.Figs. 8–10 show the percentage of how many times the meth-odology-priority combination was the best in the thirty trials.For compactness, letters represent the combination method-ology-priority. For example, FJ means fuzzy-job, FM meansfuzzy-machine, W and S mean WEDD and SPT respectively.Likewise, L and U represent loading and unloading priority,respectively.

The first aspect to analyze is the performance of the meth-odologies with respect to the machine idle cost criterion(Fig. 8). Fuzzy-job has the best performance. It is best 56.6%of the time with unloading priority, and 53.3% of the timewith loading priority. SPT and WEDD with loading priorityhave the worst performance. Unloading priority seems toyield somewhat better results than the loading priority.

For the tardiness cost criterion (Fig. 9), fuzzy-job withunloading priority has the best performance followed by

123

J Intell Manuf (2008) 19:421–432 431

0%

10%

20%

30%

40%

50%

60%

FJ-L FJ-U FM-L FM-U W-L W-U S-L S-U

Methodology-priority

necreP

gate

o f

it a se

mm

ey

gol

od

oht

rp-

ir

oyti

si e

b st

Fig. 8 Performance for machine idle cost criterion

0%

10%

20%

30%

40%

50%

60%

FJ-L FJ-U FM-L FM-U W-L W-U S-L S-U

Methodology-priority

necreP

gate

o f

it a se

mm

ey

go l

od

oht

rp-

ir

oyti

si b

tse

Fig. 9 Performance for tardiness cost criterion

0%

10%

20%

30%

40%

50%

60%

FJ-L FJ-U FM-L FM-U W-L W-U S-L S-U

Methodology-priority

necreP

gate

o f

it a se

mm

ey

gol

od

oht

rp-

ir

oyti

si b

tse

Fig. 10 Performance for throughput criterion

fuzzy-job with loading priority. Indeed, it was expected thatunloading priority would perform best in terms of the tar-diness criterion since jobs would be unloaded faster, thusreducing tardiness costs. However, this is not always the case.For instance, the loading priority performs better for fuzzy-machine and SPT. WEDD with the loading priority showingthe worst performance, followed by SPT.

In terms of throughput criterion (Fig. 10), results are verysimilar to before, fuzzy-job with unloading priority showingthe best performance. SPT and WEDD with loading priorityhave the worst performance. In general, fuzzy-job with theunloading priority gives the best results; SPT and WEDDshow poor performance. Furthermore, the unloading prior-ity usually performs better than the loading priority, exceptfor the tardiness cost criterion, where results are difficult togeneralize.

Conclusions and recommendations

The performance of the proposed fuzzy logic based method-ologies is very promising. They have shown much better per-formance than traditional dispatching rules such as SPT and

WEDD in a multi-objective scheduling environment. SPTand WEDD may still be good when considering single objec-tives such as maximizing the throughput time or minimizingthe tardiness cost, respectively. This work has shown thatfuzzy methodologies are able to combine several objectivesfor effective scheduling of jobs. The results presented alsoshow that fuzzy-job is more effective than fuzzy-machine.As indicated before, the difference in performance can beattributed to the way each strategy analyzes the contributionof the jobs to reach the objectives. Fuzzy-job considers theattributes of the job only, while fuzzy-machine evaluates thecontribution of the job-machine combination. The enhance-ment in performance shown by the fuzzy-job comes fromanalyzing each job, keeping in perspective all the machinesand their ability to process a set of jobs that constitutes abatch. It does not restrict the analysis to just a job-machinecombination. The results also indicate a slight difference inperformance between SPT and WEDD. SPT has a tendencyto perform better in machine idle cost and throughput timecriteria, while WEDD performs better in tardiness cost cri-terion.

For the tardiness cost criterion, the unloading priority hasproved to be the best priority for fuzzy-job and WEDD,while the loading priority has been the best choice for fuzzy-machine and SPT. In regards to improving the machine idlecost and throughput time, unloading priority turns out to bethe best priority. The methodologies were successfully imple-mented in an automated machine cell. The two strategiesperformed quite well and the results obtained from simula-tion (off-line) show only a marginal difference with thosefrom actual implementation (online). The slight differenceis unavoidable due to the preset control architecture of therobot and communication aspects.

The capability of the custom designed software used toevaluate the performance of the two strategies can be effec-tively used for simulations (off-line) and actual implemen-tations (online). The software has the ability of producingsimulation in text or graphic mode for valuable data col-lection for further studies. An example is the generation ofdifferent sequences for a wide variety of batches for SPT,WEDD, fuzzy-job and fuzzy-machine methodologies, or allof them. When the sequences of all the methodologies aredisplayed, comparisons of the performance of the strategiesfor each objective can be easily seen.

The methodology developed has been successfully imple-mented on a robot based FMC in the research laboratory. Themicroprocessors of industrial robots are not designed to per-form any computations other than what is required for motioncontrol of robot. Hence an external PC was employed for per-forming all the computations required for the methodologydeveloped. The algorithm implemented on a personal com-puter generates the best strategy and schedule for the selec-ted data set. The robot programs corresponding to loading

123

432 J Intell Manuf (2008) 19:421–432

and unloading of machines are then sequenced through aPC based input/output card which calls the appropriate pro-grams in the correct sequence. The PC based cell controllerperformed quite well and clearly demonstrates that it will bepossible to implement the developed algorithm without anymodifications to the cell architecture. The algorithm is extre-mely fast and has made it possible to implement the newfuzzy-based methodology for near real-time control of anFMC. The effectiveness of fuzzy-job in improving through-put in a multi-objective environment could be further enhan-ced by automatically assigning weights to the objectives. Astudy of this nature would provide much better insight on theimpact of membership functions on the quality of solutions.This is currently investigated as part of an on-going study.The use of an adaptive algorithm is being explored that deter-mines automatically the weights for various objectives andtheir impact on the quality of solution. This assignment couldbe complex since there are four membership functions, whichcould be, assigned ten weight values ranging from 0 to 1. Thenumber of possible combinations would be enormous (104).There are two possible ways of assigning and evaluating theseweights. The first one could be by using rules, and wouldrequire substantial user input and further experiments. A sec-ond approach, which may be more efficient, is by using tech-niques such as genetic algorithms or neighborhood searchmethods. These approaches may require substantial compu-tation times, and the improvement in performance will haveto be evaluated against the computational time that would beneeded. Studies are also currently underway in developinga genetic algorithm based approach and the results will bemade available at the conclusion of the study.

Although non-sequential methodology proved to be moreefficient than sequential mode, further research can be doneto enhance the performance of non-sequential mode. In thepresent work, no special techniques were utilized to checkthe movements of parts in non-sequential method. An object-oriented function that checks for presence of no conflicts inpart allocation was utilized. However, by using intelligenttechniques with look-ahead features, these conflict-checkscan be further enhanced and results for non-sequential modemay show further improvement.

The proposed methodology can be applied to a wide vari-ety of manufacturing environments. For example, automatedprinted circuit board assembly is a clear example of a processthat could benefit from an optimized selection of a combina-tion of sequential and non-sequential processing. A robotassisted automated cell for manufacture and assembly ofplastic valves with several sub-components is currently beingdeveloped and the industry is keen in applying the proposedmethodology for controlling the robot movements within thecell. This process can be categorized as sequential process-ing. This will provide a great opportunity for implementingthe developed control strategy in a real-world application.

References

Agentis, A. (2000). Scheduling no-wait robotic cells with two and threemachines. European Journal of Operational Research, 123, 303–314.

Agentis, A., & Pacciarelli, D. (2000). Part sequencing in three machineno-wait robotic cells. Operations Research Letters, 27, 185–192.

Balakrishnan, S., Hathout, L., & Popplewell, N. (2001). Sequential ver-sus Non-sequential loading and influences on Intra-Cell sequences.In Proceedings of the IASTED International Conference, Roboticsand Applications (pp. 95–100). ISBN:0-88986-313-X.

Bellman, R. E., & Zadeh, L. A. (1970). Decision-making in a fuzzyenvironment. Management Science, 17, 141–164.

Brauner, N., & Finke, G. (2001). Optimal moves of the material handlingsystem in a robotic cell. International Journal of Flexible Manufac-turing Systems, 74, 269–277.

Chen, S., & Lin, L. (1999). Reducing total tardiness cost in manufac-turing cell scheduling by a multi-factor priority rule. InternationalJournal of Production Research 37(13), 2939–2956.

Chen, H., Chu, C., & Proth, J. (1997). Sequencing of parts in roboticcells. The International Journal of Flexible Manufacturing Systems,9, 81–103.

Cox, E. (1998). The fuzzy systems handbook (2nd ed.). New York: APProfessional.

El-Bouri, A., Balakrishnan, S., & Popplewell, N. (2000). Sequencingjobs on a single machine: A neural network approach. EuropeanJournal of Operational Research, 126, 474–490.

Holthaus, O., & Ziegler, H. (1997). Improving job shop performance bycoordinating dispatching rules. International Journal of ProductionResearch 35(2), 539–549.

Jain, A. S., & Meeran, S. (1996). Scheduling a job-shop using amodified back-error propagation neural network. In Proceedings ofthe First Turkish Symposium on Intelligent Manufacturing Systems(pp. 30–31, 462–474).

Jawahar, N., Aravindam, S. G., Ponnambalam, S. G., & Karthikeyan, A.A. (1998). Genetic algorithm-based scheduler for setup-constrainedFMC. Computers in Industry, 35, 291–310.

Kazerooni, A., Chan, F. T. S., & Abhary, K. (1997). Real-time operationselection in an FMS using simulation—a fuzzy approach. ProductionPlanning & Control, 8, 771–779.

Kutanoglu, E., & Sabuncuoglu, I. (1999). An analysis of heuristics in adynamic job shop with weighted tardiness objectives. InternationalJournal of Production Research, 37(1), 165–187.

Moreno, A., & Ding, F. (1993). A constructive algorithm for concur-rently selecting and sequencing jobs in an FMS environment. Inter-national Journal of Production Research, 31(5), 1157–1169.

Restrepo, I. M., & Balakrishnan, S. (2001). Fuzzy logic based robot con-troller for intelligent scheduling. In Proceedings of the 32nd. Inter-national Conference on Applied Modeling and Simulation (Vol. 2,pp. 358–363).

Sannomiya, N., & Iima, H. (1996). Application of genetic algorithm toscheduling problems in manufacturing processes. In Proceedings ofthe IEEE Conference on Evolutionary Computation (pp. 523–528).

Sethi, S. P., Chandrasekaran, R., Drobouchevitch, I., & Sriskandarajah,C. (2004). Scheduling multiple parts in a robotic cell served by adual-gripper robot. Operations Research, 52, 65–82.

Yalcin, A., & Boucher, T. (1999). An architecture for flexible manufac-turing cells with alternate machining and alternate sequencing. IEEEtransactions on Robotics and Automation, 15(6), 1126–1130.

Vidyarthi, N. K., & Tiwari, M. K. (2001). Machine loading problemof FMS: a fuzzy-based heuristic approach. International Journal ofProduction Research, 39(5), 953–979.

Yager, R. (1978). Fuzzy decision making including unequal objectives.Fuzzy Sets and Systems, 1, 87–95.

Zadeh, L. A. (1965). Fuzzy sets. Information and Control, 8, 338–353.

123