Development of the Simulation Based Integrative Decision Support Framework for. Flexible Manufacturing System with Real Time Process Plan Selection

Size: px
Start display at page:

Download "Development of the Simulation Based Integrative Decision Support Framework for. Flexible Manufacturing System with Real Time Process Plan Selection"

Transcription

1 Development of the Simulation Based Integrative Decision Support Framework for Flexible Manufacturing System with Real Time Process Plan Selection A thesis presented to the faculty of Russ College of Engineering and Technology of Ohio University In partial fulfillment of the requirements for the degree Master of Science Chintankumar R. Patel August 2010 Chintankumar R. Patel. All Rights Reserved.

2 This thesis entitled Development of the Simulation Based Integrative Decision Support Framework for Flexible Manufacturing System with Real Time Process Plan Selection by CHINTANKUMAR R. PATEL has been approved for the Department of Industrial and Systems Engineering and the Russ College of Engineering and Technology by Dušan N. Šormaz Associate Professor of Industrial and Systems Engineering Dennis Irwin Dean, Russ College of Engineering and Technology

3 ii ABSTRACT PATEL, CHINTANKUMAR R., M.S., August 2010, Industrial and Systems Engineering Development of the Simulation Based Integrative Decision Support Framework for Flexible Manufacturing System with Real Time Process Plan Selection (136 pp.) Director of Thesis: Dušan N. Šormaz In order to maximize FMS benefits, it is necessary to consider real-time decision making process, based on updated information about the FMS status. This thesis reports on a simulation study of a sample FMS with integration of two flexibility types: routing flexibility and scheduling flexibility. Integrative framework developed in this thesis integrates process planning module and simulated FMS module through real time data exchange. FMS is simulated in Arena with four different routing decision policies: a) static best, b) static random, c) routing dynamic, and d) feature focused dynamic. Simulation model has been executed on the same data set for four mentioned routing decision policies and for four dispatching policies (FIFO, SPT, SIPT, and LIPT). Results of each simulation run in terms of five performance measures have been compared in order to determine best routing alternative selection policy, corresponding dispatching policy, and identify the best combination of those two policies. Approved: Dušan N. Šormaz Associate Professor of Industrial and Systems Engineering

4 iii TABLE OF CONTENTS ABSTRACT... II TABLE OF CONTENTS... III LIST OF TABLES... VI LIST OF FIGURES... VIII 1. INTRODUCTION LITERATURE REVIEW DYNAMIC SYSTEMS WITH DISPATCHING FLEXIBILITY DYNAMIC SYSTEMS WITH COMBINED DISPATCHING AND ROUTING FLEXIBILITY ALTERNATIVE PROCESS PLAN GENERATION PROBLEM STATEMENT OBJECTIVE METHODOLOGY FMS CONFIGURATION AND ASSUMPTIONS PROCESS PLAN GENERATION/SELECTION MODULE Process Plan Generation: Rule Based System Process Plan Selection Module SIMULATION MODULE Simulation Model Types and Dispatching Rules Model 1:- Static Best Model 2: Static Random Model 3: Routing Dynamic Best Model 4: Feature Focused Dynamic Best INTEGRATION BETWEEN PROCESS PLAN SELECTION AND SIMULATION MODULE Model 1:- Static Best Integration Model 2:- Static Random Integration... 35

5 iv Model 3:- Routing Dynamic Best Integration Model 4:- Feature Focused DynamicBest Integration STATISTICAL ANALYSIS IMPLEMENTATION FMS CONFIGURATION Parts Machines and Tools Layout PROCESS PLAN GENERATION Feature Model Process and Machine Knowledge Tool Knowledge Steps in Process Plan Generation Process Plan Selection Module FMS MODEL TEMPLATE Part Arrival Model Manufacturing Model Exit Model MODEL CREATION ENTITY FLOW AND INFORMATION INTERACTION IN MODELS Model 1: - Static Best Model 2: - Static Random Model 3: - Routing Dynamic Best Model 4: - Feature Focused Dynamic Best EXPERIMENTATION DETERMINATION OF EXPERIMENTATION PARAMETERS SCENARIO GENERATION STEPS OF EXPERIMENTATION OUTPUT ANALYSIS... 86

6 v 6. RESULTS AND ANALYSIS MULTIFACTOR ANOVA TEST ANALYSIS OF OUTPUT Throughput Total WIP (Work In Progress) Average Queue Size Average Waiting Time Average Machine Utilization RESULT SUMMARY CONCLUSION AND FUTURE RESEARCH FUTURE WORK

7 vi LIST OF TABLES Table 1: System status (Queue size) Table 2: Alternative process plans Table 3: System status (Machine utilization) Table 4: Process plan selection Table 5: Model type comparison Table 6: Process, machine and tool matrix Table 7: Dispatching rules, value and queue priority setup Table 8: Attribute types, value, and implication Table 9: Configuration parameters for static best model type Table 10: Configuration parameters for static random model type Table 11: Configuration parameters for routing dynamic best model type Table 12: Configuration parameters for feature focused dynamic best model type Table 13: ANOVA table - throughput Table 14: P-values for all performance measures and for all sources Table 15: Performance matrix - percent increase in throughput: Case I (P.C. = Machine utilization), Case II (P.C. = Queue size) Table 16: Performance matrix - percent reduction in WIP: Case I (P.C. = Machine utilization), Case II (P.C. = Queue size) Table 17: Performance matrix - percent reduction in total queue size across machines: Case I (P.C. = Machine utilization), Case II (P.C. = Queue size)

8 vii Table 18: Performance matrix - percent reduction in average waiting time across machines: Case I (P.C. = Machine utilization), Case II (P.C. = Queue size) Table 19: Performance matrix - percent increase in average machine utilization across machines: Case I (P.C. = Machine utilization), Case II (P.C. = Queue size) Table 20: Comparison between Feature Focused Dynamic Best and other three routing policies

9 viii LIST OF FIGURES Figure 1: Integrated simulation framework Figure 2: Slot making rule Figure 3: Rule based process selection algorithm (From [24]) Figure 4: Static best Figure 5: Static random Figure 6: Routing dynamic best Figure 7: Feature focused dynamic best Figure 8: Static best integration Figure 9: Static random integration Figure 10: Routing dynamic best integration Figure 11: Feature focused dynamic best integration Figure 12: Flow chart of integrative framework Figure 13: Part designs Figure 14: FMS configuration with distances Figure 15: Steps of rule execution Figure 16: Feature model of the part AES-94 (From [1]) Figure 17: Machine knowledge representation Figure 18: Tool knowledge representation Figure 19: Feature extraction for part AES Figure 20: RBPP output for part AES Figure 21: Process plan selection module... 55

10 ix Figure 22: Part arrival model Figure 23: Manufacturing model Figure 24: Exit model Figure 25: Input data file template Figure 26: Distance information Figure 27: Process plan representation in simulation Figure 28: Flow of entity in static best model Figure 29: Generation of best process plan list Figure 30: Flow of entity in static random model Figure 31: Flow of entity in routing dynamic best model Figure 32: Initial state of process plan selection module Figure 33: System status: Machine utilization Figure 34: Newly selected process plan based on system status Figure 35: Flow of entity in feature focused dynamic best Figure 36: Manufacturing model logic for feature focused dynamic best model type Figure 37: Generation of new best process plan Figure 38: Total-WIP for 10 replications Figure 39: Input file generation Figure 40: FMS model template Figure 41: Steps of model type creation Figure 42: Output of the system Figure 43: ANOVA test example... 86

11 x Figure 44: Throughput comparison between the models: Case - I (P.C. = Mach Utilization), Case - II (P.C. = Queue Size) Figure 45: Total WIP comparison between the models: Case - I (P.C. = Mach Utilization), Case - II (P.C. = Queue Size) Figure 46: Total queue size across machines comparison between the models: Case - I (P.C. = Mach Utilization), Case - II (P.C. = Queue Size) Figure 47: Average waiting time across machines comparison between the models: Case - I (P.C. = Mach Utilization), Case - II (P.C. = Queue Size) Figure 48: Average machine utilization across machines comparison between the models: Case - I (P.C. = Mach Utilization), Case - II (P.C. = Queue Size) Figure 49: Average utilization difference between maximum and minimum utilized machines: Case - I (P.C. = Mach Utilization), Case - II (P.C. = Queue Size) Figure 50: Performance score card (Case I, Case II)

12 1 1. INTRODUCTION Manufacturing industries play vital role in the economic development of every country. In the year 2000, manufacturing sector of the China ranked first by contributing 34% in its overall GDP (Gross Domestic Product) whereas Ireland ranked second by contributing 33% in its overall GDP [26]. In Comparison to that USA manufacturing sector has contributed only little above 17% in its overall GDP. This huge manufacturing contribution gap between the countries is because of the prevailing global competition. Because of global competition, manufacturing industries are undergoing change in their structure by embedding latest technologies, optimizing plants, and incorporating advanced knowledge and algorithms to exploit resources to the most. Industries are competing to satisfy customers with their individual requirement to surmount the competition. This competition led manufacturing industries in transition period from mass manufacturing, through flexible manufacturing, to lean manufacturing. Nowadays we are in the period of Lean Manufacturing. Lean manufacturing focuses on continuous improvement of product or service by a) eliminating waste related to manufacturing of the product and b) increasing the rate of response to change in the system. Waste related to manufacturing includes: low resource utilization, high production times and thus high waiting time in system, high rejection rate of the product; whereas change in system includes: rapid change in the demand for product, customer s requirement, product configuration, and method of manufacturing the product.

13 To solve these problems, in recent years research is being carried out to optimize mainly four attributes related to manufacturing [15]: 2 1. Time - optimizing time of manufacturing and delivering the product, for example by applying variety of algorithms and math models to sequencing and scheduling, shortest distance travel, etc. 2. Quality - increasing quality of the product or service, for example by selecting appropriate operation, machine, or process using Computer Aided Process Planning (CAPP), statistical quality control, or by applying Six-Sigma concepts. 3. Cost - optimizing the cost of manufacturing and transporting, for example by reducing waste, inventory, waiting time, material handling using lean manufacturing, industrial simulation, facility planning, Just In Time (JIT), etc. 4. Flexibility - incorporating flexibility in manufacturing system, for example by customizing product, varying production volume, applying Flexible Manufacturing Systems (FMS), Reconfigurable Manufacturing Systems (RMS), Computer Aided Process Planning (CAPP) in the manufacturing process, scheduling, mass customization, etc. High rate of change in the manufacturing systems these days caused static decision making procedure to become unviable for the optimum performance of the system. Various decisions have to be made simultaneously when an unexpected event occurs during production process. These unexpected events prompt the development of dynamic decision

14 3 making systems which make appropriate decision at the point of an event and optimize the system performance. These dynamic decision making systems should monitor current status of the system and make future decisions based on the current status, keeping goal of optimizing the performance of the system. Some of the examples for dynamic decision making systems would be: a) integration of computer aided process planning with scheduling, b) dynamic inventory management, c) dynamic shop floor controls, d) dynamic production management, and e) dynamic routing mechanism for material handling. This thesis reports a research which concentrates on the development of new dynamic route selection system in the context of FMS control. This dynamic system will make decision of selecting appropriate machine for operation from a set of available alternatives depending upon the current status of manufacturing system, and applies various scheduling rules for prioritizing the selection of the part for processing from the queue in front of each machine. Applications of the propose dynamic decision making system are expected to increase overall performance of the manufacturing system in several ways such as: increase in throughput, increase in resource utilization, decrease in Work In Progress (WIP), decrease in total processing and waiting times and overall increase in effectiveness and efficiency of the manufacturing systems.

15 4 2. LITERATURE REVIEW Due to high requirement for variety in products and reduction in lead-time of the product, most of the manufacturing systems have started transforming to the system which is highly automated, responsive, and flexible in nature. Flexible Manufacturing Systems (FMS) are gaining more and more recognition in today s world because of their flexibility in variety of ways. Flexibility of the FMS has been classified in eight ways [3]: machine flexibility, process flexibility, routing flexibility, operation flexibility, production flexibility, volume flexibility, layout flexibility, and product flexibility. Since then research has been conducted in all eight categories to improve the efficiency of the FMS. Significant research efforts have been devoted to analyze the combined effect of routing flexibility and scheduling flexibility (dispatching rules) on the performance of FMS. Various researchers have contributed to explanation of both combined and individual effect of routing flexibility and dispatching rules on the performance criteria of the FMS. A performance measure of each individual system varies depends upon the objective of the company or industry, or upon prevailing competitive environment. Spano, O Grady and Young [25] have classified the scheduling problems in to two major categories; 1) traditional approach, and 2) Artificial Intelligence (AI) based approach. They further classified into theoretical and experimental research, while AI-based approach into knowledge-based approach, Genetic Algorithms (GA), Fuzzy sets approach, and Neural Networks (NN).

16 5 According to literature survey conducted by the F T S Chan [7] 70% of the publications explore effects of dispatching rule selections on the performance of the FMS, whereas 30% publications are devoted to observe effect of routing flexibility on the performance of the FMS. The following sections discuss the earlier work conducted in development of dynamic systems which consider either the effect of dispatching rules or the effect of combination of dispatching rules, and routing flexibility on the predefined performance measures of FMS. 2.1 Dynamic Systems with Dispatching Flexibility All dynamic systems that consider various dispatching rules select the next part to be processed from the queue waiting in front of machine depending on the current application of the rule. Different rules used in literature are: First come first served (FCFS) or First In First Out (FIFO), Shortest Processing time (SPT), Largest Processing time (LPT), Earliest due date (EDD) among others. Chan, Chan, Lau, and Ip [8] conducted experimental analysis of simulated FMS model with total of 14 dispatching rules (FCFS, FAFS, SPT, LPT, SPT x TOT, SPT/TOT, LPT x TOT, LPT/TOT, FOPNR, MOPNR, EDD, LDD, LWKR, MWKR), and three performance measures (mean flow time, mean tardiness, and mean earliness). The system was of multiple objective type where various objectives were considered in making decision. Also, different weights were assigned to each individual objective depending upon the priority of the objective of the industry. Simulated FMS model was programmed in SIMAN IV with subroutines written in FORTRAN. FMS system consisted of five general purpose machine

17 6 workstation, one loading and unloading area, one central buffer area with limited capacity and two Automatic Guided Vehicles (AGV) for the transportation of the parts. Dynamic decision in the selection of the dispatching rule was determined when certain numbers of parts leave the system. At this decision point, value of the all performance measure was recorded, and if the dispatching rule did not perform well for any one of the performance measure, it would be changed such that overall performance measure provide the best result. Authors ran simulation models for two different scenarios: i) with machine breakdown and ii) without machine breakdown. The results demonstrated that dynamic scheduling decision increased the overall performance of the system when compared with the performance generated by running the system with only one dispatching rule. Vinod and Sridharan [30] have developed a simulation model for the job shop which considered 12 dispatching rules out of which seven dispatching rules (FIFO, SPT, EDD, EMDD, CR, SIMSET, JCR) have been considered by previous researchers whereas five new setup dependent rules (SSPT, JSPT, JEDD, JEMDD, JSSPT) were introduced. A discrete event simulation model was created in C language and performance measures considered in the system were mean flow time, mean tardiness, mean setup time, and mean number of setups. Simulation model was run for four scenarios and 10 replications each. These four scenarios were generated by varying the values individually of mean interarrival time, setup time ratio, and due date tightness factor by keeping other two constant for each scenario. After running the model authors observed that SSPT, JSPT, JEDD, JEMDD, JSSPT (setup dependent dispatching rules) performed best in all scenarios compared to dispatching rules generated by other researchers. In addition, out of those five

18 dispatching rules SSPT dispatching rule outperformed when mean flow time and mean tardiness value were considered as performance measures. 7 In AI based approach for dynamic scheduling systems, Jeong [11] has proposed a conceptual framework which integrates knowledge based system and genetic algorithm (GA) optimizer with the simulation model. In the framework first, based on current set of dispatching rule, values of the performance measures given by the simulation model at any time is observed and if it can be optimized further, then GA will look for the combination of the dispatching rule which will increase the performance criteria and implements those rule in simulation model. If the event occurring in the simulation is a condition-based event, the main controller will look for feasible solution by pattern matching in the rule based system, and register the new event into the event calendar for execution in simulation model. The author has also addressed several implementation issues and design methodology of the system. Also, in the similar area of AI based approach, Kazerooni, Chan, and Abhary [13] have developed fuzzy logic for the selection of the scheduling rule to be executed in the dynamic shop floor control using simulation. Moreover Jeong, Lim and Kim [12] have developed an integrative framework where GA was used to provide optimized schedules to the simulation model for the execution of the job. In the model, simulation model is run first based on initial schedule generated by running GA, and completion time of the simulation is noted. This completion time is then fed back into the GA. Now, based on the new value of completion time, GA would change its constraints and tries to produce a new schedule

19 which further reduced the completion time of all parts. By running GA over and over the model found the optimal schedule which optimizes completion time. 8 In all of the literature reviewed above, effect of dispatching rules on the performance of the FMS is observed. The results show the significant contribution of the dynamic dispatching rules in increasing performance of the FMS. However, observed performance depends upon the system considered (i.e. number of machines, number of AGV, number of part input), number of constraints included (i.e. machine breakdown, varied processing time, transportation time, number of dispatching rules,) and the performance measure considered (i.e. makespan, mean flow time, machine utilization etc.). However, in general dynamic dispatching rules certainly increase predefined performance measure of the system. 2.2 Dynamic Systems with Combined Dispatching and Routing Flexibility Incorporation of dynamic dispatching rules into FMS system certainly increases the performance. However, to exploit the inherent flexibility of FMS, various researchers have investigated combined effect of dispatching decision and routing flexibility on the performance of the FMS. They found that by incorporating the routing flexibility into the system with dispatching rules, performance of the FMS can be increased significantly. Some of the major contributions towards this research are briefly explained in the following text.

20 9 Routing flexibility in FMS means alternative machines are available for the same operation in the system. This routing flexibility also brings the trade-off of having higher processing time on the alternative machines when compared to the original machine for the operation. To investigate the effect of only routing flexibility on the performance of the FMS, Chen and Chung [9] have experimented on the simulated FMS to observe the effect of alternative routings and fixed routing of the parts on the performance of the FMS. Experimental system consisted of six machines producing three different part types. Each part type had number of operations varying from one to six and alternative process plans. Also system did not consider machine breakdown, operation sequence flexibility, and incorporated negligible time for the movement of parts between machines. To process each part, process plan from the set of alternative process plan was selected based on the objective of minimizing makespan of that part. The author concluded that the system with alternative routing performed better than the system with fixed routing for performance measure such as machine utilization and makespan of each object. With similar objective Saygin, Chen, and Singh [21] studied the effect of routing flexibility on the simulated FMS. They simulated FMS consisting of seven machining centers, a loading and an unloading area with buffer capacity of two parts in Promodel. The model was tested with six different part types having alternative routings for each. Three routing policies, i) First Available (FA), ii) Equal Probability Loading (EPL), and iii) Dissimilarity Maximization Method (DMM) were used. For all the routing rules selection of the incoming part was based on first in first out (FIFO). Developed DMM method selected the

21 10 workstation based on the dissimilarity coefficient, which depends on the type of machines in routings. It selects a routing for each part so that the cumulative dissimilarity, in terms of machine tool requirements, is maximized. The complete model was run for 20 hours to test each routing policy, with inter-arrival time of seven minutes. The result of production rate (parts/20 hr) of each routing policy showed that DMM/FIFO performed better than other two routing policies. But average transportation time for parts is higher in DMM/FIFO than other two methods. In this research alternative machines available for the same operation were of identical type. So, the processing time on alternative machine is the same as processing time on the original machine. If alternative operations with different processing time would be considered, the system would depict a more realistic situation. Usher [29] has evaluated the effect of increasing number of alternative process plans available for each part on the performance of the manufacturing system. The system representing job shop with seven machines was developed in C++. Total of 59 alternative process plans were considered for each part. From these alternative process plans total of 59 sets were generated by increasing number of alternative process plans by one in each set. So, each set has an equal number of alternatives for every part in that set. These 59 sets were tested individually with three process plan selection policies: i) random selection, ii) minimum processing time, and iii) least utilized. Performance of the system was measured in the form of percent of tardy jobs. After running the model for each scenario for 30 replications, the author found that after some point, increase in number of alternative process plans available for each part reduces performance of the system rapidly. From this

22 experiment he suggests that there always be an optimum number of alternative process plans to be considered which optimizes the performance of the system. 11 Similarly, Caprihan and Wadhwa [5] have experimented on simulated FMS to see the effect of increasing number of routing flexibility on the performance of the FMS. They have also concluded that after some level, increasing in number of alternative process plans in the system will adversely affect the performance of the system. After realizing the significant effect of routing flexibility on the performance, some researchers developed a combined system of routing flexibility and dispatching rules. Chan [7] developed simulated FMS model using package SIMFACTORY II.5. Model has implemented three routing flexibility policies (NARs, ARDs and ARPs) and four dispatching rules (SPT, SIPT, LPT, and LIPT). These rules and policies were experimented on the system having five machines with limited input and output buffer for each machine, loading and unloading area and two AGV transporters. Total of 108 scenarios were generated for experiment by varying output level (number of parts produced), routing policy, dispatching rule and part mix in each scenario. Performance measures considered were makespan, average machine utilization, average flow time and average delay at input buffer. Results of the experiment showed that routing policy ARD gives the best results for all of the predefined performance measures compared to other two routing policies. Also variation in the part mix did not affect the output of the system. Chan [6] studied a similar system with consideration of infinite buffer capacity and concluded that when system with infinite buffer capacity was considered, ARP routing

23 12 policy with SPT dispatching rule outperformed other combination of the policies. Chan and Chan [6] have also experimented on simulated FMS model with same three routing policies but with seven dispatching policies. In this research machine breakdown and varied finite buffer size are introduced to make the model more realistic. Results showed that when an infinite buffer capacity and performance measures as machine utilization and makespan are considered, ARP policy outperforms the other two policies with and without consideration of machine breakdown. Also in the system with finite buffer capacity ARD policy outperforms the other two policies with same consideration as above. They concluded from the experiment that routing flexibility has more effect on the output of the FMS than dispatching rules. Ozmutlu and Harmonosky [17] developed a threshold based decision making approach to decide when to consider alternative operation. The developed system considers alternative machine for the part only if by routing part to the alternative machine brings the benefit in terms of the waiting time above the predefined threshold value. They have also experimented for the determination of the threshold value depending upon the system parameters. After determining the threshold value, experiments were conducted to see the performance of the system in terms of mean flow time, and compared it with the results obtained by other methodologies developed by other researchers. The results showed that there is a significant improvement in the performance of the system not only in terms of mean flow time but also in terms of mean tardiness, system utilization, average input buffer size by using developed threshold based machine selection policy.

24 13 In further research by Ozmutlu and Harmonosky [18], to make system more realistic, they incorporated machine failure into the existing system. Parts which are waiting for the operation in front of broken machine were again re-routed to the other alternative machines based on the benefit in terms of the waiting time as explained above. Methodology developed in this research also outperformed in various performance measures compared to the other methodologies developed by various researchers. Piplani and Talavage [19] introduced the concept of entropy of the system in decision making to select the next part to be operated when machine becomes idle. Entropy of the system is the sum of the entropy of each part that prevails in the system at some point of time. Entropy of each part depends upon the number of alternative operations available for each operation in the complete process plan for that part (higher the number of alternatives, higher the entropy). Selection of the part for the next operation when machine becomes idle is based on the global objective of least reduction in the total entropy of the system. One of the benefits of the system was that at the time of unexpected events like machine breakdown, there will be more parts in to the system having routing flexibility. This is because parts having lowest entropy have higher priority in the dispatching rule than parts with higher entropy. Research works concentrating on different routing selection policies include research conducted by Subramaniam, Lee, Ramesh, Hong, and Wong [27] who have experimented with dynamic job shop system with machine selection rules which are based on the processing cost, processing time and combination of the both. Whereas Brennan and O [2]

25 14 experimented on system with three control policies: i) auction-bidding where workstation places bid on the incoming job for processing, ii) job sequencing where jobs are sequenced for processing on each workstation based on least work remaining (LWKR), and iii) combination of first and second policy. Byrne and Chutima [4] have considered the model with full routing flexibility (i.e. operation flexibility and operation sequence flexibility). Four routing policies were implemented for the selection of the machine for the part: i) balanced workload on the machines, ii) balanced workload and minimum traveling time, iii) grouping of operation on single machine, and iv) minimum ratio of the current and total workload on the machine. Various researchers have also concentrated on the development of AI based dynamic scheduling system with routing flexibility approach. Lee and Kim [14] have exploited the alternative process plans available for each part for the optimization of the main objective (performance measure) of the system. They developed the system in which different combination of the process plan for each part was generated by GA and evaluated through simulation for common objective. With every run results of the simulation were fed back into GA for the generation of new combination of the process plan which will optimize the performance measure. Chan, Kazerooni and Abhary [10] have proposed a multi-objective machine selection rule. The machine selection rule selects the next machine for the operation based on the evaluation of the combined effect of multiple objectives. In this research multiple objectives considered were: i) fewest jobs in the queue, ii) least total work content in the queue, iii) lowest utilization level. Fuzzy-set theory is used to model the rule.

26 Alternative Process Plan Generation Availability of alternative process plans for each part in advance helps scheduler in rerouting part in case of events like machine breakdown, long waiting queue for operation, and failure of system objective. According to Sormaz and Khoshnevis [24] The availability of alternative process plans is a key factor for integration of design, process planning, and scheduling functions alternative process plans relax the constraints in the optimization of production schedules results in more efficient use of production resources and better delivery schedules. In [24] they developed a methodology which generates complete process plan network for each part and also extracts an optimal process plan in terms of cost and manufacturing time out of it. Steps in the generation of process plan network were i) generation of Feature Precedence Network (FPN), ii) process selection for individual features, iii) machine and tool selection, iv) generation of process plan network. Arumugam [1] has developed a methodology to generate FPN network for prismatic parts. It maps the features presented in the 3D model of the part and determines the type of interaction between the features. Based on the type of interactions between the features model determines the precedence between the features and generates the final precedence network. After the generation of FPN, process selection for each feature is done by running each feature through knowledge based systems like rule based system. Wadatkar [31] developed rules for the selection of appropriate hole making process for given feature, hole. Hierarchical structure of the various hole making processes are stored with precedence constraints. When feature with given dimensions and tolerance requirement is inserted,

27 16 rules are executed depending upon the inserted values and state of the original hole. The output of the rule based system is the final hole making process which satisfies all requirements of the inserted hole. If one process can not satisfy all requirements, other rules are fired which selects multiple processes to satisfy all requirements. In further research by Sormaz, Arumugam and Wadatkar [23], they developed rules for selecting processes for features like slots and pockets as part of Delphi Automotive Systems project. After the selection of processes for each individual features machine and tool selection is done again by executing rules. After determining the machine and tool for each process, its processing time and cost of machining are calculated by empirical formulas. 2.4 Problem Statement In all of the reviewed research, we found that combination of the routing flexibility with the dispatching policies brings benefit to the FMS in terms of predefined objective. However, in some preliminary models researchers have considered offline generation of the complete alternative process plans for each part. Out of these alternative process plans, selection of the plan to execute for manufacturing is based on variety of predefined routing selection criteria. Routing selection criteria either selects one best process plan and executes it for manufacturing throughout the life of the part or reads the system status at certain point of time and keeps changing process plan to execute. These kinds of dynamic models no doubt give flexibility in terms of alternative routes and optimize the performance measures. But to exploit the flexibility of the FMS to the most, proposed model will review a process plan for each part at every process selection decision

28 17 point (PSDP) in production. This reviewing process plan generates new process plan for each part by combining best machines for each feature, based on system status recorded as average machine utilization or total queue size, for the next phase of production. 2.5 Objective The objective of this research is to develop a real time integrative framework which integrates process planning system (rule based system), FMS control module, and simulation model. Benefit of the integration will be real time exchange of the best process plan information at every process selection decision point for next production cycle based on the current status of the system, with processing time and tool information (instead of transferring complete process plan for each part in advance). In addition to integrated framework, objective is to develop and statistically observe the effect of a routing policy which generates a new process plan dynamically by combining best machines to create each individual feature of the part, based on the system status in terms of average machine utilization and total queue size. Developed framework is used to create various scenarios representing FMS with combination of specific routing policy and dispatching rule. After running each scenario output of all scenarios is combined and analyzed against predefined performance measures to observe the distinct effect of developed routing policy over other three routing policies. Four types of systems with four dispatching rules implemented in each are: static best, static random, routing dynamic and feature focused dynamic system. The description of each of these systems is given below,

29 18 Static best: system with static generation of complete process plan, assignment of best (based on lowest total processing time) complete process plan for the part, and application of various dispatching rules in FMS scheduling and control. Static random: system with static generation of complete process plan, assignment of random complete process plan for the part, and application of various dispatching rules in FMS scheduling and control. Routing dynamic: system with static generation of complete process plan, logic for selecting best process plan based on system status, and application of various dispatching rules in FMS scheduling and control. Feature focused dynamic: system with alternative operations for each feature of the part, machine selection logic for each feature based on input of the system status, and application of various dispatching rules in FMS scheduling and control. These four systems are implemented with four dispatching policies: First In First Out (FIFO), Shortest Imminent Processing Time (SIPT), Longest Imminent Processing Time (LIPT) and Shortest Processing Time (SPT). In addition to dispatching policies, each model is able to set for two performance criteria for selection of alternative routing or machine: total queue size in front of all machines and average machine utilization of all machines in the FMS.

30 19 3. METHODOLOGY In this research, dynamic integrative framework of simulated Flexible Manufacturing System (FMS) is developed. Flowchart of integrative simulated FMS is shown in Figure 1. This simulated FMS mimics the shop floor of the system and is integrated with process plan selection module for accessing process plans for each part type as shown in Figure 1. In addition to providing process plans, process plan selection module is also responsible for recording simulation system status of machine utilization and queue size. Based on this status update, process plan selection module regenerates or reselects new best process plan to each part type for next production cycle. This new assignment of process plan based on system status supposes to improve predefined performance measures by avoiding parts visiting machines having long queues or higher machine utilization. At the end of simulation run, output of the system in terms of performance measures is recorded and analyzed. Figure 1: Integrated simulation framework

31 FMS Configuration and Assumptions The goal of simulated integrative framework is to observe and analyze the combined effect of routing flexibility and dispatching rules on the performance of the FMS. The hypothetical FMS consists of: 1. Variety of machines with unlimited buffer capacity to process the parts. 2. Automatic Guided Vehicles (AGV s) to transfer incoming parts to the machine, between the machines, and from the machines to exit of the system. 3. Tool database and magazine which are shared between the machines. Other assumptions considered in the FMS system are: 1. Processing time of each feature of the part includes machine setup and tool changing time, 2. Only one part is processed at a time on each machine, 3. Assignment of process plan to each part type is based on routing selection policy, 4. Selection of part for the next operation from the queue in front of machine is based on applied dispatching rule, 5. If the next operation for part is on same machine, then part does not leave the machine and finishes all the operations with or without changing the tool.

32 These assumptions are necessary so that system performance is affected by only two parameters: alternative routing selection policies and dispatching rules Process Plan Generation/Selection Module Process planning module consists of two parts, i) process plan generation (using rule based system for every part type) and ii) process plan selection: storing process plans and selecting best process plan based on system status in terms of either average machine utilization or total queue size. These both parts are explained in detail in the following subsections Process Plan Generation: Rule Based System Rule based system in process planning context is the system which generates alternative processes/machines for each input feature by utilizing available facts (knowledge) about the processes, machines and decision logic (rules to make decision based on part design requirements). Feature in this context is defined as geometrical shape which is manufactured using single tool. Knowledge of the system is detailed knowledge of i) manufacturing processes - manufacturing capability of processes like: drilling, reaming, milling, grinding etc., ii) machine and tool facts - available machines and tools with their specifications, iii) feature knowledge, which includes feature facts like: types of feature, feature dimensions, quality, tolerance and surface finish requirements.

33 22 Rules represent the logic for decision making. Just like in certain situation human makes decision based on the prevailing condition, rules are also fired (executed) based on the input feature parameters and feature requirements, to select processes which satisfy all the requirements of the feature. Example of the rule is shown in Figure 2. Figure 2: Slot making rule Rule in Figure 2 implies that if the fact representing a with name?f1, type slot, status input, and required quality >= 30 exists in the working memory of the system then this rule slot2.fine will be fired. This action will modify the feature status to process and will assert two new facts in to the working memory: i) operation end-milling-slotting, and ii) operation side-milling which are two different processes for machining the slot with given requirements. When rule based system is run, working memory of the system is populated with process facts, machine facts, tool facts, inserted feature facts and available rules. Based on these facts, several rules are activated and fired; they in turn create or modify the existing facts in the working memory. These creation and modification of facts trigger other rules to execute and chain reaction of executing rules continuous until there are no rules to fire, which signifies the completion of process planning procedure.

34 23 By running the rule based system, depending upon available knowledge, the topology and the tolerance requirement of each feature, alternative processes (machines) capable of machining that feature are generated with machining time and tool requirement information. Rule based process selection module has been developed by Sormaz and others [23] [22]. In this development process selection rules are created in JESS language. Algorithm for the process selection (shown in Figure 3) [24] enables the selection of multiple processes for a single feature if its tolerances so require ( for example for a high quality hole, processes like drilling, reaming, and boring may be selected). Based on the information of tolerance requirement and shape of the feature, knowledge based system creates a template containing these information for each feature. Then this template is matched with number of feasible templates created in the knowledge base. If the matching template is found, the action attached to that template is executed (generally process information to make the feature). As soon as it finds the process with the complete match, it selects that process to make that feature and specifies the machine requirement with the tool constraints. After the selection of the machine and tool constraints it estimates the machining time and cost of manufacturing the feature. If the system cannot find the complete match, it selects the process which can partially satisfy feature and considers it as the final process and generates a new feature out of the unsatisfied attributes of the previous feature. Now this new feature is fed back to the rule based system for the generation of sub process (inprocess) for the original feature.

35 24 Figure 3: Rule based process selection algorithm (From [24]) At the end of running rule based system for each part type, process plan generation module generates alternatives for each feature in terms of alternative machines with tool and processing time data Process Plan Selection Module After the generation of alternatives for each feature, alternative process plans are generated for each part type. These alternative process plans are stored and provided when asked by simulation model. While this topic has been result of several research efforts [24] [23], in this research simplified version has been applied with semi-random selection of alternative routings. These routings are stored into process plan selection module. This process plan selection module has a logic for i) generating best process plan with three other alternatives, ii) storing system status in terms of machine utilization or queue size, and ii)

36 transferring best process plan based on the system status. Detailed explanation of logic is in the implementation section Simulation Module In this research simulation tool Arena 11.0 [20] is used to simulate manufacturing shop floor and production activities like: part arrival, sequence assignment, part processing, and part transport. Arena 11.0 has various libraries (basic process, advance process and advance transfer) which contain modules to represent each individual event. These events include part arrival, part processing, transportation, sequence assignment etc. Combining these modules in logical manner one can create simulation model of any real life facility or service and analyze the individual or combined effect of variables affecting the performance of the system over the defined period of time. In addition to those tools VBA module of block library can be used to customize the model for status transfer, process plan upgrade and assignment. When entity arrives at VBA module, program attached to that module is executed which eventually performs the customized tasks as per the program. In this research simulation module incorporates logic for representing i) routing policy, ii) dispatching rule, iii) process plan review, iv) process plan assignment, and v) system status update in terms of machine utilization and queue size. Process plan review is triggered for any part type at every process plan selection decision point (PSDP). This PSDP is based on batch size implemented; when total number of parts arrived for any part type between two consecutive PSDP is equal to batch size, process plan is reviewed for that part type. Combinations of these logics make variety of simulation models for experimentation.

37 Simulation Model Types and Dispatching Rules In this research, effect of change in combination of routing policy and dispatching rule over the simulated FMS is analyzed. Based on routing policies, four types of simulation models are created. These models are named after their routing policy implementation. These four models are: 1. Static Best: - Selecting best process plans in terms of lowest total processing time for each part at the beginning of simulation and assigning it to all entities of same part type to follow. 2. Static Random: - Selecting random process plan out of alternatives for each part type at every process plan selection decision point (PSDP) and assigning that process plan to corresponding entities between two consecutive decision points. 3. Routing Dynamic Best: - Selecting best process plan, in terms of plan containing machines with lowest machine utilization or lowest queue size, out of alternatives for each part type at every PSDP and assigning that process plan to corresponding entities between two consecutive decision points. 4. Feature Focused Dynamic Best:- Generating new best process plan, in terms of machines having lowest machine utilization or lowest queue size, for each part type at every PSDP and assigning that process plan to corresponding entities between two consecutive decision points.

38 27 In addition to variety of process plan selection logic, all these models incorporate several dispatching rules for selecting part for processing from the queue in front of the machine. These rules give priorities to the parts waiting in the queue for processing. Four types of dispatching rules are implemented in every model. These dispatching rules are: 1. First in first out (FIFO):- first part that joins the queue is the first part that is sent to the machine, 2. Shortest processing time (SPT):- incoming parts are placed in the queue so that part having the lowest total processing time is sent to the machine first, 3. Shortest imminent processing time (SIPT):- incoming part is placed in the queue so that part having lowest processing time on the current machine is sent to the machine first, 4. Largest imminent processing time (LIPT):- incoming part is placed in the queue so that part having highest processing time on the current machine is sent to the machine first. For experimentation, different scenarios are generated by combining different routing selection policy and dispatching rules. After running each scenario, performance measures of each scenario are recorded, statistically analyzed and compared to observe the effect of each combination on FMS.

39 Following sections provide overview of each model type their advantages and disadvantages. Detailed explanation of each model type is in the implementation chapter Model 1:- Static Best In static best approach, alternative process plans for each part are generated offline in advance. Out of these alternatives only the best plan for each part type (having lowest total processing time) is then transferred to simulated FMS model as shown in Figure 4. Static Best Process Plan Selection Module Alternative Process Plans Best Process Plan Simulation Model Performance Measures Rule Based Process Planning System * Process Plan Selection Policy Static Best * Dispatching Policies 1) FIFO 2) SPT 3) SIPT 4) LIPT Machine utilization Throughput Work in Progress Solid Model - Features - Feature Dimensions - Feature Tolerances Queue Size Waiting Time Figure 4: Static best In this type of model, each and every part is assigned with its corresponding best process plan. In other words, every incoming entity of the same part type follows identical process plan for entire simulation run and process plan never gets updated.

40 29 Four scenarios can be generated for experimentation by combining static best routing policy with all four dispatching rules. At the end of every simulation run, performance measures in terms of total Work In Progress (WIP), throughput, average machine utilization, average queue size, and average waiting time are recorded. Advantages: - i) no need to update the process plans, ii) relatively simple system, iii) easy to implement, and iv) predictable outcome in terms of throughput, makespan. Disadvantages: - i) all the fastest machines are used for entire production cycle, iii) alternative machines which are capable of making same feature at the cost of higher processing time remains idle, iv) no alternative solution in case of machine overload or breakdown, and iii) makes system inefficient with low throughput, higher average queue size, and waiting time Model 2: Static Random In this model, alternative process plans for each part are also generated offline in advance and stored into process plan selection module. At every process selection decision point (PSDP) (when number of parts arrived in the system equals to predefined batch size) for any part type, simulation model triggers process selection module to provide new randomly selected process plan out of alternatives for triggering part type. After updating process plan for corresponding part type, simulation model assigns that randomly selected process plan to new incoming entities of similar part type. Next reviewing of process plan occurs when total number of parts in of any part type is equal to batch size selected for the model.

41 Flow of information between simulation model and process plan selection module in static random model is shown in Figure Static Random Process Plan Selection Module Alternative Process Plans Random Process Plan Part Type Simulation Model Performance Measures Rule Based Process Planning System * Process Plan Selection Policy Static Random * Dispatching Policies 1) FIFO 2) SPT 3) SIPT 4) LIPT Machine utilization Throughput Work in Progress Solid Model - Features - Feature Dimensions - Feature Tolerances Queue Size Waiting Time Figure 5: Static random Twelve scenarios can be generated and experimented by combining static random routing policy with four dispatching rules and three batch sizes. At the end of every simulation run, performance measures in terms of total Work In Progress (WIP), throughput, average machine utilization, average queue size, and average waiting time are recorded. Advantages: i) as each part is assigned with new plan, alternative machines capable of manufacturing same feature are also used, ii) increases throughput and average machine utilization and iii) lowers the total WIP, average queue size and waiting time of parts in the system.

42 31 Disadvantages: i) this type of system is too random, ii) not feasible to handle in real life manufacturing environment, and iii) there is no specific logic in assignment of process plan, which leads to unpredictable nature of the system Model 3: Routing Dynamic Best In the routing dynamic best approach, alternative process plans for each part are also generated offline in advance. But, out of those process plans best process plan selection for assignment is done at every PSDP based on current status of the system. The criteria for the selection of the best plans are i) dynamic machine utilization and ii) dynamic machine queue size. Flow of information between simulation model and process plan selection module in routing dynamic best model is shown in Figure 6. Routing Dynamic Best Process Plan Selection Module Alternative Process Plans Best Process Plan Based on System Status * Part Type * System Status (Machine Utilization / Machine Queue ) Simulation Model Performance Measures Rule Based Process Planning System * Process Plan Selection Policy Dynamic Best * Dispatching Policies 1) FIFO 2) SPT 3) SIPT 4) LIPT Machine utilization Throughput Work in Progress Solid Model - Features - Feature Dimensions -Feature Tolerances Queue Size Waiting Time Figure 6: Routing dynamic best

43 32 Total of 24 scenarios can be generated by combining routing dynamic best routing policy with four dispatching policies, three batch sizes, and two performance criteria (average machine utilization or total queue size). At the end of every simulation run, performance measures in terms of total Work In Progress (WIP), throughput, average machine utilization, average queue size, and average waiting time are recorded. Advantages: i) it is more dynamic than static best ii) it is more feasible to implement in real life manufacturing environment than static random because it has a logic in assignment of process plan, and iii) optimizes the predefined performance measures. Disadvantages: i) it has complex structure in selection of process plan, and ii) unpredictable outcome in terms of throughput, machine utilization etc. Details of process plan selection procedure are explained in later part of this section Model 4: Feature Focused Dynamic Best In the fourth, feature focused dynamic best approach (Figure 7), instead of generating complete process plans for each part offline, only alternative operations available for each feature are generated using knowledge based system. Out of these alternatives, best operation (machine) to use to make corresponding feature is selected based on two selection policies; i) total queue size and ii) average machine utilization. This best operation (machine) selection process triggered at every PSDP for each part type. The process plan to manufacture any part is generated by combining all the best machines selected for every feature of the part. This process plan is then transferred into simulation

44 33 model and assigned to arriving parts of same part types between two consecutive process selection decision points. When the process plan for any part type is renewed, next incoming parts of same part type follows new process plan whereas parts which are already in the system of same part type follows previously created process plan. Details of process plan selection procedure are explained in later part of this section. Feature Focused Best Process Plan Selection Module Alternative Processes for Each Feature Newly Generated Process Plan * Part Type * System Status (Machine Utilization / Machine Queue ) Simulation Model Performance Measures Rule Based Process Planning System * Process Plan Selection Policy Feature Focused Best * Dispatching Policies 1) FIFO 2) SPT 3) SIPT 4) LIPT Machine utilization Throughput Work in Progress Solid Model - Features - Feature Dimensions -Feature Tolerances Queue Size Waiting Time Figure 7: Feature focused dynamic best Total of 24 scenarios can be generated by combining feature focused dynamic best routing policy with four dispatching policies, three batch sizes and two performance criteria (average machine utilization and total queue size). At the end of every simulation run, performance measures in terms of total Work In Progress (WIP), throughput, average machine utilization, average queue size, and average waiting time are recorded.

45 34 Advantages: i) it is more dynamic than the traditional dynamic systems (Static Best, Static Random and Routing Dynamic Best) ii) makes new best process plan by reviewing prevailing system status at every batch size, iii) feasible to implement in real life manufacturing environment, iv) optimizes all performance measures, and v) can easily eliminate breakdown machine from the new process plan. Disadvantages: i) it has complex structure in selection of process plan, and ii) unpredictable outcome in terms of throughput, machine utilization etc. 3.4 Integration between Process Plan Selection and Simulation Module Process plan selection module holds information of alternative process plans for each part with machine, tool and processing time information. At every process selection decision point (PSDP) in simulation model, this module assigns either a new process plan or previously selected process plan to each part based on their part type. For assigning new process plan to incoming part, depending upon routing policy incorporated in each simulated model, model interacts with process plan selection module for process plan information. Explanation of simulation model interaction with process selection module and vice versa in each model type is given in the following text Model 1:- Static Best Integration In static best model, at an every event of new part arrival, each part is assigned with corresponding process plan having lowest total processing time. Before beginning the simulation, all the best process plans are transferred from process plan selection module

46 into simulated model. There is no interaction between simulation and process plan selection modules while running the simulation. Flow of process plan is shown in Figure Figure 8: Static best integration Model 2:- Static Random Integration In this model, simulation model updates process plan for any part at every process selection decision point. When updating, simulation model sends information in terms of part type into process plan selection module and receives a randomly selected process plan out of the alternatives for same part type. Interaction between simulation and process plan selection module is shown in Figure 9. After receiving new randomly selected process plan, simulation model stores this process plan for future new incoming parts. It also holds previously selected process plan for existing parts in the system.

47 36 Figure 9: Static random integration Model 3:- Routing Dynamic Best Integration Instead of selecting random process plan as in static random model, in routing dynamic best model, simulation model collects system status data in terms of either average machine utilization or total queue size and transfers them into process plan selection module. Using transferred information, process plan selection module selects best process plan out of alternatives to use which will optimize performance measures of the system. Simulation model stores this newly selected process plan and uses it for new incoming parts until next PSDP. Interaction between simulation and process plan selection module is shown in Figure 10.

48 37 Figure 10: Routing dynamic best integration Example of process plan selection is shown in Table 1and Table 2. As shown in Table 2, part 1 has three alternatives with various machines and processing time information. Part 1 can be manufactured with any of these process plans; however process plan having lowest total queue size is the best one to use to optimize the performance measures of the system. If the simulation model updates process selection module with system status in terms of queue size at each machine as shown in Table 1, total queue size for each part is calculated by summing queue size for machines indicated in the process plan as shown in Table 2. Table 1: System status (Queue size) Table 2: Alternative process plans Machines M1 M2 M3 M4 System Status (Queue Size) Part 1 M1 M2 M3 M4 Total Processing Time Total Queue Size Process Plan Process Plan Process Plan Note: Process plan having lowest total queue size is shown with shaded blocks.

49 38 Similarly, if the performance criterion as average machine utilization is selected, then lowest sum of the average machine utilization for process plan is the best process plan to use for next production cycle Model 4:- Feature Focused DynamicBest Integration In this type of model, instead of selecting process plan out of alternatives based on system status, new process plan is generated by process plan selection module. As soon as system status in terms of either average machine utilization or total queue size is transferred to process plan selection module, each machine is given its status value. Now based on given status values, best machines having lowest status value is picked for each feature of the part out of alternatives. New process plan for each part type is generated by combining these selected best machines and that plan is transferred to simulation model. This newly generated process plan supposes to optimize performance measures better than all other models. Reviewing of process plan is triggered at every process selection decision point. Interaction in feature focused dynamic best model is shown in Figure 11. Excel Output Newly Generated Process Plan based on System Status System Status Simulated FMS Model Figure 11: Feature focused dynamic best integration

50 39 As explained above, in this type of model, instead of generating process plan statically, they are generated based on system status dynamically. As shown in Table 4, part 1 has three features namely F1, F2, and F3. These features can be manufactured on two alternative machines with tools and processing time as indicated in the Table 4. If the simulation model updates process selection module with system status in terms of average machine utilization of each machine as shown in Table 3; best machine to make individual feature is selected based on lowest average machine utilization out of the alternatives as shown in Table 4. Combining these best machines, processes plan selection module generates new process plan and transfer it into simulation model for assigning it to new incoming entities of corresponding part type. Table 3: System status (Machine utilization) Machines M1 M2 M3 M4 System Status (Machine Utilization) Table 4: Process plan selection Part Name Feature Machines Tools Processing Time System Status Best Machine P1 F1 M1 T M3 T M3 P1 F2 M2 T M3 T M2 P1 F3 M1 T M4 T M4 Comparison between models in terms of routing flexibility, dispatching rule, degree of dynamicity, process plan generation and possibility of eliminating breakdown machine is shown in Table 5.

51 40 Table 5: Model type comparison Model 1 Static Best Model 2 Static Random Model 3 Routing Dynamic Model 4 Feature Focused Dynamic Routing Flexibility No Yes Yes Yes Dispatching Rule Yes Yes Yes Yes Generation of Process Plans Static Static Static Dynamic Dynamic nature Less Less Medium High Elimination of Breakdown Machine No No No Yes 3.5 Statistical Analysis As explained previously, at the end of each simulation run, simulation model automatically records predefined performance measures. After running each model, these performance measures are combined and statistically analyzed to observe the individual and combined effect of parameters like: routing policy, dispatching rule, batch size, and performance criteria on them. Multi factor ANOVA test [16] is performed to identify individual and combined effect of important factors on the performance measures of the system.

52 41 Performance measures considered in this research are, Throughput:- goal is to count total number of parts out for different scenarios with constant inter-arrival time and length of run. Average machine utilization:- goal is to maximize or balance the workload between the machines. Total Work In Progress (WIP):- goal is to minimize total WIP (WIP means the work that is already in the system but did not finish completely yet). Average waiting time:- goal is to minimize average waiting time of the parts in front of the machines. Average queue size:- goal is to minimize average number of parts waiting in the queue in front of machines Output in terms of performance measures WIP and average queue size differ only by very small number. Performance measure WIP represents total parts waiting in the queue as well as parts being transported and manufactured, whereas average queue size only represents total number of parts waiting in the queue.

53 42 4. IMPLEMENTATION This chapter describes various stages through which a dynamic integrative framework for processes plan selection and execution has been built. Flowchart of integrative framework is shown in Figure 12. As shown in Figure 12, there are three important modules of the integrated framework: i) process plan generation module, ii) simulation module, and iii) integration between process plan and simulation module. FMS model template is created in Arena to represent all four model types with identical FMS configuration, whereas process plan selection module is created to represent an identical process plan database for each model type. Following text explain details about FMS model template and process plan selection module development. Implementation of dynamic integration between process plan selection module and each simulation model type is explained in the later part of this chapter.

54 FMS configuration Figure 12: Flow chart of integrative framework To make outcome of the research more realistic FMS configuration is developed such it represents real life situation. Number and types of parts, machines and transporters are logically selected as explained in the following text Parts In this research total of six types of prismatic parts are considered for manufacturing. These parts are selected such every part has various combination of total number and types of features: hole, slot, pocket and feature array. All six parts with total number of features in each is shown in Figure 13.

55 44 Name AES94 Plate Netex Model Number of features Name USC Slider Bracket Model Number of features Machines and Tools Figure 13: Part designs Based on these selected six prismatic parts, three types of machines CNC-Dill, CNC- Horizontal-Mill and CNC-Vertical-Mill are selected because of their capability to create variety of features like: hole, slot, pocket and feature arrays. All these machines are equipped with either all tools having same material or all tools having two types of material. To introduce alternative for similar machine type having trade off in terms of higher processing time, one machine is loaded with carbide tools and other is loaded with either HSS (High Speed Steel) or combination of carbide and HSS tools. Machines loaded with carbide tools can work with higher speed and feed and thus yield lower processing time. On the other hand machines loaded with HSS tools have to work with lower speed and feed compared to machines having carbide tools and thus yield higher processing time.

56 45 Total of eight machines are simulated in the simulated FMS system as described below, CNC - Drill machines, 2 units, one with all tools having carbide and the other with all tools having HSS as tool material. CNC - Horizontal-Mill machines, 3 units, one with all tools having carbide, one with all tools having HSS and the other with all tools having both carbide and HSS as tool material. CNC - Vertical-Mill machines, 3 units, one with all tools having carbide, one with all tools having HSS and the other with all tools having both carbide and HSS as tool material. Process, machine and tool matrix is shown in Table 6. As shown in Table 6, machines are limited to certain processes. For Example, CNC- Horizontal Mill (HM) machine is limited to End Milling (EM) Slotting, Side Milling (SM) Slotting, and End Milling (EM) Peripheral, whereas CNC Drill machine is limited to perform only drilling operation on the parts as shown in Table 6 with solid green blocks. Tools which can be accessed by individual machine are also shown in Table 6 in column: Tool Number.

57 46 Table 6: Process, machine and tool matrix Tool Material Carbide HSS Both (Carbide & HSS) Machines Drilling EM Slotting Process SM Slotting EM Peripheral Tool Number CNC - HM No Yes Yes Yes (T601 - T619), (T701 - T704) CNC - VM No Yes No Yes (T6-01,03,05,07,09,11,13,15, 17,19), (T701 - T704) CNC - Drill Yes No No No (T501 - T512) CNC - HM No Yes Yes Yes (T201 - T219), (T301 - T304) CNC - VM No Yes No Yes (T2-01,03,05,07,09,11,13,15, 17,19), (T301 - T304) CNC - Drill Yes No No No (T101 - T112) CNC - HM No Yes Yes Yes (T201 - T219), (T301 - T304), (T601 - T619), (T701 - T704) (T2-01,03,05,07,09,11,13,15, CNC - VM No Yes No Yes 17,19), (T301 - T304), (T6-01,03,05,07,09,11,13,15,17,19), (T701 - T704) HM = Horizontal Mill, VM = Vertical Mill, EM = End Milling, SM = Side Milling Layout As an effect of delay in product transportation over the performance measures is not the concentration of the research, determination of the minimum transporter required to have efficient non-delayed transportation of the parts was based on pilot run of the model with various numbers of transporters. Analysis of average number of transporters busy throughout the run concludes that minimum of two transporters are required to have nondelayed transportation. Configuration of machines and distances between them are determined such that simulated FMS represents real life situation as shown in Figure 14. This configuration has been kept

58 identical for all combination of routing policy and dispatching rule in order to focus only on impact of decision variables on the system performance Process Plan Generation Figure 14: FMS configuration with distances Alternative process plans for each part have been generated using rule based process selection module described in [22] [23]. In this module, prismatic part designed with features is sent to rule based system (RBPP), which creates new facts containing feature dimensions and tolerance requirements in its working memory. Based on those facts and existing knowledge base of available processes, machines, and tools in the working memory, rule engine is executed to select appropriate processes, machines and tools to make all features. Sequence of rule execution in RBPP system is shown in Figure 15.

59 48 Process, Machine & Tool Knowledge Process Selection Rules Machine Selection Rule Tool Selection Rule Calculate Processing Time Figure 15: Steps of rule execution Feature Model Feature Model of any part is created using 3D CAD model of the part and feature mapping procedure developed in IMPlanner framework [22] [23]. This feature mapping procedure basically extracts the geometric information of each feature in 3D CAD model like: type of feature, dimensions, tolerance requirement. As mentioned earlier total of six prismatic parts are considered in this research for simulated production. All these parts have combination of features like: hole, slot, pocket, and feature array. These parts are first generated using various modeling tools of Unigraphics NX 5.0. Example of part [1] with various features is shown in Figure 16.

60 49 Figure 16: Feature model of the part AES-94 (From [1]) Process and Machine Knowledge Process and machine knowledge provide information about available machine candidates in the system which can process particular feature. The available machines have their own parameters which are used in their selection for processing corresponding feature. In addition, machine knowledge base also contains parameters that are used in calculating processing time, and for selection of the tool. The segment of machine knowledge base is shown in Figure 17

61 50 Figure 17: Machine knowledge representation As can be seen from Figure 17, the machine fact represent parameters for CNC-Horizontal- Mill having carbide tools. In this fact, machine specifications like; bed size, power, efficiency and tool list (tool-list T601. T704) are included. To represent machine for specific processes, new facts are also inserted. For example in Figure 17, CncHMillFast is capable of processes side-milling, end-milling-peripheral, and end-milling-slotting Tool Knowledge Similar to machine knowledge, tool knowledge provides information about the tools available in the system for processing the parts and their features. These tool facts represent data for the tool parameters like: material, diameter and process for which the tool can be used for. Example of tool facts is shown in Figure 18.

62 51 Figure 18: Tool knowledge representation In addition to tool facts, cutting condition facts are also inserted in the working memory for the calculation of the processing time at the end of selection of machine and tool for each feature. As can be seen from Figure 18, for performing drilling operation on carbon steel part using HSS tool of diameter inches, speed of 30 fpm and feed of in./tooth have to be set on the machine Steps in Process Plan Generation This section explains each step in process plan generation with screenshots of developed framework [22] [23].

63 52 Step 1: - Inserting part and stock model First step in generating process plan is to load a 3D CAD model of the part and stock. Using information contained in this 3D part, in terms of feature types and its parameters, rule based system creates feature based part model [1] Example part AES-94 with extracted features is shown in Figure 19, Figure 19: Feature extraction for part AES-94 Step 2: - Load Engine After creating feature data, the knowledge base (selection rules, and machine - tool facts) is loaded into RBPP. Selection rules represent logic to select appropriate process, machine, and tool for the given feature. This step loads available knowledge about the process,

64 53 machine and tool in the working memory of the system as facts with all selection rules. These facts help in representing available processes, machines and tools in the system while selecting alternatives available for each feature, Step 3:- Create Facts This step makes facts for the features of the given part model. It extracts information like: feature dimension, type and tolerance requirement from the feature model and creates a facts representing requirement of each feature of the part. These facts are used to select appropriate processes, machines and tools for each individual feature using loaded rules, Step 4:- Run Engine Run engine tab from the panel triggers rule based system to execute (fire) rules based upon available facts in the working memory. At each execution of the rule, rule may insert new facts or modify existing facts in the working memory. These rules are fired until there are no more unused facts remain in the working memory. The final output is in the form of alternatives for each feature with machine, tool and processing time information as shown in Figure 20. The results from RBPP are exported into.csv file for the use by process plan selection module,

65 54 Figure 20: RBPP output for part AES Process Plan Selection Module After the generation of all the alternatives for each part type, these alternatives are combined in one file to represent it as process plan selection module (Figure 21). This process plan selection module is responsible for i) generating best and alternative process plans, ii) recording system status sent by simulation model, and iii) identifying and transferring appropriate (best) process plan to simulation model based on system status.

66 FMS Model Template Figure 21: Process plan selection module The logic for FMS real time behavior is implemented as Arena simulation model in the form of template model which can be later populated with particular data set. FMS model template consists of logic for representing i) part arrival, ii) machines to manufacture variety of features, iii) AGV s to transfer the parts between machines iv) sequence assignment based on routing policy selection, v) four dispatching rules, and vi) similar machine-tool logic. Using this simulated template one can make variety of models having different number of machines, tools, AGV s and any combination of routing policy and dispatching rule. This simulated FMS template basically made of three models i) part

67 arrival, ii) manufacturing and iii) exit model. Detailed explanation of each model is in the following text Part Arrival Model Part arrival model consists of logic to assign incoming entity with i) part index, ii) picture of an entity, iii) entity type, iv) part sequence, and v) dispatching attribute. Part index, picture and type assignments to the entity help in recognizing the individual entity in the simulation model, whereas assignment of sequence define machine visitation order for parts for production. Dispatching attribute holds unique value based on dispatching rule selected in the model. This attribute helps in giving priority and sequencing parts waiting in the queue in front of machine for production later in manufacturing model. Screen shot of part arrival model is shown in Figure 22. Figure 22: Part arrival model As shown in Figure 22, when new entity arrives into the system, first it is assigned with appropriate attributes. After the attribute assignment, system decides the flow of the entity

68 57 based upon the model type being run. Each model type has different sequence assignment for each part type. At the end of sequence assignment, each entity waits for next available transporter to transport it to first station mentioned in assigned sequence. In addition to attribute and sequence assignment, part arrival model contains logic for reviewing of process plan. For each part type this reviewing of process plan is triggered when total number of parts of similar part type arrived at any point of time in the system is equal to selected batch size. This reviewing of process plan is also called as Process Selection Decision Point (PSDP). In this research batch size is coined term for specific number of parts arrives in the system for each part type. Basically it is a check point which determines when to review a process plan for each part type i.e. every week, once in two weeks etc. In the reviewing process, using VBA code simulation system interacts with the process selection module, transfers system status data and receives best process plan for future assignment for corresponding part type Manufacturing Model Each entity in the system visit stations in manufacturing model according to the sequence assigned to it. This model contains value added processes which convert incoming stock into final finished product. Manufacturing model can be described as model which combines logic for i) part processing ii) identical machine-tool, and iii) dispatching rule selection as shown in Figure 23. Detailed explanation of the implementation of each individual logics using simulation package Arena is in the following subsections.

69 58 Figure 23: Manufacturing model Part Processing Logic For processing any part there are mainly four steps involved: i) part transportation, ii) machine and tool allocation, iii) delay for manufacturing, and iv) machine and tool release. Every part (entity) is assigned with sequence. These sequences for every part hold unique information about station visitation order with processing time and tool requirement at those stations. Based on visitation order, AGV transports part to corresponding station where machine processes assigned feature using given processing time and tool information for that station. Since the processing logic is identical for each machine, the module is implemented as a set of Arena station modules. Machine and Tool logics are represented by seize, delay, and release modules of Arena; Seize module holds specified machine and tool to process entity,

70 59 delay module delays entity for given time for processing, and release module releases tool and machine after finishing operation. At the end of each operation before performing next step identical machine-tool logic is tested, which determines either the next operation requires same machine or not Identical Machine-tool Logic When part finishes first operation as per assigned sequence, identical machine-tool condition is tested. This condition basically testes whether the outgoing part is going to visit the same machine as in previous operation or not. If the condition is true, than part does not release the existing machine and routed to similar machine with zero delay time to advance one step in sequence. After advancing one step further in sequence to the same machine, tool similarity for the next operation is tested. In this testing, if the current operation requires same tool, then without releasing tool, part proceeds to a delay for its operation and leaves the processing module at the end of operation. If the tool is not same, part releases the previous tool, seizes new tool and then proceeds to the delay for the operation. At the end of each operation, identical machine condition is checked again in order to route the same part to the same station or new station. When machine is not identical, entity releases seized machine and tool and accesses transporter for being transported to other station as shown in Figure Dispatching Rule Logic When entity is transported to new station, AGV is released before seizing the machine and tool. After releasing AGV, each entity is assigned an attribute cpdispsequencing with its

71 60 corresponding value based on the type of the dispatching rule selected while configuring the model (configuration of the model is explained in later part of this section). Using this dispatching attribute value, system sequences parts waiting in a queue in front of each machine. For each dispatching rule type, value of cpdispsequencing attribute and corresponding queue priority setup is shown in Table 7. Attributes representing machine queues in Arena are updated with corresponding string as shown in Table 7 under queue priority while configuring model based on dispatching rule selected. Table 7: Dispatching rules, value and queue priority setup Dispatching Rule FIFO Attribute Value 0 (not used) Queue Priority First in first out SPT Total processing time Lowest attribute value SIPT Current processing time Lowest attribute value LIPT Current processing time Highest attribute value When entity joins the queue it is reordered based on the dispatching attribute, and when machine becomes idle, first part waiting in the queue seizes the machine and then the tool as explained earlier Exit Model After the completion of the last feature on the part, part leaves the manufacturing model using available transporter and goes to the exit model to leave the system. Before leaving

72 the system part releases the used transporter. Logical flow of the exit model is shown in Figure Model Creation Figure 24: Exit model In this research four model types namely i) Static Best, ii) Static Random, iii) Routing Dynamic Best and iv) Feature Focused Dynamic Best are implemented. Every model type is unique by its routing policy as explained earlier. Using developed FMS model template these four types of models are created automatically. Template is programmed to create new properly configured simulation model from the template using information stored in input data file. Each input data file contains five types of information: 1. Model data: - routing policy, dispatching rule, batch size, inter-arrival time, system status type, replication length, warm-up period. 2. Production data:- number of machines in the system, types of parts to be processed.

73 3. Process data:- part process plans with machine, tool, and processing time information Machine and Tool data:- name of machines and tools available in the FMS for processing parts. 5. Distance data:- distances between machines, entry and exit station of the system, needed to calculate AGV transportation times. Example of the input data file is shown in Figure 25. Figure 25: Input data file template

74 63 As can be seen from Figure 25, this input data file generates simulation model of type Static Best having dispatching rule of FIFO from the template. This is because attributes Type of Dispatch and Type of Model are set to value 1. Value of attributes determines the type of model FMS model template will create. All the possible attribute values are shown in Table 8. In addition to routing and dispatching type input data file template in Figure 25 represents FMS having eight machines and six part types each having four alternative process plans. Model was set for system status update criteria as machine utilization for every batch size of 100. In addition to model configuration parameters, input data file contains unique part, machine and tool names from the process plan selection module which are transferred to simulation model to name entities and resources. Various attribute values in input data file which decide model configuration are shown in Table 8, Table 8: Attribute types, value, and implication Type of Attribute Attribute Value Implication 1 Static Best 2 Static Random Routing/Model Type 3 Routing Dynamic Best 4 Feature Focused Dynamic Best 1 FIFO 2 SPT Dispatching rule 3 SIPT 4 LIPT 1 Machine Utilization Performance Criteria 2 Queue Size 100 Update at every 100 parts in of each part type Batch Size 150 Update at every 150 parts in of each part type 200 Update at every 200 parts in of each part type

75 64 Distances between order release station, machines, and exit station of the system are also stored in input data file. These distances are transferred to simulated FMS during creation of a model using simulation template. Example of distances stored in input data file is shown in Figure 26. Figure 26: Distance information At the end of data transfer, system automatically creates new folder where it saves configured simulated model and input data file. This configured model which interacts with process plan selection module for process plan selection and transfer can be run as standalone Arena model. 4.5 Entity Flow and Information Interaction in Models This section explains flow of entities in three models (part arrival, manufacturing, and exit) of simulated FMS based on model type. It also describes information flow between simulation module and process plan selection module.

76 Model 1: - Static Best In this type of model, alternative process plans for each part are generated before running the model. Each part has four alternative process plans. The best plan is defined as having lowest total processing time and it corresponds to selecting operation for each feature with minimum processing time. Three other alternatives are created by randomly selecting an operation for each feature and combining them into alternative routing. Screen shot of process plans as transferred into simulation FMS model is shown in Figure 27. Figure 27: Process plan representation in simulation

77 66 In Figure 27, four alternatives for part are shown in red bordered block with best process plan highlighted by dash lined block. Also, first station to visit in best plan with processing time and tool number information are shown in Figure 27 with dash lined block Configuration Parameters for Static Best Model As explained earlier, FMS model template is used to create any model type by supplying input data file. When configuring FMS model, if configuration parameters are set in input data file as per Table 9, then FMS model template creates simulated FMS model of Type 1 with variety of dispatching rules. Table 9: Configuration parameters for static best model type Parameter Model Type Type of Dispatching Best/Random Performance Criteria Batch Size Value 1 1,,4 0 1 or 2 100/150/ Flow of Entity in Static Best Model Flow of the entity in model type 1 is shown in Figure 28 with solid arrows (in red color). While flowing through the part arrival model, each entity is assigned attributes: part index, picture, part type, sequence, and dispatching attribute cpdispsequencing. Only best process plan is assigned to its corresponding part type. After assigning sequence to the entity, it is being transported from part arrival model to first station in its process plan.

78 67 Figure 28: Flow of entity in static best model After leaving part arrival model, each part visits stations (machines) in manufacturing model according to their assigned sequence. AGV s are used to transfer parts between the machines. If the machine is busy part joins the queue, otherwise machine processes incoming part. Now at an event of part joining the queue, simulation model reorders the queue based on dispatching rule implemented. Assigned cpdispsequencing attribute value is used in ordering process. At the end of all operations, every part leaves the system using exit model of the system and frees the used transporter Process Plan Selection In this type of model, list of best process plans having lowest total processing time is generated automatically in the process plan selection module. This list is then transferred to the simulation model as index which assigns the best process plan to incoming entity depending upon its part index. Generation of best process plan having lowest total processing time for each part type is shown in solid yellow color list in Figure 29.

79 68 Figure 29: Generation of best process plan list Model 2: - Static Random Working procedures of static random and static best model are similar. The difference is only in the process plan assignment. In this model type, each entity type is assigned with randomly selected process plan out of the alternatives available for that part type. This random selection of process plan happens when total number of parts arrive at any time of any part type into the system is equal to batch size implemented in the model. This review step only update process plan for that part type who triggered the reviewing process, other part types does not get updated Configuration Parameters for Static Random Model Similar to static best model, if the input data file is populated with configuration parameter value as shown in Table 10, than FMS model template creates static random model.

80 69 Table 10: Configuration parameters for static random model type Parameter Model Type Type of Dispatching Best/Random Performance Criteria Batch Size Value 1 1,,4 1 1 or 2 100/150/ Flow of Entity in Static Random Model There are two type of flow of the entity in the static random model as shown in Figure 30 with solid and dashed arrows. As explained earlier when incoming entity triggers reviewing of process plan, it follows path with dashed line, otherwise it follows solid arrow line. Flow of the entity through manufacturing model and exit model is identical to model type 1. Figure 30: Flow of entity in static random model Model 3: - Routing Dynamic Best This model assigns the best process plan to incoming entities based on the system performance. Initially it behaves similar to a static best model; incoming parts are assigned with process plans having lowest total processing time of corresponding part type. But after specified batch size in of any part type, system updates the best process plan to use for that part type. This update is based on either machine utilization or queue size of each machine.

81 Configuration Parameters for Routing Dynamic Best Model When input data is populated with configuration parameter value as shown in Table 11, FMS model template creates routing dynamic best model. Table 11: Configuration parameters for routing dynamic best model type Parameter Model Type Type of Dispatching Best/Random Performance Criteria Batch Size Value 2 1,,4 0 1 or 2 100/150/ Flow of Entity in Routing Dynamic Best Model This type of model dynamically selects new best process plans based on either machine utilization or queue size. To implement this dynamic behavior, there are two types of flow in the routing dynamic best model. In one, if the total number of parts arrived of any part type is equal to batch size; system will read either average machine utilization or total queue size of all machines and report them to the process plan selection module. Now based on these values, process plan selection module calculates total average machine utilization or total queue size of each process plan for triggering part type. From those alternative plans, the best process plan is defined as the one having lowest total average machine utilization or total queue size. That plan is selected and transferred as best process plan for next phase of production. Flow of an entity through part arrival model, when revising process plan, is shown in Figure 31 with dashed arrows.

82 71 Figure 31: Flow of entity in routing dynamic best model In other flow, if the total entity in of any part type is different than batch size, entities will skip the process plan review process and follow the previously selected best plan. This type of flow is shown in Figure 31 with solid arrows Selection of New Best Plan Every routing dynamic best model initially assigns best process plan having lowest total processing time for each part type. List containing indices to these best process plans is automatically generated in process plan selection module. After the generation of this list, process plan selection module transfers this list into simulation module for assignment. Screen shot of initial form of process plan selection module is shown in Figure 32.

83 72 Figure 32: Initial state of process plan selection module While running simulation using given best process plan for every part types, simulation model counts total number of parts entering the system for each part type. If the total number of parts of given part type is equal to batch size specified in the model, two actions are performed: i) recording system status in terms of average machine utilization or total queue size into process plan selection module and ii) updating new best process plan into simulation model for that part type. Transfer of system status in terms of average machine utilization is shown in Figure 33. Figure 33: System status: Machine utilization Now, based on these machine utilization numbers, process plan selection module determines the best process plan to use from alternatives for that part type, which will avoid machines having higher average machine utilization. For determination of the best process plan, process plan selection module first adds average machine utilization numbers for corresponding machines in each process plans. Now process plan having highest sum contains machines with higher average machine utilization and plan having lowest sum contains machines with lower average machine utilization. After calculating sum for each alternative, process plan having lowest sum is picked for assignment to new incoming entities of similar part types until next reviewing process occur. Generation of new best process plan based on system status is shown in Figure 34.

84 73 Figure 34: Newly selected process plan based on system status Model 4: - Feature Focused Dynamic Best Instead of generating complete process plan statically in advance, in this type of model process plan is generated by combining best machine selected to make individual feature of the part by process plan selection module. These best machines are selected at every batch size interval using system status of either average machine utilization or total queue size. After generating new best process plan for every part, these best plans are transferred to the simulation model to be assigned to new incoming entities. At the event of updating best plan, only new incoming entities are assigned with updated best plan, whereas entities already in the system use previously assigned best plans to that part type. To introduce switching between new plan and previous best plan, switch logic is introduced. For switching between process plans, there are three 2D array variables are implemented in Arena namely cppartstations, cpparttools and cppartptime used. As name implies cppartstations variable stores information of sequence of stations to visit in each process plan, cpparttools stores tool numbers to use at those stations and cppartptime stores

85 74 processing time at those stations. Out of two dimensions of each variable, one dimension has value of 12 to represent six existing process plans information with six additional spaces to store newly updated process plans information. Another variable has a value of maximum number of features among all part types for accommodating all information of each part type. In the beginning of simulation first six places in each variable are populated with information of machine, tool and processing time for each part type. While updating process plan for any part type, corresponding location in next six spaces for that part type is filled with appropriate information. After updating variables, newly arriving entities of similar part types are assigned with newly generated process plan, whereas parts already in the system uses previously assigned process plans Configuration Parameters for Feature Focused Dynamic Best Model To create a feature focused dynamic best model using FMS model template, input data file is populated with configuration parameter values as shown in Table 12. Table 12: Configuration parameters for feature focused dynamic best model type Parameter Model Type Type of Dispatching Best/Random Performance Criteria Batch Size Value 3 1,,4 0 1 or 2 100/150/ Flow of Entity in Feature Focused Dynamic Best Model There are two types of flow in this system (Figure 35). One which updates best process plan (dashed arrows) and the other which skips the updating process (solid arrows).

86 75 When updating process plan at every batch size in of each part type, system first reads either average machine utilization or total queue size and sends them to process plan selection module. Based on these status values, for each feature, machine with either lowest average utilization or total queue size of all available machines for that feature is selected for operation of the corresponding feature. By combining all the best machines for each feature of the part, system generates new best plan for corresponding part type. At the end, complete best process plan is transferred to the simulation model for assignment to new incoming entities of this part type. VBA module is written in part arrival model to assign process plan to incoming part type. This VBA module basically reads first station in visitation order with corresponding tool and processing time requirement from Arena 2D variables: cppartstations, cpparttools, and cppartptime. After reading these values, VBA module assigns these values to entity for processing as shown in Figure 35. After leaving VBA module, entity is transported to assigned station using available transporter. Figure 35: Flow of entity in feature focused dynamic best

87 76 In the manufacturing model each entity visits its assigned station to operate a feature using assigned tool and processing time information. At the end of processing each feature, VBA module progresses part to next station for operation based on next station mentioned in 2D variable (cppartstations) as shown in Figure 36. VBA code also assigns next operation attributes like: tool and processing time to each entity using corresponding information in cpparttools and cppartptime. Figure 36: Manufacturing model logic for feature focused dynamic best model type After finishing all the operations, every entity leaves the system using exit model Generation of New Best Plans Example of process plan generation for feature focused dynamic best model type is shown in Figure 37. As shown in the Figure 37 Simple_Hole_11 has two alternative machines CncDrillSlow and CncDrillFast. When average machine utilization status was translated from simulated model, it can be seen that CncDrillSlow has lower average machine

88 77 utilization (0.29) than CncDrillFast (0.98). Therefore, system selects CncDrillSlow for making Simple_Hole_11 feature of AES94 for next production cycle. Similarly for feature Rectangular_Slot_9, CncHMillMid has lowest average machine utilization of 0, so system selects that machine as best candidate and records its index for future reference. Using these recorded indices, process selection module transfers their corresponding machine, tool and processing time information into simulation model. Figure 37: Generation of new best process plan

89 78 5. EXPERIMENTATION This chapter focuses on steps of experimentation from determination of various experimentation parameters, collection of output to statistical analysis on combined output of all scenarios. 5.1 Determination of Experimentation Parameters Total of five important experimentation parameters are explained in this section with logical reason behind selection of their value. These experimentation parameters are: i) Replication length:- This parameter determines length of run for each individual simulation model. It is calculated based on FMS industry working for two shifts a day for 250 days in a year. So, total hours of production/year = 16 x 250 = 4000 hours. So, each model is run and statistics is recorded for 4000 hours. ii) Number of replications:- This parameter determines number of times each model should be run. In other words, it represents a sample size using which statistics should be calculated. In this research, 10 replications are sufficient for statistical analysis. iii) Inter-arrival distribution:- This parameter determines distribution and interarrival time with which parts arrive in the system. Exponential distribution with 7 min is selected after pilot run of the model with 6, 7, 8, and 9 min as inter-arrival time. Inter-arrival times of 8 and 9 min is rejected because they

90 79 were incapable of producing enough queues in front of the machines to observe effect on output based on dispatching rule. Whereas inter-arrival of 6 min overloads the queues in front of the machines, which makes it unrealistic. iv) Batch Size:- as explained earlier, batch size determines total number of parts to be produced between PSDP, i.e. before reviewing the process plan for each part type. Three values of batch sizes: 100, 150, and 200 are used in this research. These numbers are based on pilot run of simulation model which determines average number of parts out in every week, every eight days of production and biweekly production for each part type respectively. v) Warm-up period:- This parameter determines the time after which statistics should be recorded in the simulation run. Time selected as warm-up period should be enough to load the system in a way that it represents steady state of the model. In this research, 2000 hours as warm-up period is selected after pilot run of the model. Screenshot of total WIP plot of feature focused dynamic best model with FIFO as dispatching rule, 100 as batch size, and machine utilization as performance criteria is shown in Figure 38.

91 Hrs (Warm-up period) 4000 Hrs (Replication Length) Figure 38: Total-WIP for 10 replications As can be seen from Figure 38, between 0 and 2000 hrs of every run, there is an increase in total WIP of the system, whereas between 2000 and 6000 hrs of run total WIP fluctuates with an average value of around 300 parts. Based on these observations it is estimated that, 2000 hrs of warm-up period is needed to create a steady state of the model. 5.2 Scenario Generation As explained in implementation section, various combinations of attributes generate variety of simulation models for experimentation. Each simulation model is defined by four attributes: routing policy/model type, dispatching rule, batch size, and performance

92 81 criterion. Combining values of these attributes creates new simulated FMS model using simulation template. Values of these attributes are, 1) Routing policy/model type : Best, Random, DynamicBest, FeatureBest----(4) 2) Dispatching rule: FIFO, SPT, SIPT, LIPT (4) 3) Batch size (threshold value) : 100, 150, (3) 4) Performance criteria : Machine Utilization, Queue Size -----(2) So, total number of scenarios generated using these attributes is, Total Number of Scenarios = 4 x 4 x 3 x 2 = 96 As explained earlier in implementation section, changing these attributes value in input data file would make new scenario using simulation template. To make this task simpler, we have written VBA code in input data file such; at one click it generates 96 input data files representing all combination of attribute values. In addition to its generation, every file is named with their attribute values. Screen shot of generated input files is shown in Figure 39.

93 82 Figure 39: Input file generation 5.3 Steps of Experimentation Each model type is generated using FMS model template. Depending upon input data file selected, template creates model type using configuration attributes from the input data file. When simulated FMS template is opened, it prompts a new window to enter a path to input data file. Screen shot of simulation template with popup window is shown in Figure 40.

94 83 Figure 40: FMS model template After supplying input data file to template, template performs the following steps: 1. Creates new model using routing policy, dispatching rule, batch size, and performance criterion attributes supplied by input data file. 2. Creates number of stations based on number of machines required for manufacturing. 3. Creates alternative sequences for each part having machining steps with tool and processing time information. 4. Creates those machines and tools as resources and gives unique names based on data supplied from input data file.

95 5. Stores distance information between order release station, machines, and exit station of the system Sets simulation run parameters like warm-up, number and length of replication, inter-arrival time. 7. Changes the name of the model based on values of the supplied attributes. 8. Saves a new model and used input data file into newly created folder having identical name as of model. Model creation and saving steps are shown in Figure 41. Figure 41: Steps of model type creation

96 85 After generating and saving all models, each model is run in batch mode and output in terms of predefined performance measures is stored in.csv (Comma Separated Volume) file format. These.CSV files are also stored in same folder as their corresponding model file. For the analysis purpose, all.csv output files are pulled and combined in to one.csv file. Performance measures considered in this research are: i) throughput, ii) total WIP, iii) average waiting time of parts in queues, iv) average queue size in front of machines, and v) average machine utilization. These performance measures are recorded automatically at the end for each replication and stored in new.csv file at same location as model. Format of these.csv file is such that it can easily be transferred to Minitab for statistical analysis. Screen shot of saved results are shown in Figure 42. Figure 42: Output of the system As shown in Figure 42, output of the simulation run in the form of.csv file is divided in to two sections, i) model configuration parameters and ii) performance measures. Model configuration parameters represent routing policy, dispatching rule, batch size, performance criteria and inter-arrival time to identify source of results while doing statistical analysis. In addition to configuration parameters, performance measures for each replication are saved in the same.csv file which is shown under category performance measures in Figure 42.

97 Output Analysis Output of each model is combined and results are analyzed to observe the effect of developed feature focused dynamic best routing approach over the other three model types: static best, static random and routing dynamic best. For the analysis purpose, all the outputs from all the scenarios are stored in one file and then two stapes are followed in analysis i) Multifactor ANOVA (Analysis of Variance) test and ii) Comparison through charting technique. ANOVA test is performed on output to identify most influential individual and combined configuration attributes on performance measures of the system. Screen shot of sampled ANOVA test on output is shown in Figure 43. Figure 43: ANOVA test example