fulltext 14.pdf

Embed Size (px)

Citation preview

  • 8/10/2019 fulltext 14.pdf

    1/12

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

    Fuzzy-based methodology for multi-objective schedulingin a robot-centered exible 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 generatingthesequence 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).Thesequencing algorithmwas 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 automatedmachinesservicedby a central material-handling device suchas robots or automated guided vehicles. The exibility 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 FMCscheduling dealswith theassignment of given resourcesto differentprocesses.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 efcient computer based scheduling technique to generatethe sequence of parts, and control the movement of the robotwithin a manufacturing cell in order to fulll 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 specications. 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-specied 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 exibility to route the parts bypassing the sequenc-ing requirement.Penalty values areassignedto 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.

    1 3

  • 8/10/2019 fulltext 14.pdf

    2/12

    422 J Intell Manuf (2008) 19:421432

    It is assumed that there is only one operation at a timeon a machine. Processing times are part specic and are notmachine dependent. Parts aredelivered to themachines 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 is

    known andremains xed.However it shouldbe noted that thetotal travel time taken by the robot to move a part through itsproduction cyclewill be a function of the sequence generatedby the scheduling algorithm. The multi-objective nature of the 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 hasbeen done on aspects related to sched-uling of exible 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,namelyreasoning algorithms. In addition,a numberof differ-ent dispatching rules have also been proposed. An efcientuse of robotic cells will no doubt increase the productionrates. Modelingissues related to loading of multiplemachineswith a dual-gripper robot has been proposed (Sethi et al.2004 ). Analysis for nding optimal moves of material han-dling systems in a production cell for the manufacture of machine castings for truck differential assemblies has beenresearched (Brauner and Finke 2001 ). The ndings from thisstudy are applicable to sequential ow of products throughmanufacturing cell and cannot be applied to products withvaryingsequencesand process times. Theyalso consideronlya single objective. It has been shown that time based rulessuch as SPT are good to reduce ow 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 of jobs has been proposed ( Holthaus and Ziegler 1997 ). Thesimulation studies demonstrated the effectiveness of the rulein improvingow-timeandduedate based objectives com-pared to scheduling rules without any coordination.

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

    quiteeffective ( MorenoandDing 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 whenthenumber ofpartsexceededten.A solution based oncoloredPetri Nets to control the alternative machining and sequenc-ing in a FMC has beenpresented ( Yalcin and Boucher 1999 ).

    The study showed that they could be used as an effectivemodeling tool.

    Techniques based on articial 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 hasalso 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 nd the share of eachobjective in arriving at the nal 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 prot 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 of situation have been presented (Agentis 2000 ) and (Agentisand Pacciarelli 2000 ). A neural network based approach for asingle machine job sequencing hasbeen found to be effective(El-Bouri et al.2000 ).Aproblemisclassiedrstbyonetypeof neural network into one of a number of categories. Thenanother neural network, which is specialized for a particularcategory, applies previously learnt relationship to produce a job 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 theoperation when products have to meet a duedateconstraint 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 thoughthe minimizationof systemunbal-ance and maximization of throughput were their objective,they didnot take into account theinclusion ofdue-date relatedobjectives to reduce costs. The job ordering and sequencing

    1 3

  • 8/10/2019 fulltext 14.pdf

    3/12

    J Intell Manuf (2008) 19:421432 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 efcient use of material handling system alsobecomes critical.Althoughthe travel times of robotsbetweenmachines are xed, 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 twoseparate fuzzy subsets. SPT andWEDD 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 algorithmsdevelopedand theonescomparedwithwill 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 dened by:

    SPT = MinPT ( j, m), (1)

    where MinPT ( j, m) = minimum processing time of thecom-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 ofthe 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 dened 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 x represents the grade of membership of x in A. The closer thisvalue is to unity, the higher is the level of membership of x in A. 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 dening gradesof membership of an element in a domain.

    Fuzzy set operators can be dened 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 dened 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.Otherextensionsusingsimplealgebraictransformationshavealso been provided ( Cox 1998 ).

    Theconceptof fuzzydecisionmaking( BellmanandZadeh1970 ) can be dened as: a decision process in which thegoals and/or constraints, but not necessarily thesystemundercontrol, are fuzzy in nature. They pointed out that fuzzygoals and constraints can be dened accurately as fuzzy sets.

    1 3

  • 8/10/2019 fulltext 14.pdf

    4/12

    424 J Intell Manuf (2008) 19:421432

    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 alternatives

    in a decision X = [ X 1 , X 2 , . . ., X n ] and a particular objec-tive A, we can associate with each element in X i a number A( X i ) in theinterval [0,1] indicativeof how well X i satisesobjective A. Theadvantage 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 theonethatbest satisesa setof objectives A1 , A2 , . . ., A p .Eachalternative X i , is assigned a number indicative of how wellit satises the objectives as a group A( X i ) 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 theminimal value among theobjectives.However, if an alternative does not contribute to an objective at all (i.e., A( X i ) = 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 benetan objective at all, the solution does not go to zero (0). Fur-thermore, in our specic 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 onealternative to choosefrom.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 dened below.

    Th ( p): The throughput of part type p is dened by amembership function that is dened as the ratio of the dif-ference between the maximum total processing time PT of the part types, and the total processing time of the part type p 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 ofpart types,and PT(p)=total processing time of part type p.

    PT ( p) is dened by PT ( 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 dened 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:

    1 3

  • 8/10/2019 fulltext 14.pdf

    5/12

    J Intell Manuf (2008) 19:421432 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; ZZadeh; MMean; PProduct; BBounded sum

    P ( p) = MaxTP TP ( p) MaxTP MinTP

    , 0 P ( p) 1, (8)

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

    TP ( p) is dened by TP ( 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 dened 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 dened by C (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 dened 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 theaverage mean of the individual membership function of the penalty, throughput, machine idle cost and robot traveltimes for part type p. By using the mean method denedearlier, 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 meeting

    theobjectivesof thesystem, theevaluation 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) ), andfor fuzzy-machine would be six:( 0 (A,M1), 0 (A,M2), 0 (B,M2) ), ( 0 (B,M3), 0 (C,M3), 0 (C,M4)). Thevariablesemployed in Table 2 arethoseusedin Table 1.

    Although the robot travel time between machines is xedand 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

    1 3

  • 8/10/2019 fulltext 14.pdf

    6/12

    426 J Intell Manuf (2008) 19:421432

    Table 3 Data for batch #1 to batch #3

    Part type # Of parts Job # M 1 M 2 M 3 M 4 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 5 Batch #2

    A 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 4 Batch #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, dened 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 dened 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 dened somewhat differently asdescribed below.

    Th ( p, m): The membership function for the throughputof part type pon machine m is dened 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 dened as:

    Th ( p, m) = MaxPT PT ( p, m) MaxPT MinPT

    ,

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

    where MaxPT = maximum processingtime of combinations part-type/machine, and MinPT = minimum processing time of combinations part-type/machine.

    IC ( p, m) : The membership function for the machineidle cost of part type p on machine m is dened as before,except that instead of the total machine idle cost C of part p, the membership function is dened in terms of machineidle cost of part p on machine m . IC ( p, m) canbe denedas:

    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 asampledata (batch #1) shown in Table 3. For fuzzy-job, thereare three membership functions that are evaluated: o ( A), o ( B), o (C ) . Thenumericalresults resultingmem-bership functions are shown in Table 4. As can be noticed,

    part type C (machine M3) would be the rst in the sequencefollowedby part type A (machine M1), andnally 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-MachineM3,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

    1 3

  • 8/10/2019 fulltext 14.pdf

    7/12

    J Intell Manuf (2008) 19:421432 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.51

    Part 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 reected 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 specied 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 if the rst 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 of priority is implemented. First priority goes to the rst 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 asdened 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. Thepart to be loaded, after having metall the other requirements, must go through a conict check.The conict 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

    onestation to another; (iii) unloada nished part to theoutputbuffer; 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 nishedmachining 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 gure. When the program is executed, it enters into a loopand continues until all the parts are processed. Inside eachloop, an internal variablechecksfor both a loading or unload-ing priority. This internal variable will lead the sequence of operations 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 therobot. Instead of waiting for thenext part to be nished, 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 comparevariousoptions of scheduling andautomatically picktheopti-mal scheduler, then the choiceALL will be selected and thesoftware will automatically generate the results shown laterin both graphical form as well as text le. 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 M1M2, for part type B, it isM2M4 and M1M3 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 andshortest machiningtime (part type Bmachine M2) has the lowest penalty andthe earliest due date. Choosing the right sequence to reachmultiple production goals is challenging in view of the con-icting 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 bebenecial 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 nda middle ground so that all the objectives can be fullled asfar as possible.

    1 3

  • 8/10/2019 fulltext 14.pdf

    8/12

    428 J Intell Manuf (2008) 19:421432

    Fig. 1 Flowchart of theprogrammed logic Inp ut customer specified data: part #, n umber of parts, seq uence in the case of seq uential processin g,

    and d ue date/penalty data for parts. (1)

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

    Non seq uential processin g (4)Seq uential processin g (3)

    Priority-Loadin g (5) Priority- unloadin g (6) Priority-Loadin g Priority- unloadin g

    Choose one of : (7)SPT-Seq uence jobs in

    increasin g order of theirprocessin g times ( PT)

    amon g the manycombinations of job(j) andmachine (m). Implement

    eqn.(1).

    WEDD-Seq uence jobs inincreasin g order of the

    ration of the d ue date of the job(DD) to the penalty ofthe job ( P) assi gned when

    the job is late.

    SPTWEDD

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

    Implement eqn.(2).

    FM-determine job seq uencin g byeval uatin g the overall contrib ution of the

    f uzzy membership f unction of the parttype to the optimal performance of the

    system by using equations 6 thro ugh 12

    FJ-determine job seq uencin g byeval uatin g the overall contrib ution of the

    f uzzy membership f unction of the parttype to the optimal performance of the

    system by using equations 13 and 14 and12.

    ALL-determine job seq uencin g for S PT,WEDD, FM, and FJ individ ually and

    pick the optimal sol ution and store thedata.

    0%

    20%

    40%

    60%

    80%

    Machine idlecost

    Tardiness cost Throughputtime

    Criteria

    r e P

    n e c

    t a g e

    f o i m p r o

    m e v

    n e t

    o f f u z z y v o e r

    S P T &

    D E W

    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 gure 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 dened 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 of improvement = 100

    measure of criterion obtained from the strategiesselected

    measure of criterion obtained from the strategiesto which comparison is made

    For thisbatch, fuzzy-joband fuzzy-machineproduce iden-tical performance, and the gure presents the results usingthem as base line. In this example, SPT chooses part type Brst. 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 hasthe highest penalty; therefore, tardinesscostwould 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.

    1 3

  • 8/10/2019 fulltext 14.pdf

    9/12

    J Intell Manuf (2008) 19:421432 429

    0%2%4%6%8%

    10%12%

    Machine idlecost

    Tardiness cost Throughputtime

    Criteria

    n e c r e P

    g a t e o

    f i m p r o

    n e m e v

    t

    D D E W r e v o y z z u f

    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-machinend 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 gure, 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) in

    total. 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. 57. The tables andgures indicate the improvement in percentage of the bestperformance compared to the worst, and the improvement of the 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 andunloadingpriority, except in termsof tardinesscost. 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 thisspecic case, comparisons against Hathouts heuristics arepossible since processing times are equal. However, thesecomparisons are only possible in terms of throughput sinceHathouts problem does not take into account other criteria.The throughput time for an identical batch of parts with load-ingpriority producesa 7.5%improvement for fuzzy-jobstrat-egy in comparison to Hathouts. No consistent pattern couldbe observed in regards to thestrategy that performedworst.

    Fig. 4 Loading versusunloading priority for batch #3

    0700

    1400210028003500

    FUZZY-J FUZZY-M SPT WEDD T o

    t l a

    h c a m

    i n i e

    d l e o c

    ) $ ( t s

    LOAD UNLOAD

    0

    400

    800

    1200

    1600

    FUZZY-J FUZZY-M SPT WEDD T o t l a

    d r a t

    i n

    o c s s e

    ) $ ( t s

    LOAD UNLOAD

    (a ) M achine i d le cost (b) T a r d iness cost

    500

    550

    600

    650

    700

    FUZZY-J FUZZY-M SPT WEDD

    r h T

    m i t t u p

    h g u o

    e s ( )

    LOAD UNLOAD

    (c) Thro ug hpu t time

    1 3

  • 8/10/2019 fulltext 14.pdf

    10/12

    430 J Intell Manuf (2008) 19:421432

    Table 6 Data for batch #4 through batch #6

    Part type # Of parts Job # M 1 M 2 M 3 M 4 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 4 Batch #5

    A 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 1 Batch #6 A 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%

    M achine idle cost Tardiness cost T hroughput time

    Criteria

    n e c r e P

    g a t

    e

    i m p r o

    n e m e v

    i t n

    e p r f r o m a c n e

    FUZZY-J LOAD SPT HATHOUT'S

    -

    FUZZY-J UNLOAD

    Fig. 5 Performance plotsbatch #4

    0%

    20%

    40%

    60%

    80%

    Machine idle cost Tardiness cost Throughput time

    Criteria

    e P r c e n a t

    e g

    f o

    i m p r o

    n e m e v

    o t

    h t r e v

    e

    w o

    p t s r

    e o f r

    n a m r

    c e

    FUZZY-M LOAD SPT HATHOUT'SFUZZY-M UNLOAD

    Fig. 6 Performance plotsbatch#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 specic case,comparisons against Hathouts heuristics are also possiblesince all processing times are equal to 85 seconds. In termsof throughput, Hathouts heuristics gives identical results tothose obtained using fuzzy-machine.

    Forthe 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

    n e c r e P

    g a t

    e

    i m p r o

    n e m e v

    i t n

    p e o f r

    n a m r

    c e

    FUZZY-J LOAD SPT-LOAD SPT-UNLOAD

    Fig. 7 Performance plotsbatch #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 the

    best performance.

    Summary of results

    The results from a total of thirty batches were compiled.Figs. 810 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 rst 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

    1 3

  • 8/10/2019 fulltext 14.pdf

    11/12

    J Intell Manuf (2008) 19:421432 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

    n e c r e P

    g a t

    e o

    f i t

    a s e m

    m e

    y g o l o

    d o

    h t

    r p -

    i r o

    y t i

    s i

    e b s t

    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

    n e c r e P

    g a t

    e o

    f i t

    a s e m

    m e

    y g o l o

    d o

    h t

    r p -

    i r o

    y t i

    s i

    b

    t s e

    Fig. 9 Performance for tardiness cost criterion

    0%

    10%

    20%

    30%

    40%

    50%

    60%

    FJ-L FJ-U FM -L F M-U W-L W-U S-L S-U

    Methodology-priority

    n e c r e P

    g a t

    e o

    f i t

    a s e m

    m e

    y g o l o

    d o

    h t

    r p -

    i r o

    y t i

    s i

    b

    t s e

    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 tardinesscosts. However,this is notalways thecase.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 WEDD

    show poor performance. Furthermore, the unloading prior-ity usually performs better than the loading priority, exceptfor the tardiness cost criterion, where results are difcult 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. SPTandWEDD maystill be good when considering singleobjec-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 bethebestpriority. The methodologiesweresuccessfully 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 of different 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 computationsother than what is required formotioncontrol 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

    1 3

  • 8/10/2019 fulltext 14.pdf

    12/12

    432 J Intell Manuf (2008) 19:421432

    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 anymodications to the cell architecture. The algorithm is extre-mely fast and has made it possible to implement the new

    fuzzy-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 useof an adaptive algorithm is being explored that deter-mines automatically the weights for various objectives andtheir impacton thequality of solution. This assignment couldbe complex since there arefour membership functions, whichcould be, assigned ten weight values ranging from 0 to 1. Thenumber of possible combinations would be enormous (10 4).Therearetwo possible waysof assigningand evaluating theseweights. The rst one could be by using rules, and wouldrequire substantial user input and further experiments. A sec-ond approach, which may be more efcient, 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 moreefcient than sequential mode, further research can be doneto enhance the performance of non-sequential mode. In thepresent work, no special techniques were utilized to check the movements of parts in non-sequential method. An object-oriented function that checks for presence of no conicts inpart allocation was utilized. However, by using intelligenttechniques with look-ahead features, these conict-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 benet from an optimized selection of a combina-tion of sequential and non-sequential processing. A robotassisted automated cell for manufacture and assembly of plastic valves with several sub-components is currentlybeingdeveloped 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 , 303314.

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

    Balakrishnan,S., Hathout,L., & Popplewell, N. (2001). Sequential ver-

    sus Non-sequential loading and inuences on Intra-Cell sequences.In Proceedings of the IASTED International Conference, Roboticsand Applications (pp. 95100). ISBN:0-88986-313-X.

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

    Brauner, N.,& Finke, G. (2001).Optimal movesof thematerial handlingsystem in a robotic cell. International Journal of Flexible Manufac-turing Systems, 74 , 269277.

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

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

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

    Professional.El-Bouri, A., Balakrishnan, S., & Popplewell, N. (2000). Sequencing jobs on a single machine: A neural network approach. European Journal of Operational Research, 126 , 474490.

    Holthaus, O., & Ziegler, H. (1997). Improving job shopperformance bycoordinating dispatching rules. International Journal of Production Research 35 (2), 539549.

    Jain, A. S., & Meeran, S. (1996). Scheduling a job-shop using amodied back-error propagation neural network. In Proceedings of the First Turkish Symposium on Intelligent Manufacturing Systems(pp. 3031, 462474).

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

    Kazerooni, A., Chan, F. T. S., & Abhary, K. (1997).Real-time operation

    selectionin an FMSusing simulationafuzzy approach. ProductionPlanning & Control, 8 , 771779.

    Kutanoglu, E., & Sabuncuoglu, I. (1999). An analysis of heuristics in adynamic job shop with weighted tardiness objectives. International Journal of Production Research, 37 (1), 165187.

    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), 11571169.

    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. 358363).

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

    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 , 6582.

    Yalcin, A., & Boucher, T. (1999). An architecture for exible manufac-turing cells with alternate machining and alternate sequencing. IEEE transactions on Robotics and Automation, 15 (6), 11261130.

    Vidyarthi, N. K., & Tiwari, M. K. (2001). Machine loading problemof FMS: a fuzzy-based heuristic approach. International Journal of Production Research, 39 (5), 953979.

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

    Zadeh, L. A. (1965). Fuzzy sets. Information and Control, 8 , 338353.

    1 3