Introduction The system I modeled was the production process for a hydro-mechanical aircraft engine fuel controller, at Hamilton Sundstrand (HS). Specifically, the assembly and test aspect. A basic overview of the system is as follows: Customers submit orders to HS for fuel controls, along with a delivery request. An automated inventory system looks at the current “free” inventory, and through purchasing orders any additional parts needed. Using known average leadtimes for control parts, the system places orders so that the parts will arrive with just enough time to assemble the control, hence minimizing inventory expenses. In the case of the control I focused on, about 2 weeks prior to requested delivery date, the order is placed in queue, where a service technician assembles a “kit” of all the parts necessary to build the control. After the kit is assembled, it awaits the availability of a builder . There are nine major assembly operations, and a tenth to put the cover on once the internal mechanisms have been assembled. Once the control is successfully assembled, it is briefly inspected, and having passed inspection gets transported to another building to await testing. There are three major components of testing, including setup, performance testing, and calibration. If the control passes the test, it’s transported to Final Process, where it’s cleaned, soaked in preserving fluid, and prepared for shipment to the customer. Final Inspection reviews the control right before it leaves for the customer. Using a bar-code scanner type device, workers are timed and measured by how fast they can perform an operation (assembly, test, or final process). In fact, the performance of organization is in part based on their ability to perform operations close to a standard. Anything additional is unwanted “variation.” A major area of concern, and particularly frustrating to assembly workers, is part shortages. According to production workers, when they get in a rhythm, that last thing they want is to have to stop in the middle of what they are doing, because the next part they need in the assembly is a few days late. Typically what occurs, is that operations are performed (to the extent possible) out of sequence, or more commonly, an operation is partially completed, then another one is started while the operator waits for the part(s) from the prior operation to arrive. There are hundreds of parts that make up a control, and when you have fluctuating demand for parts during any given month, coupled with a system that schedules “just in time” and suppliers who can’t meet tight lead times, variability and part delays are inevitable. For the control I investigated, 27/68 - 40% were started without complete kits. Problem Formulation Between production workers and management, it is believed that part shortages are a key driver towards increased assembly time, increased probability of failure at test, increased variability, and low ability to deliver controls on-time. However, as the controls are complex (several hundred parts) and the inventory system is used company-wide, management is cautious about making any changes. That is unless the benefits of reducing the number of part shortages can be demonstrated quantitatively. Which is where simulation comes in. My problem was to quantitatively demonstrate, through statistics and simulation, the benefits on organizational performance that building controls with all their parts. I planned to do this by simulating the building of complete kits vs. partial kits, and observing the effects on the system measures of performance. The measures of performance (MOP) for this system were: Total assembly and test time (includes final process) % of controls delivered on time 1st time yield (i.e. passing testing the first time) Secondary (but relevant) MOP were: Inventory level Total cost of manufacturing the control Project Objectives Flowing from the problem statement, my specific objectives were to: Establish a statistically significant correlation between part shortages and assembly time, test time, final process time, probability of test failure. Quantify the reduction in assembly and test time if all parts were available. Quantify the probability of meeting on time-delivery, if all parts were available (i.e. reduced variance) Quantify the reduction in production time assuming no controls are rejected at test (100% yield) The ultimate purpose of the simulation would be to answer the question: “What impact to our organization would result if all controls were started with complete kits?” Model Conceptualization & Data Collection The sample: Most data came from a year’s worth of data for the particular control under investigation. Fortunately, HS keeps detailed records for each control, on an operation-by-operation basis. Unfortunately, the data was severely fragmented, had to be sorted and assembled (no easy task!). For example: one report might have the number of hours of rework, while another the distribution of test times. Trying to match several reports together to create a coherent picture was formidable. My key interests in the data were to find time distributions for assembly, test, and final process times, % of controls passing the first test, etc. and to try and statistically correlate that with kit-parts missing. My initial intent was, through hypothesis testing, determine if there was a statistically significant difference in MOPs of controls that had been started with missing parts, vs. controls that started complete. My goal was to seek a correlation between the MOPs and 1) whether or not the assembly was started with parts missing, 2) number of parts missing, 3) class of part missing (e.g. a high precision valve vs. a bolt), and 4) the number of parts missing of each class. Unfortunately, as I quickly discovered, HS did not maintain any data for any substantial length on parts initially missing from kits! I eventually settled upon number one - looking for correlation’s based on controls started with complete or incomplete kits. Since this information was not overtly present in the data, I had to infer it. Controls were labeled as “not complete kits” if the sequence of operations of out of order, and there was a change in date. For ex., a control with operations 10, 20, 30, 50 on one day, and 40, 50,… completed in the future was labeled as being incomplete. I also labeled as incomplete kits when there was an abnormally large gap between operations, a week for example. Other problems I encountered with the data were that operators, for various reasons, didn’t always punch in and out when they were supposed to. Sometimes the 1st operation had an unusually large time associated with it, while the next several operations had zero. Sometimes the operator missed the punch all together, and there was no data for an operation. The cover assembly (the last operation before testing) is one that frequently had no time associated to it. My initial motivation for looking at the data on an operation-by-operation basis was to generate probability distribution functions (PDFs) for each operator, and try to correlate their performance to the MOPs. Unfortunately, the inconsistency of the data, and the fact more than one operator works on a control led me to abandon this idea. I settled for breaking up the operations by assembly, test, and final process. After censoring incomplete control records, I generated 68 controls to from my sample - 41 were controls with out any indication of being assembled without a full complement of parts, and 27 were controls highly suspect of being built with partial kits. From this sample, the following information was extracted: Assembly time for each control, without the cover Cover assembly time Assembly + Cover (total assembly) Test time (total) % of Test failures (controls failing one or more times) Rework hours per control Number of days waiting for parts (for those controls that were started incomplete) For each of each above, the following were performed to validate the input data I would be using in my simulation: 1. 2. 3. Runs-charts - to verify that the data was stable, and that there were no trends Histogram - to get a better idea of the possible family of PDFs that might represent the data Probability Plot - to test the fit of the data with a particular PDF family, to estimate PDF parameters And for those data which appeared to be satisfactorily represented by a normal distribution, the following were also performed: 1. 2. Hypothesis test for equality of variance Hypothesis test for equality of population means See appendix for all plots and hypothesis testing As a result of the hypothesis testing, the only thing that can be said with confidence is that there is a statistical difference between the total assembly (main assembly and cover) for kits that were started complete vs. incomplete. There was found to be no statistical difference in variance, as a result of kits started complete / incomplete. While the total Test Time, and Test Failure rate was slightly higher for the controls started with incomplete kits, the difference is within a 95% confidence interval. Therefore, I cannot be 95% confident that there is a difference. Note: I was not entirely comfortable with my choice of the exponential distribution to represent the data from “Part delay” or “Rework time,” it was the best out of several (e.g. normal, lognormal, etc.) Model Conceptualization Perhaps the best way to illustrate my model concept, is to list the assumptions I made (which were derived in part from production personnel input). From both a objectives standpoint, the most important aspects of the model were the 1) assembly, 2) test, and 3) final process section. They were also the most important from a validation perspective, because these are the areas which are most heavily measured. Assembly As a builder starts the control, the kit is either complete or it’s missing. He builds as far as he can with the pieces available. Typically this means skipping part or all of an operation until the parts become available. It may also mean taking something apart, to get access to the area that was skipped over. Assumptions (A) and Justifications (J) Ordering A1: Orders arrive probabilistically, modeled by an exponential distribution J1: Historical data obtained supports the hypothesis that order data could have been generated from an exponential distribution. Assembly A1: Only one builder assembles the control at a time J1: Standard practice on the actual production floor. A second worker (e.g. on second shift) may take over building from the previous worker’s shift, however. A2: Workers are not available to work on additional controls until the control they started is complete, i.e. they don’t start a new control while waiting for parts. J2: In actuality, there is enough resource capacity and enough other minor tasks so that only starting additional controls is unnecessary. The small order rate relative to production time is also a factor. A3: Workers are available whenever there is work. J3: Of the three major tasks production workers are responsible for – customer return material, engineering development, and production, production has the highest priority to the extent that workers are immediately available to work on production issues. A4: The assembly distributions are equal for each worker J4: The resolution of the historical data is not sufficient to distinguish between individual performance. The DF for assembly times is a composite of all workers involved with assembly, and hence is a good approximation to individual DFs. A5: Controls that fail testing do not consume parts from inventory J5a: Based on worker input, most rework is on manufactured parts, such as valves. J5b: The historical data is not sufficient to develop any model on the usage of extra parts during rework. A6: Controls that fail testing and require assembly rework are given highest priority (of controls waiting assy queue). J6: Standard policy A7: The total assembly time is modeled by a normal DF. J7: The data supports the hypothesis that a normal distribution is sufficient to have generated the historical data. Testing A1: Controls fail only once J1A: The data is not sufficient to generate rework DFs on a per failed-test basis. J1B: Rework is lumped on one test failure – this is produces total rework times in good agreement with historical data. A2: The test distributions are equal for each worker J2: See A4, Assembly A3: Rework testing is lumped with normal testing, when a failure occurs. The control then proceeds to assembly for rework, and returns back to testing to finish rework: Testing Failure Rework Testing Rework Assembly Resume Normal Testing J3A: The historical data is not sufficient to model multiple test-failure / reject situations. J3B: The lumped assembly / test rework model is a good approximation to the total historical rework time, per control. A4: Test time DF is not statistically different for controls started with complete vs. incomplete kits J4: The data can be represented by a normal DF; hypothesis testing cannot reject Ho (see appendix also). A5: The probability of a test failure is independent of whether the control assembly was started with a complete kit. J5: See J4 above Final Process A1: FP time DF is not statistically different for controls started with complete vs. incomplete kits J1: See J4, Testing Inventory/Parts A1: Missing parts can be lumped together and represent any / all missing parts. J1: Controls are comprised of hundreds of parts, the data is not sufficient to predict which parts will be missing and at what percentage of time J2: Lumped parts model whether a control was started with a complete / incomplete assembly, and is sufficient to satisfy this project’s objectives. Misc. A1: There is a negligible machine downtime J1: The production cycle time for a control, as well as the frequency of orders, along with infrequent machine problems make machine down time negligible. A2: Kit assembly time, Inspection time, and Final Process can be modeled by a normal DF. J2: Historical data and hypothesis tests support the above statements. Other assumptions include travel times between locations, and DFs for Inspection, Kit Assembly, etc. These assumptions are not key to achieving project objectives. Where ever possible, data has been used to substantiate the assumptions. Decision / Input Variables The following decision / input variables are of interest to this project’s objectives. All variables may be adjusted through the “Model Parameters / Run-time Interface,” under Simulation. Special note: When changing parameters through the Model Parameters section, the simulation must be run from this menu! D1: Schedule offset This is the total amount of time available to produce a control, up until the customer request date. It is the time / date work begins on the control. If the offset is too small, it’s likely that the customer request date will be missed. If the offset is too large, the control sits around until it’s ready to ship, impacting inventory costs. The optimum setting is to produce controls as close to the customer request target as possible. D2: Inventory level The amount of spare capacity kit parts is measured by the inventory level. Because in actuality supplier parts are often delayed beyond their expected shipment date, an inventory with excess controls will be able to absorb periods where parts are delayed, hence minimizing assembly wait time. However, extra parts is accompanied by extra cost (holding cost). D3: Part Delay Probability This is the probability that a part needed for assembly will not be available when needed. This is a decision variable, because management can decide when to order spare parts. Parts ordered sooner than needed or earlier than the current “just in time” (which isn’t working) would also decrease the probability that a part would not be available when needed. Two other variables, though not under direct control are: Failure Rate: The probability of a control failing at test. For each control that’s just been assembled, is a probability associated with it failing testing. This variable is included for the purposes of quantitatively illustrating the benefits of producing higher quality (i.e. fewer test failures) controls. Order Rate: This variable is not under direct control (although sales may influence the number) and is included to create various scenarios, to see how the system behaves under different order contions. VERIFICATION Verification was achieved primarily through the following means Observing that values for key metrics were within expected range Observing the model animation Tracing of model logic Output Values with Expected Range The following array values (i.e. performance metrics) are generated each time the model is run. They are stored in the Output section, and the name of the file is OUTPUT.XLS. The columns represent output variables (various times), while the rows represent unique controls going through the control. Variable Name (Column) Variable Description T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17 T18 Order in Time (abs.) Customer Request Time (abs.) Scheduled Control Build Time (abs.) Scheduled Part Delay (rel.) Kit Assembly Time (rel.) Assembly Time, w/o Rework (rel.) Inspection Time (rel.) Test Time, w/o Rework (rel.) Test Output Queue Time (rel.) Final Process (FP) Time (rel.) Rework Assembly Time (rel.) Rework Test Time (rel.) Deviation from Customer Request Target (rel.) Total Production Time (Kit FP) (rel.) Part Delay, Actual (rel.) Time After Final Process (abs.) Input to Kit Assembly Time (abs.) Time out of System (abs.) Each of the above variables, for a wide variety of initial conditions was verified against an expected range of values. The expected range values were derived from the model component CDFs. Ex. For a test time normally distributed, N(10,1), I know that 99.7% of the values will lie between +/- 3 standard deviations, or (7,13). If I receive many values outside of this range, I know a problem exists with the system. As the complexity of the system grows and the number of component interactions increases, the above table proved extremely useful for debugging each section of the model. This also turned out to be an excellent validation tool, comparing the variable results to historical values. Note: The times for the above 18 variables are either in absolute (abs.) simulation time, or relative (rel.) simulation time. Observing Model Animation This was useful to determine visually if the model flow was behaving as I had intended. For almost all components, there exists a DISPLAY command, which displays the control (and it’s identifying #) when the control reaches a particular station. Ex. //Display "Assy Q " $ HMU Assy Q is the location name, and HMU is the number of the control passing through that logic, at that moment. The display lines have currently been commented out, but can easily be uncommented out, to facilitate visual tracking. Model Tracing The last primary means I used to verify my model, was to use the step trace function, and trace through the model step by step. I was able to detect individual lines of code operating incorrectly through this function, and correct them. VALIDATION The development of my model consisted of modeling the most crucial elements (most strongly related to the objectives) first, comparing the output results with historical data (validation), and then adding more detail and complexity, gradually incorporating more “reality” in the model. Each step along the way, I performed hypothesis tests on the key output measures against historical measures. Most were statistically equivalent. In my final model, I heavily relied on the above table of 18 performance metrics, whose values were tested for statistical equivalence to historical values. It should be noted that the historical parameters were obtained from data using the statistical methods outlined in the INPUT section of this report, and they, therefore are estimates themselves. Lastly, throughout the development of my model, I also consulted with the operators and technicians closest to the process, to ensure that my interpretation of reality was valid or reasonable. Note: See also appendix for sample calculations and test cases, 1-4. Test Cases – Input Parameter Schedule Mean Order Time 80 80 80 80 Schedule Offset 7 7 21 7 Initial Inv. Level 5 5 0 0 Failure Probability Delay Probability 0 1 .25 .25 0 1 .65 .65 Experimental Design & Production Runs The objectives of this simulation project, and results were: OBJ1: Establish a statistically significant correlation between part shortages and assembly time, test time, final process time, probability of test failure. Result: As detailed in the appendix, the results of comprehensive input data analysis and hypothesis testing showed a correlation to kits complete / not complete only for Total Assembly Time. This was incorporated in the model. OBJ2: Quantify the reduction in assembly and test time if all parts were available. Result: Case Parts Available Parts Missing Mean (hrs) 68.34 113.2 Standard Deviation (hrs) 3.45 14.4 P-Value .0000 For a .95 confidence hypothesis test the two means are equal, Ho is overwhelmingly rejected. Therefore, the model predicts a substantial difference in assembly time between controls with complete / incomplete kits! OBJ3: Quantify the probability of meeting on time-delivery, if all parts were available (i.e. reduced variance) Result: For the sample with parts available without delay, on average the controls are ready 74 hours before the customer requests them. For the sample with controls initially missing parts, controls are on average 26 hours over due from the time the customer wants them (this is in good agreement with actual data). A number other is zero is undesirable – overdue cause poor customer relations, under-due causes excessive inventory costs. While the data is not normal and a hypothesis test cannot be performed, the data clearly shows that controls consistently are produced ahead of schedule when parts are available, and consistently behind schedule when they are not readily available. OBJ4: Quantify the reduction in production time assuming no controls are rejected at test (100% yield) Result: See OBJ2 The next and final stage of validation and experimental design to change the current system, and observe how well the model predicts the results. APPENDIX INPUT DATA HYPOTHESIS TEST SUMMARY Assumed DF Mean Mean (MP*) P-value CF Reject Ho Assy Normal 14.272 16.441 0.0034 (-3.42, -.57) Yes Cover Normal 2.084 1.897 0.85 (-.26, .85) No Assy+Cover Normal 16.158 17.833 0.012 (-3.12, -.23) Yes Test Normal 12.76 12.79 0.930 (-.70, .64) No FP Normal 2.558 2.441 0.67 (-.41, .64) No SD SD (MP*) CF Reject Ho 2.900 3.120 (.71, 1.447) No 1.184 0.999 (.701,1.47) No 2.889 3.003 1.42 1.24 0.815 1.157 No No Assumed DF Mean Mean (MP*) Rework Hrs/unit Exponential 12.36 13.92 Part Delays Exponential N/A 25.7142857 *Note: Ho: 1 = 2 Ha: 1 2 Sample Minitab Input Data Analysis Run Chart for Assy Time (Ops 10-90) 20 C1 15 10 2 12 22 32 42 Observation Number of runs about median: Expected number of runs: Longest run about median: Approx P-Value for Clustering: Approx P-Value for Mixtures: 18.0000 22.0000 5.0000 0.1057 0.8943 Number of runs up or down: Expected number of runs: Longest run up or down: Approx P-Value for Trends: Approx P-Value for Oscillation: 24.0000 27.6667 5.0000 0.0851 0.9149 Test Failures 0.51 0.56 0.363 (-.285, .199) No Probability Plot for Normality, Assy Time (Ops 10-90) 99 ML Estimates 95 Mean: 14.4473 StDev: 2.66945 90 70 60 50 40 30 20 10 5 1 10 15 20 Data Run Chart for Assy Time (Ops 10-90) - Missing Parts 26 21 C7 Percent 80 16 11 5 15 25 Observation Number of runs about median: Expected number of runs: Longest run about median: Approx P-Value for Clustering: Approx P-Value for Mixtures: 20.0000 14.4815 3.0000 0.9850 0.0150 Number of runs up or down: Expected number of runs: Longest run up or down: Approx P-Value for Trends: Approx P-Value for Oscillation: 19.0000 17.6667 3.0000 0.7357 0.2643 CASE1 Report General Report Output from C:\ProMod4\models\Mike_MSA_Project10.MOD [MSA_Project_2] Date: Dec/21/1999 Time: 05:56:13 AM -------------------------------------------------------------------------------Scenario : Model Parameters Replication : 1 of 1 Simulation Time : 8760 hr -------------------------------------------------------------------------------LOCATIONS Location Scheduled Current Name Hours Contents % Util --------- ---------- -----Order Q 8760 2 0.00 Kit Assy 8760 0 4.78 Assy Q 8760 0 0.00 Inventory 8760 5 0.00 AB1 8760 0 6.95 AB2 8760 0 5.29 AB3 8760 0 6.90 Insp 8760 0 0.00 TQ In 8760 0 0.00 TRig1 8760 0 7.30 TRig2 8760 1 8.17 TQ Out 8760 0 0.00 FP 8760 0 1.48 Output Q 8760 0 0.00 Total Average Hours Average Maximum Capacity Entries Per Entry Contents Contents -------- ------- ---------- --------- -------- 999999 106 196.349132 2.37591 8 1 104 4.026721 0.0478058 1 999999 104 2.097740 0.0249047 1 999999 109 413.515514 5.14534 8 1 38 16.029763 0.0695355 1 1 28 16.539571 0.0528662 1 1 38 15.906816 0.0690022 1 999999 104 1.214096 0.0144139 2 999999 104 2.094596 0.0248674 2 1 48 13.327688 0.0730284 1 1 56 12.785786 0.0817356 1 999999 103 1.207825 0.0142016 1 2 103 2.516660 0.0295909 2 999999 103 78.805311 0.926592 4 LOCATION STATES BY PERCENTAGE (Multiple Capacity) Location Name --------Order Q Assy Q Inventory Scheduled Hours --------8760 8760 8760 % Empty ----7.51 97.51 0.00 % Partially Occupied --------92.49 2.49 100.00 % Full ---0.00 0.00 0.00 | | | | | | | % Down ---0.00 0.00 0.00 ------ Insp TQ In TQ Out FP Output Q 8760 8760 8760 8760 8760 98.56 97.52 98.58 97.05 37.41 1.44 2.48 1.42 2.94 62.59 0.00 0.00 0.00 0.01 0.00 | | | | | 0.00 0.00 0.00 0.00 0.00 LOCATION STATES BY PERCENTAGE (Single Capacity/Tanks) Location Name -------Kit Assy AB1 AB2 AB3 TRig1 TRig2 Scheduled Hours --------8760 8760 8760 8760 8760 8760 % Operation --------4.78 5.85 4.44 5.80 6.89 7.76 % Setup ----0.00 0.00 0.00 0.00 0.00 0.00 % Idle ----95.22 93.05 94.71 93.10 92.70 91.83 % Waiting ------0.00 1.10 0.85 1.10 0.41 0.41 % Blocked ------0.00 0.00 0.00 0.00 0.00 0.00 % Down ---0.00 0.00 0.00 0.00 0.00 0.00 RESOURCES Resource Name Util -----------Op1 8.66 Op2 6.52 Op3 8.60 TOp1 10.42 TOp2 11.82 Average Hours Per Usage Average Hours Travel To Use Average Hours Travel To Park % Blocked In Travel % - Units Scheduled Hours Number Of Times Used ----- --------- -------- -------- -------- -------- --------- 1 8577.5 114 5.830096 0.684211 0.065371 0.00 1 8577.5 84 5.962595 0.690476 0.048128 0.00 1 8577.5 114 5.789114 0.684211 0.065371 0.00 1 8577.5 144 5.524160 0.680556 0.082312 0.00 1 8577.5 167 5.401222 0.670659 0.095652 0.00 RESOURCE STATES BY PERCENTAGE Resource Name -------Op1 Op2 Op3 TOp1 TOp2 Scheduled Hours --------8577.5 8577.5 8577.5 8577.5 8577.5 % In Use -----7.75 5.84 7.69 9.27 10.52 % Travel To Use -----0.91 0.68 0.91 1.14 1.31 FAILED ARRIVALS Entity Name ------------Kit Parts Control Order Location Name --------Inventory Order Q Total Failed -----0 0 % Travel To Park ------0.86 0.63 0.86 1.10 1.28 % Idle ----88.35 90.73 88.41 86.36 84.77 % Down ---2.13 2.13 2.13 2.13 2.13 ENTITY ACTIVITY Average Average Average Average Current Hours Hours Hours Hours Total Exits Quantity In System In System In Move Logic Wait For Res, etc. In Operation ----- --------- ---------- --------- --------- ---------- 103 1 347.143184 35.254728 2.167476 309.554874 0 0 - - - - 104 5 417.020750 2.000000 0.000000 0.000000 0 2 - - - - Average Hours Entity Name Blocked ----------------------JFC160 1 0.166107 Kit Parts Base Kit Parts 415.020750 Control Order - ENTITY STATES BY PERCENTAGE Entity Name -------------JFC160 1 Kit Parts Base Kit Parts Control Order % In Move Logic ------10.16 0.48 - % Wait For Res, etc. --------0.62 0.00 - % In Operation -----------89.17 0.00 - % Blocked ------0.05 99.52 - VARIABLES Variable Name ----------------RW cnt Move Time Part Delay1 Part Delay2 Part Delay3 AssyTime1 AssyTime2 AssyTime3 RW Hrs HMU cnt Order Mean Schedule Offset Inventory Initial Failure Prob Delay Prob --Case 2 Report Total Changes ------1 1 38 28 38 38 28 38 0 107 1 1 1 1 1 Average Hours Per Change ---------0.000000 0.000000 229.480263 306.986321 224.176316 229.891184 307.467857 224.591158 0.000000 81.552075 0.000000 0.000000 0.000000 0.000000 0.000000 Minimum Value ------0 0 0 0 0 0 0 0 0 0 80 7 0 0 0 Maximum Value ------0 2 2 2 2 17.6955 20.6455 19.737 0 106 80 14 5 0.25 0.6 Current Value ------0 2 2 2 2 15.6147 13.4831 15.764 0 106 80 7 5 0 0 Average Value ------0 2 1.9358 1.80319 1.96852 12.9628 12.5581 13.1483 0 57.9424 80 7 5 0 0 -------------------------------------------------------------------------------General Report Output from C:\ProMod4\models\Mike_MSA_Project10.MOD [MSA_Project_2] Date: Dec/21/1999 Time: 05:59:00 AM -------------------------------------------------------------------------------Scenario : Model Parameters Replication : 1 of 1 Simulation Time : 8760 hr -------------------------------------------------------------------------------LOCATIONS Location Scheduled Current Name Hours Contents % Util --------- ---------- -----Order Q 8760 3 0.00 Kit Assy 8760 0 4.38 Assy Q 8760 0 0.00 Inventory 8760 5 0.00 AB1 8760 0 17.00 AB2 8760 0 6.06 AB3 8760 0 5.99 Insp 8760 0 0.00 TQ In 8760 0 0.00 TRig1 8760 0 7.72 TRig2 8760 0 9.38 TQ Out 8760 0 0.00 FP 8760 0 1.35 Output Q 8760 0 0.00 Total Average Hours Average Maximum Capacity Entries Per Entry Contents Contents -------- ------- ---------- --------- -------- 999999 98 251.155918 2.80974 10 1 95 4.034453 0.0437526 1 999999 95 2.113821 0.0229239 1 999999 100 449.920250 5.13608 8 1 124 12.009516 0.169998 1 1 32 16.584844 0.0605839 1 1 33 15.913697 0.0599489 1 999999 189 1.217471 0.0262674 2 999999 189 2.225704 0.0480203 2 1 84 8.045702 0.0771506 1 1 104 7.903308 0.0938292 1 999999 188 3.396569 0.0728944 3 2 94 2.514755 0.0269848 2 999999 94 14.921085 0.160112 3 LOCATION STATES BY PERCENTAGE (Multiple Capacity) Location Name --------Order Q Assy Q Inventory Insp TQ In Scheduled Hours --------8760 8760 8760 8760 8760 % Empty ----7.86 97.71 0.00 97.40 95.38 % Partially Occupied --------92.14 2.29 100.00 2.60 4.62 % Full ---0.00 0.00 0.00 0.00 0.00 | | | | | | | | | % Down ---0.00 0.00 0.00 0.00 0.00 ------ TQ Out FP Output Q 8760 8760 8760 93.21 97.30 84.97 6.79 2.69 15.03 0.00 | 0.00 0.00 | 0.00 0.00 | 0.00 LOCATION STATES BY PERCENTAGE (Single Capacity/Tanks) Location Name -------Kit Assy AB1 AB2 AB3 TRig1 TRig2 Scheduled Hours --------8760 8760 8760 8760 8760 8760 % Operation --------4.38 15.66 5.09 5.05 7.18 8.83 % Setup ----0.00 0.00 0.00 0.00 0.00 0.00 % Idle ----95.62 83.00 93.94 94.01 92.28 90.62 % Waiting ------0.00 1.34 0.97 0.94 0.54 0.55 % Blocked ------0.00 0.00 0.00 0.00 0.00 0.00 % Down ---0.00 0.00 0.00 0.00 0.00 0.00 RESOURCES Resource Name Util -----------Op1 20.31 Op2 7.46 Op3 7.49 TOp1 13.28 TOp2 16.42 Average Hours Per Usage Average Hours Travel To Use Average Hours Travel To Park % Blocked In Travel % - Units Scheduled Hours Number Of Times Used ----- --------- -------- -------- -------- -------- --------- 1 8577.5 278 6.043932 0.223022 0.201970 0.00 1 8577.5 96 5.976198 0.687500 0.055062 0.00 1 8577.5 99 5.800990 0.686869 0.056788 0.00 1 8577.5 292 3.304243 0.595890 0.137755 0.00 1 8577.5 367 3.244450 0.594005 0.167364 0.00 RESOURCE STATES BY PERCENTAGE Resource Name -------Op1 Op2 Op3 TOp1 TOp2 Scheduled Hours --------8577.5 8577.5 8577.5 8577.5 8577.5 % In Use -----19.59 6.69 6.70 11.25 13.88 % Travel To Use -----0.72 0.77 0.79 2.03 2.54 FAILED ARRIVALS Entity Name ------------Kit Parts Control Order Location Name --------Inventory Order Q Total Failed -----0 0 % Travel To Park ------2.87 0.72 0.75 1.89 2.33 % Idle ----74.69 89.69 89.64 82.71 79.12 % Down ---2.13 2.13 2.13 2.13 2.13 ENTITY ACTIVITY Average Average Average Average Current Hours Hours Hours Hours Total Exits Quantity In System In System In Move Logic Wait For Res, etc. In Operation ----- --------- ---------- --------- --------- ---------- 94 1 386.759574 59.996468 2.492777 319.418309 0 0 - - - - 95 5 465.027621 2.000000 0.000000 0.000000 0 3 - - - - Average Hours Entity Name Blocked ----------------------JFC160 1 4.852021 Kit Parts Base Kit Parts 463.027621 Control Order - ENTITY STATES BY PERCENTAGE Entity Name -------------JFC160 1 Kit Parts Base Kit Parts Control Order % In Move Logic ------15.51 0.43 - % Wait For Res, etc. --------0.64 0.00 - % In Operation -----------82.59 0.00 - % Blocked ------1.25 99.57 - VARIABLES Variable Name ----------------RW cnt Move Time Part Delay1 Part Delay2 Part Delay3 AssyTime1 AssyTime2 AssyTime3 RW Hrs HMU cnt Order Mean Schedule Offset Inventory Initial Failure Prob Delay Prob Case 3 Report Total Changes ------95 1 30 32 33 30 32 33 188 99 1 1 1 1 1 Average Hours Per Change ---------91.751032 0.000000 288.804633 265.384531 264.654848 289.247733 265.826062 264.989606 46.502069 88.362192 0.000000 0.000000 0.000000 0.000000 0.000000 Minimum Value ------0 0 0 0 0 0 0 0 0 0 80 7 0 0.25 0.6 Maximum Value ------94 2 2 2 2 19.4907 20.6455 19.737 1651.71 98 80 14 5 1 1 Current Value ------94 2 2 2 2 13.2932 14.129 11.0475 1651.71 98 80 7 5 1 1 Average Value ------53.5136 2 1.92089 1.94361 1.74392 14.1368 12.9824 11.1285 936.625 57.16 80 7 5 1 1 -------------------------------------------------------------------------------General Report Output from C:\ProMod4\models\Mike_MSA_Project10.MOD [MSA_Project_2] Date: Dec/21/1999 Time: 06:02:45 AM -------------------------------------------------------------------------------Scenario : Model Parameters Replication : 1 of 1 Simulation Time : 8760 hr -------------------------------------------------------------------------------LOCATIONS Location Scheduled Current Name Hours Contents % Util --------- ---------- -----Order Q 8760 3 0.00 Kit Assy 8760 0 5.48 Assy Q 8760 0 0.00 Inventory 8760 7 0.00 AB1 8760 0 10.60 AB2 8760 0 6.22 AB3 8760 0 8.76 Insp 8760 0 0.00 TQ In 8760 0 0.00 TRig1 8760 0 10.15 TRig2 8760 0 8.92 TQ Out 8760 0 0.00 FP 8760 0 1.70 Output Q 8760 1 0.00 Total Average Hours Average Maximum Capacity Entries Per Entry Contents Contents -------- ------- ---------- --------- -------- 999999 123 225.452301 3.1656 9 1 119 4.033353 0.054791 1 999999 118 2.206339 0.0297201 1 999999 125 362.538976 5.17322 9 1 68 13.655985 0.106005 1 1 33 16.501909 0.0621647 1 1 47 16.318596 0.0875541 1 999999 148 1.215007 0.0205275 2 999999 148 2.521770 0.0426053 2 1 77 11.548779 0.101513 1 1 71 11.007310 0.0892145 1 999999 148 1.545311 0.026108 2 2 118 2.521966 0.0339717 2 999999 118 44.959305 0.605616 5 LOCATION STATES BY PERCENTAGE (Multiple Capacity) Location Name --------Order Q Assy Q Inventory Insp TQ In TQ Out FP Output Q Scheduled Hours --------8760 8760 8760 8760 8760 8760 8760 8760 % Empty ----5.94 97.03 0.00 97.95 95.77 97.42 96.65 54.95 % Partially Occupied --------94.06 2.97 100.00 2.05 4.23 2.58 3.30 45.05 % Full ---0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.00 | | | | | | | | | | | | % Down ---0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 ------ LOCATION STATES BY PERCENTAGE (Single Capacity/Tanks) Location Name -------Kit Assy AB1 AB2 AB3 TRig1 TRig2 Scheduled Hours --------8760 8760 8760 8760 8760 8760 % Operation --------5.48 9.35 5.27 7.32 9.63 8.39 % Setup ----0.00 0.00 0.00 0.00 0.00 0.00 % Idle ----94.52 89.40 93.78 91.24 89.85 91.08 % Waiting ------0.00 1.25 0.95 1.44 0.52 0.53 % Blocked ------0.00 0.00 0.00 0.00 0.00 0.00 % Down ---0.00 0.00 0.00 0.00 0.00 0.00 RESOURCES Resource Name Util -----------Op1 12.95 Op2 7.69 Op3 10.81 TOp1 15.39 TOp2 13.61 Average Hours Per Usage Average Hours Travel To Use Average Hours Travel To Park % Blocked In Travel % - Units Scheduled Hours Number Of Times Used ----- --------- -------- -------- -------- -------- --------- 1 8577.5 174 5.924753 0.459770 0.113695 0.00 1 8577.5 99 5.998111 0.666667 0.058511 0.00 1 8577.5 141 5.883674 0.695035 0.078947 0.00 1 8577.5 244 4.720311 0.688525 0.120172 0.00 1 8577.5 230 4.431604 0.643478 0.116939 0.00 RESOURCE STATES BY PERCENTAGE Resource Name -------Op1 Op2 Op3 TOp1 TOp2 Scheduled Hours --------8577.5 8577.5 8577.5 8577.5 8577.5 % In Use -----12.02 6.92 9.67 13.43 11.88 % Travel To Use -----0.93 0.77 1.14 1.96 1.73 FAILED ARRIVALS Entity Name ------------Kit Parts Control Order ENTITY ACTIVITY Location Name --------Inventory Order Q Total Failed -----0 0 % Travel To Park ------1.54 0.77 1.05 1.63 1.59 % Idle ----83.38 89.41 86.01 80.85 82.68 % Down ---2.13 2.13 2.13 2.13 2.13 Average Average Average Average Current Hours Hours Hours Hours Total Exits Quantity In System In System In Move Logic Wait For Res, etc. In Operation ----- --------- ---------- --------- --------- ---------- 117 1 359.327812 41.840872 2.276291 313.861274 0 1 - - - - 118 7 377.106585 2.000000 0.000000 0.000000 0 4 - - - - Average Hours Entity Name Blocked ----------------------JFC160 1 1.349376 Kit Parts Base Kit Parts 375.106585 Control Order - ENTITY STATES BY PERCENTAGE Entity Name -------------JFC160 1 Kit Parts Base Kit Parts Control Order % In Move Logic ------11.64 0.53 - % Wait For Res, etc. --------0.63 0.00 - % In Operation -----------87.35 0.00 - % Blocked ------0.38 99.47 - VARIABLES Variable Name ----------------RW cnt Move Time Part Delay1 Part Delay2 Part Delay3 AssyTime1 AssyTime2 AssyTime3 RW Hrs HMU cnt Order Mean Schedule Offset Inventory Initial Failure Prob Delay Prob Case 4 – Report Total Changes ------31 1 38 33 47 38 33 47 60 124 1 1 1 1 1 Average Hours Per Change ---------262.888419 0.000000 228.398816 253.263606 181.682723 228.911737 253.751424 182.122468 136.293633 70.641419 0.000000 0.000000 0.000000 0.000000 0.000000 Minimum Value ------0 0 0 0 0 0 0 0 0 0 80 7 0 0.25 0.6 Maximum Value ------30 2 2 2 2 19.4907 20.6455 20.6684 495.103 123 80 14 5 0.25 0.6 Current Value ------30 2 2 2 2 19.4907 16.0977 20.6684 495.103 123 80 7 5 0.25 0.6 Average Value ------14.92 2 1.94231 1.94361 1.92086 13.6995 13.7407 12.4394 233.847 62.1273 80 7 5 0.25 0.6 -------------------------------------------------------------------------------General Report Output from C:\ProMod4\models\Mike_MSA_Project10.MOD [MSA_Project_2] Date: Dec/21/1999 Time: 06:05:50 AM -------------------------------------------------------------------------------- Scenario : Model Parameters Replication : 1 of 1 Simulation Time : 8760 hr -------------------------------------------------------------------------------LOCATIONS Location Scheduled Current Name Hours Contents % Util --------- ---------- -----Order Q 8760 3 0.00 Kit Assy 8760 0 5.48 Assy Q 8760 0 0.00 Inventory 8760 2 0.00 AB1 8760 0 10.60 AB2 8760 0 6.22 AB3 8760 0 8.76 Insp 8760 0 0.00 TQ In 8760 0 0.00 TRig1 8760 0 10.15 TRig2 8760 0 8.92 TQ Out 8760 0 0.00 FP 8760 0 1.70 Output Q 8760 1 0.00 Total Average Hours Average Maximum Capacity Entries Per Entry Contents Contents -------- ------- ---------- --------- -------- 999999 123 225.452301 3.1656 9 1 119 4.033353 0.054791 1 999999 118 2.206339 0.0297201 1 999999 120 12.644767 0.173216 4 1 68 13.655985 0.106005 1 1 33 16.501909 0.0621647 1 1 47 16.318596 0.0875541 1 999999 148 1.215007 0.0205275 2 999999 148 2.521770 0.0426053 2 1 77 11.548779 0.101513 1 1 71 11.007310 0.0892145 1 999999 148 1.545311 0.026108 2 2 118 2.521966 0.0339717 2 999999 118 44.959305 0.605616 5 LOCATION STATES BY PERCENTAGE (Multiple Capacity) Location Name --------Order Q Assy Q Inventory Insp TQ In TQ Out FP Output Q Scheduled Hours --------8760 8760 8760 8760 8760 8760 8760 8760 % Empty ----5.94 97.03 84.64 97.95 95.77 97.42 96.65 54.95 % Partially Occupied --------94.06 2.97 15.36 2.05 4.23 2.58 3.30 45.05 % Full ---0.00 0.00 0.00 0.00 0.00 0.00 0.05 0.00 | | | | | | | | | | | | % Down ---0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 ------ LOCATION STATES BY PERCENTAGE (Single Capacity/Tanks) Location Name -------Kit Assy AB1 AB2 AB3 TRig1 TRig2 Scheduled Hours --------8760 8760 8760 8760 8760 8760 % Operation --------5.48 9.35 5.27 7.32 9.63 8.39 % Setup ----0.00 0.00 0.00 0.00 0.00 0.00 % Idle ----94.52 89.40 93.78 91.24 89.85 91.08 % Waiting ------0.00 1.25 0.95 1.44 0.52 0.53 % Blocked ------0.00 0.00 0.00 0.00 0.00 0.00 % Down ---0.00 0.00 0.00 0.00 0.00 0.00 RESOURCES Resource Name Util -----------Op1 12.95 Op2 7.69 Op3 10.81 TOp1 15.39 TOp2 13.61 Average Hours Per Usage Average Hours Travel To Use Average Hours Travel To Park % Blocked In Travel % - Units Scheduled Hours Number Of Times Used ----- --------- -------- -------- -------- -------- --------- 1 8577.5 174 5.924753 0.459770 0.113695 0.00 1 8577.5 99 5.998111 0.666667 0.058511 0.00 1 8577.5 141 5.883674 0.695035 0.078947 0.00 1 8577.5 244 4.720311 0.688525 0.120172 0.00 1 8577.5 230 4.431604 0.643478 0.116939 0.00 RESOURCE STATES BY PERCENTAGE Resource Name -------Op1 Op2 Op3 TOp1 TOp2 Scheduled Hours --------8577.5 8577.5 8577.5 8577.5 8577.5 % In Use -----12.02 6.92 9.67 13.43 11.88 % Travel To Use -----0.93 0.77 1.14 1.96 1.73 % Travel To Park ------1.54 0.77 1.05 1.63 1.59 % Idle ----83.38 89.41 86.01 80.85 82.68 % Down ---2.13 2.13 2.13 2.13 2.13 FAILED ARRIVALS Entity Name ------------Kit Parts Control Order Location Name --------Inventory Order Q Total Failed -----0 0 ENTITY ACTIVITY Average Average Average Average Average Hours Entity Name Blocked ---------------------JFC160 1 1.349376 Kit Parts Base Kit Parts 12.790881 Control Order - Current Hours Hours Hours Hours Total Exits Quantity In System In System In Move Logic Wait For Res, etc. In Operation ----- --------- ---------- --------- --------- ---------- 117 1 359.327812 41.840872 2.276291 313.861274 0 1 - - - - 118 2 14.790881 2.000000 0.000000 0.000000 0 4 - - - - ENTITY STATES BY PERCENTAGE Entity Name -------------JFC160 1 Kit Parts Base Kit Parts Control Order % In Move Logic ------11.64 13.52 - % Wait For Res, etc. --------0.63 0.00 - % In Operation -----------87.35 0.00 - % Blocked ------0.38 86.48 - VARIABLES Variable Name ----------------RW cnt Move Time Part Delay1 Part Delay2 Part Delay3 AssyTime1 AssyTime2 AssyTime3 RW Hrs HMU cnt Order Mean Schedule Offset Inventory Initial Failure Prob Delay Prob Program Text File Total Changes ------31 1 38 33 47 38 33 47 60 124 1 1 1 1 1 Average Hours Per Change ---------262.888419 0.000000 228.398816 253.263606 181.682723 228.911737 253.751424 182.122468 136.293633 70.641419 0.000000 0.000000 0.000000 0.000000 0.000000 Minimum Value ------0 0 0 0 0 0 0 0 0 0 80 7 0 0.25 0.6 Maximum Value ------30 2 2 2 2 19.4907 20.6455 20.6684 495.103 123 80 14 0 0.25 0.6 Current Value ------30 2 2 2 2 19.4907 16.0977 20.6684 495.103 123 80 7 0 0.25 0.6 Average Value ------14.92 2 1.94231 1.94361 1.92086 13.6995 13.7407 12.4394 233.847 62.1273 80 7 0 0.25 0.6 ******************************************************************************** * * * Formatted Listing of Model: * * A:\Mike_MSA_Project10.MOD * * * ******************************************************************************** Time Units: Distance Units: Initialization Logic: Hours Feet RW_cnt = 0 Move_Time = 2 HMU_cnt = 0 Order_Mean = Order_Mac Schedule_Offset = Schedule_Mac Inventory_Initial = Inven_Mac Failure_Prob = Failure_Mac Delay_Prob = Delay_Mac ******************************************************************************** * Locations * ******************************************************************************** Name ---------Order_Q Kit_Assy Assy_Q Inventory AB1 AB2 AB3 Insp TQ_In TRig1 TRig2 TQ_Out FP Output_Q Cap -------INFINITE 1 INFINITE INFINITE 1 1 1 Infinite INFINITE 1 1 INFINITE 2 INFINITE Units ----1 1 1 1 1 1 1 1 1 1 1 1 1 1 Stats ----------Time Series Time Series Time Series Time Series Time Series Time Series Time Series Time Series Time Series Time Series Time Series Time Series Time Series Time Series Rules Cost ---------- -----------Oldest, , Oldest, , Oldest, , Oldest, , Oldest, , Oldest, , Oldest, , Oldest, , Oldest, , Oldest, , Oldest, , Oldest, , Oldest, , Oldest, , ******************************************************************************** * Entities * ******************************************************************************** Name -------------JFC160_1 Kit_Parts_Base Kit_Parts Control_Order Speed (fpm) -----------150 150 150 150 Stats Cost ----------- -----------Time Series Time Series Time Series Time Series ******************************************************************************** * Path Networks * ******************************************************************************** Name Type T/S From Factor -------- ----------- ---------------- -------------Net1 Passing Time N1 N2 Net2 Passing Time N1 To BI Dist/Time Speed -------- ---- ----------- ----N2 N3 N2 Bi Bi Bi Move_Time Move_Time Move_Time Net3 Passing Time Net4 Net5 Passing Passing Time Time Net6 Passing Time Net7 Net8 Net9 Net10 Passing Passing Passing Passing Time Time Time Time N2 N1 N2 N1 N1 N2 N1 N2 N1 N1 N1 N1 N3 N2 N3 N2 N2 N3 N2 N3 N2 N2 N2 N2 Bi Bi Bi Bi Bi Bi Bi Bi Bi Bi Bi Bi Move_Time Move_Time Move_Time 4*Move_Time Move_Time Move_Time Move_Time Move_Time 4*Move_Time 4*Move_Time 4*Move_Time 4*Move_Time ******************************************************************************** * Interfaces * ******************************************************************************** Net Node ---------- ---------Net1 N1 N2 N3 Net2 N1 N2 N3 Net3 N1 N2 N3 Net4 N1 N2 Net5 N1 N2 N3 Net6 N1 N2 N3 Net7 N1 N2 Net8 N1 N2 Net9 N2 N1 Net10 N2 N1 Location ---------Assy_Q AB1 Insp Assy_Q AB2 Insp Assy_Q AB3 Insp Insp TQ_In TQ_In TRig1 TQ_Out TQ_In TRig2 TQ_Out TQ_Out FP TQ_Out AB1 AB2 TQ_Out AB3 TQ_Out ******************************************************************************** * Resources * ******************************************************************************** Res Ent Name Units Stats Search Search Path Motion Cost -------- ----- -------- ---------- ------ ---------- -------------- ----------Op1 1 By Unit Closest Oldest Net1 Home: N2 (Return) Empty: 150 fpm Full: 150 fpm Op2 1 By Unit Closest Oldest Net2 Home: N2 Empty: 150 fpm Full: 150 fpm (Return) Op3 1 By Unit Least Used Oldest Net3 Home: N2 (Return) Empty: 150 fpm Full: 150 fpm TOp1 1 By Unit Closest Oldest Net5 Home: N2 (Return) Empty: 150 fpm Full: 150 fpm TOp2 1 By Unit Closest Oldest Net6 Home: N2 (Return) Empty: 150 fpm Full: 150 fpm ******************************************************************************** * Clock downtimes for Resources * ******************************************************************************** Res Frequency Logic -------- --------------------Op1 24 hr Wait .5 24 hr Wait .25 24 hr Wait .25 Op2 24 hr Wait .5 24 hr Wait .25 24 hr Wait .25 Op3 24 hr Wait .5 24 hr Wait .25 24 hr Wait .25 TOp1 24 hr Wait .5 24 hr Wait .25 24 hr Wait .25 TOp2 24 hr Wait .5 24 hr Wait .25 24 hr Wait .25 First Time Priority Scheduled Node List Disable ---------- ---------- --------- -------- -------- ------4 hr 99 Yes All No 2 hr 99 No All No 6 99 No All No 4 99 Yes No 2 99 No No 6 99 No No 4 99 Yes No 2 99 No No 6 99 No No 4 99 Yes No 2 99 No No 6 99 No No 4 99 Yes No 2 99 No No 6 99 No No ******************************************************************************** * Processing * ******************************************************************************** Process Routing Entity Location Operation Rule Move Logic -------------- --------- -------------------------------- -----------Control_Order Order_Q //HMU Order # HMU = HMU_cnt //Display $HMU Blk Output Destination ---- -------------- ----------- - //"Order-in Time" //Absolute Time PT[HMU,1]=clock() //Customer Request Time, units in hrs //Absolute Time PT[HMU,2] = U(336,336,1) + PT[HMU,1] //Schedule to Assembly (2 weeks prior to delivery) PT[HMU,3] = PT[HMU,2] - Schedule_Offset*24 //Relative Time Wait PT[HMU,3] - Clock() FIRST 1 Control_Order //Order Kit Parts w/ Probabilistic Delay IF Rand(1)< Delay_Prob then Begin // Display "Hi" PT[HMU,4] = E(65.45,2) //Relative Time Wait PT[HMU,4] ORDER 1 Kit_Parts TO Inventory End ELSE Begin ORDER 1 Kit_Parts TO Inventory //Display "High" End 1 Control_Order Kit_Assy Move for Move_Time Kit_Assy //Display "Kit Assy " $HMU //Schedule Time (Time that total production time begins) PT[HMU,17]=clock() PT[HMU,5]=clock() Wait N(4,.25,3) //Kit Assy Time PT[HMU,5]=clock()-PT[HMU,5] 1 Kit_Parts_Base Assy_Q FIRST 1 Move for Move_Time Kit_Parts_Base Assy_Q //Display "Assy Q " $ HMU RANDOM 1 RANDOM /*IF Contents(Assy_Q) >= 2 then Order 1 Kit_Parts TO Inventory ELSE Wait 0*/ 1 Kit_Parts_Base AB1 Move with Op1 then free Kit_Parts_Base AB2 Move with Op2 then free Kit_Parts_Base AB3 RANDOM Kit_Parts JOIN 1 JOIN Move with Op3 then free Inventory //Display $[HMU, Move for Move_Time 1 Kit_Parts AB1 Kit_Parts AB2 Kit_Parts AB3 Move for Move_Time JOIN Move for Move_Time Kit_Parts_Base AB1 //Display "AB1" $ HMU Real Real Real Real Real T_Start=0 T_End=0 X1 = 0 X2 = 0 RW = 0 PT[HMU,6]=Clock() T_Start = Clock() //Display "Request Inventory - AB1" Join 1 Kit_Parts T_End = Clock() Part_Delay1 = T_End - T_Start PT[HMU,15]=T_End - T_Start X1=N(16.158,2.889,4) X2=N(17.833,3.003,4) IF Part_Delay1 < X1 Then Begin Use Op1 for (X1 - Part_Delay1) AssyTime1 = (X1 - Part_Delay1) End ELSE BEGIN IF Part_Delay1 < X2 Then Begin Use Op1 for (X2 - Part_Delay1) AssyTime1 = (X2 - Part_Delay1) End ELSE AssyTime1 = X2 END //Calculate Assy Time (no rework) PT[HMU,6]=Clock()-PT[HMU,6] 1 JFC160_1 FIRST 1 Move with Op1 then free Kit_Parts_Base AB2 //Display "AB2 " $ HMU Real Real Real Real Real T_Start=0 T_End=0 X1 = 0 X2 = 0 RW = 0 PT[HMU,6]=Clock() T_Start = Clock() //Display "Request Inventory - AB2" Join 1 Kit_Parts T_End = Clock() Insp Part_Delay2 = T_End - T_Start PT[HMU,15]=T_End - T_Start X1=N(16.158,2.889,5) X2=N(17.833,3.003,5) IF Part_Delay2 < X1 Then Begin Use Op2 for (X1 - Part_Delay2) AssyTime2 = (X1 - Part_Delay2) End ELSE BEGIN IF Part_Delay2 < X2 Then Begin Use Op2 for (X2 - Part_Delay2) AssyTime1 = (X2 - Part_Delay2) End ELSE AssyTime2 = X2 END //Calculate Assy Time (no rework) PT[HMU,6]=Clock()-PT[HMU,6] 1 JFC160_1 FIRST 1 Move with Op2 then free Kit_Parts_Base AB3 //Display "AB3 " $ HMU Real Real Real Real Real Insp T_Start=0 T_End=0 X1 = 0 X2 = 0 RW = 0 PT[HMU,6]=Clock() T_Start = Clock() //Display "Request Inventory - AB3" Join 1 Kit_Parts T_End = Clock() Part_Delay3 = T_End - T_Start PT[HMU,15]=T_End - T_Start X1=N(16.158,2.889,6) X2=N(17.833,3.003,6) IF Part_Delay3 < X1 Then Begin Use Op3 for (X1 - Part_Delay3) AssyTime3 = (X1 - Part_Delay3) End ELSE BEGIN IF Part_Delay3 < X2 Then Begin Use Op3 for (X2 - Part_Delay3) AssyTime3 = (X2 - Part_Delay3) End ELSE AssyTime3 = X2 END FIRST 1 JFC160_1 //Calculate Assy Time (no rework) PT[HMU,6]=Clock()-PT[HMU,6] 1 JFC160_1 Move with Op3 then free Insp //Display "Insp " $ HMU Insp PT[HMU,7]=clock() Wait N(1.25,.25,7) FIRST 1 JFC160_1 RANDOM 1 RANDOM JFC160_1 FIRST 1 JFC160_1 //Calc. Inspect. Time PT[HMU,7]=clock()-PT[HMU,7] 1 JFC160_1 Move on Net4 TQ_In //Display "TQ_in" $ HMU 1 JFC160_1 Move with TOp1 then free JFC160_1 Move with TOp2 then free TRig1 Real RW = 0 Real Temp1=0 Real Temp2=0 TQ_In TRig1 TRig2 IF F_Test = 1 THEN BEGIN //Display "T-rig 1 " $ HMU PT[HMU,8]=clock() Use TOp1 for N(1.5,.25,8) PT[HMU,8]=clock()-PT[HMU,8] PT[HMU,12]=clock() Use TOp1 for E(7.09,8) PT[HMU,12]=clock()-PT[HMU,12] Rework = 1 END ELSE BEGIN IF Rework = 1 THEN Begin //Display "T-rig 1, rework " $ HMU Temp1=clock() RW = N(7.5,1,8) Use TOp1 for RW Temp2=clock()-Temp1 PT[HMU,8]=PT[HMU,8]+Temp2 //PT[HMU,19]=Temp2 RW_Hrs = RW_Hrs + RW End ELSE Begin //Display "T-rig 1 " $ HMU PT[HMU,8]=clock() Use TOp1 for N(12.5,1.5,8) PT[HMU,8]=clock()-PT[HMU,8] End END 1 JFC160_1 TQ_Out Move with TOp1 then free TRig2 Real RW = 0 Real Temp1=0 Real Temp2=0 FIRST 1 JFC160_1 IF F_Test = 1 THEN BEGIN //Display "T-rig2 " $ HMU PT[HMU,8]=clock() Use TOp2 for N(1.5,.25,9) PT[HMU,8]=clock()-PT[HMU,8] PT[HMU,12]=clock() Use TOp2 for E(7.09,9) PT[HMU,12]=clock()-PT[HMU,12] Rework = 1 END ELSE BEGIN IF Rework = 1 THEN Begin //Display "T-rig2 Rework " $ HMU Temp1=clock() RW = N(7.5,1,9) Use TOp2 for RW Temp2=clock()-Temp1 PT[HMU,8]=PT[HMU,8]+Temp2 //PT[HMU,19]=Temp2 RW_Hrs = RW_Hrs + RW End ELSE Begin //Display "T-rig 2 " $ HMU PT[HMU,8]=clock() Use TOp2 for N(12.5,1.5,9) PT[HMU,8]=clock()-PT[HMU,8] End END 1 JFC160_1 TQ_Out Move with TOp2 then free TQ_Out //Display "TQ_out " $ HMU IF F_Test = 0, 1 Move on IF F_Test = 1 Move on IF F_Test = 1 Move on IF F_Test = 1 JFC160_1 Move on FP FIRST 1 Move for Move_Time Real temp1=0 Real temp2=0 temp1 = clock() Wait N(1.25,.25,10) temp2 = clock() PT[HMU,9]= PT[HMU,9]+(temp2-temp1) 1 JFC160_1 Net7 JFC160_1 Net8 JFC160_1 Net9 JFC160_1 Net10 //Display "FP " $HMU PT[HMU,10]=clock() Wait N(2.558,.815,11) PT[HMU,10]=clock()-PT[HMU,10] PT[HMU,16]=clock() 1 JFC160_1 PT[HMU,14]=PT[HMU,16]-PT[HMU,17] FP AB1 AB2 AB3 Output_Q JFC160_1 Output_Q //Display "Output Q " $ HMU PT[HMU,13]=PT[HMU,2]-clock() IF PT[HMU,13]>0 THEN Begin //Stay in Queue until cust. request time Wait PT[HMU,13] End ELSE Wait 0 1 FIRST 1 JFC160_1 EXIT //Time out of system PT[HMU,18]=Clock() JFC160_1 AB1 //Display "Rework AB1 " $ HMU Real RW = 0 RW = E(9.27,4) PT[HMU,11]=clock() Use Op1 for RW //Calc. rework assy time PT[HMU,11]=clock()-PT[HMU,11] //Rest F_Test RW_cnt RW_Hrs FIRST 1 JFC160_1 Failed test flag, incr cntrs = 0 = RW_cnt + 1 = RW_Hrs + RW 1 JFC160_1 Move with Op1 then free AB2 //Display "Rework AB2 " $ HMU Insp Real RW = 0 RW = E(9.27,5) PT[HMU,11]=clock() Use Op2 for RW //Calc. rework assy time PT[HMU,11]=clock()-PT[HMU,11] F_Test = 0 RW_cnt = RW_cnt + 1 RW_Hrs = RW_Hrs + RW FIRST 1 JFC160_1 1 JFC160_1 Move with Op2 then free AB3 //Display "Rework AB3 " $ HMU Real RW = 0 RW = E(9.27,6) Insp PT[HMU,11]=clock() Use Op3 for RW //Calc. rework assy time PT[HMU,11]=clock()-PT[HMU,11] F_Test = 0 RW_cnt = RW_cnt + 1 RW_Hrs = RW_Hrs + RW 1 FIRST 1 JFC160_1 Insp Move with Op3 then free ******************************************************************************** * Arrivals * ******************************************************************************** Entity Location Qty each First Time Occurrences Frequency Logic ------------- --------- ----------------- ---------- ----------- -----------------------Control_Order Order_Q 1 0 INFINITE E(Order_Mean) //Attributes F_Test = 0 Rework = 0 //HMU counter INC HMU_cnt /*If rand(1) <= -1 then P_Short = 1 Else P_Short = 0 */ If rand(1) < Failure_Prob then F_Test = 1 Else F_Test = 0 //Order/Control # Kit_Parts Inventory Inventory_Initial 0 1 1 ******************************************************************************** * Attributes * ******************************************************************************** ID ---------P_Short Rework F_Test HMU Type -----------Integer Integer Integer Integer Classification -------------Entity Entity Entity Entity ******************************************************************************** * Variables (global) * ******************************************************************************** ID Type Initial value Stats ----------------- ------------ ------------- ----------# #Counts # of controls getting rework RW_cnt Integer 0 # #Time to traverse a path Move_Time Real 0 # #Delay between order and complete kit, Op1 Part_Delay1 Real 0 # #Delay between order and rest of kit, Op2 Part_Delay2 Real 0 # #Delay between order and rest of kit Part_Delay3 Real 0 # #Running assy time for Op1 (records max) AssyTime1 Real 0 # #"Running" assy time for Op2 AssyTime2 Real 0 # #"Running" assy time for Op3 AssyTime3 Real 0 # #Total cumulative rework hours RW_Hrs Real 0 HMU_cnt Integer 0 Order_Mean Real 80 Schedule_Offset Real 14 Inventory_Initial Integer 0 Failure_Prob Real .25 Delay_Prob Real .60 Time Series Time Series Time Series Time Series Time Series Time Series Time Series Time Series Time Time Time Time Time Time Time Series Series Series Series Series Series Series ******************************************************************************** * Arrays * ******************************************************************************** ID Dimensions Type ---------- ------------ -----------PT 150,18 Real ******************************************************************************** * Macros * ******************************************************************************** ID ----------------Order_Mac Schedule_Mac Inven_Mac Failure_Mac Delay_Mac Text -----------Order_Mean Schedule_Offset Inventory_Initial Failure_Prob Delay_Prob ******************************************************************************** * Streams * ******************************************************************************** Stream # -----------1 2 3 4 5 6 7 8 Seed # -----------1 2 3 4 5 6 7 8 Reset -----------No No No No No No No No