Simulation-based Scheduling and Control Richard A. Wysk IE 551 – Computer Control in Manufacturing System vs. Simulation Modeling System Simulation Model • Purpose of Modeling • Fidelity: Level of Detail • Constraints Cost Time Skilled People Different Uses of Manufacturing Simulation Sales (cost/completion time prediction) Product Design (DFM) Process Planning Maintenanc e MRP (planning) Facility Planning Productio n Planning System Design & Analysis Production Control Production Schedulin g Factory Control - Observations Most Analysis is for Processing Resources Only Almost all Scheduling considers Processing Resource Constraints Only There is no Material Handling Planning Different Uses vs. Associated Simulation Models System Design & Analysis Production Schedulin g Production Control Chronological Uses of Simulation More specific and detailed, and higher fidelity More expensive and time-consuming to develop Shorter horizon (from months to seconds) Simulation for Design & Analysis System Design & Analysis Production Schedulin g Production Control Traditional Usage of Simulation Before/after existence of a real system In general, no or little material handling detail -time/cost constraints Results may not be always reliable when MHs are scarce resources Reference: Smith et al., 1999 Planning Manufacturing Systems •Conceptualization •Preliminary Modeling •Systems Analysis •Detailing Conceptualization •Aggregate Visualization of System •No. of milling machines •No. of turning machines •... •... •Arrangement of Machines •Layout •Location Preliminary Modeling Operations Routing Summaries Part # 1 2 3 4 . . . Routing M1 - M2 - M3 - M4 M2 - M3 M3 - M4 M3 - M1 - M2 Time Required 5-3-2-1 6-4 5-3 2-4-3 Master Production Schedule Weekly Demand Product # 1 2 3 4 500 10,000 1,000 400 Master Production Schedule j DijOij Required WeeklyCapacityin Minutesj i Required Capacityj Available Min. nj Machine Requirements Analysis M1 M2 Mn PM1 PM2 MH PMn Traditional Simulation Nj -- no. of machines of type j Qj -- Queueing character for machine j Wj -- Wait in j Ti -- Throughput time for part type i Simulation for Scheduling System Design & Analysis Production Scheduling Production Control •Traditionally after a real system has been designed (and typically built) •Used for schedule generation or schedule evaluation •Depending on systems, scheduling results vary: •Static Environments - Exact starting times and ending times •Static/Dynamic Environments - “work to” schedules (lists) •Dynamic Environments - scheduling strategies for each decision points •With MH: more expensive, but more accurate results •Without MH: easier to model, but difficult to implement schedules Simulation for Control System Design & Analysis Productio n Schedulin g Production Control •Traditionally after a real system has been designed (and typically built) •Used for schedule generation or schedule evaluation •Depending on systems, scheduling results vary: •Static Environments - Exact starting times and ending times •Static/Dynamic Environments - “work to” schedules (lists) •Dynamic Environments - scheduling strategies for each decision points •With MH: more expensive, but more accurate results •Without MH: easier to model, but difficult to implement schedules MH devices Material Handling (MH) MH affects schedules MH is addressed every other process MH is frequently flexibility constraint RapidCIM view to Illustrate Control Simulation Requirements 3 6 4 M1 2 1 L 5 7 R M2 8 UL Task Number 1 2 3 4 5 6 7 8 Task Name Pick L Put M1 Process 1 Pick M1 Put M2 Process 2 Pick M2 Put UL Some Observations about this Perspective Generic -- applies to any system Other application specifics Parts Number Routing Buffers (none in our system) Deadlock Related References General deadlock discussions Wysk et al., 1994 Cho et al., 1995 Deadlock detection for simulation Venkatesh et al., 1998 Johnson’s Algorithm (1954) Operations Routing Summaries for a family of parts (M1 – M2) Part P1 P2 P3 P4 M1 2 8 4 7 M2 9 3 5 6 Optimal sequence: P1 - P3 - P4 - P2 Is the schedule actually optimal in reality? Traditional schedule v.s. Realistic schedule (blocking effects) M1 M2 1 3 4 1 2 3 4 2 Make-span: 25 M1 M2 1 3 Can not begin 4 until 3 moves 1 4 3 + Material Handling 2 4 2 Make-span: 29 Actual optimal sequence M1 M2 1 3 4 1 2 3 4 Optimum by Johnson’s algorithm M1 M2 1 2 3 1 Actual optimum 2 2 Make-span: 29 4 3 4 Make-span: 28 Things to be considered for higher fidelity of scheduling Deadlocking and blocking related issues must be considered Material handling must be considered Buffers (and buffer transport time) must be considered Jackson’s Algorithm (1956) Operations Routing Summaries Sequence Times 1 M1 – M2 5–1 2 M1 4 3 M2 – M1 3–4 4 M2 2 Optimal sequence: Part # M1: P1 - P2 - P3 M2: P3 - P4 - P1 Is the schedule actually optimal in reality? Schedule Implementation If no buffers exist, it is impossible to implement the schedule as the optimum schedule by Jackson’s rule Even if buffers exist, several better schedules may exist including the following schedule: M1: P1 - P2 - P3 M2: P1 - P3 - P4 Simulation specifics Very detailed simulation models that emulate the steps of parts through the system must be developed. Caution must be taken to insure that the model behaves properly. The simulation allocates resources (planning) and sequences activities (scheduling). Why Acquire (seize) together? To avoid deadlock P2 (M1-M2) M2 M1 Legend: :part, done :part, being processed If we acquire robot and machine separately P1 (M1-M2) the robot will be acquired by the P2 a deadlock situation will occur If we acquire robot and machine at the same time the robot will not be acquired until M2 becomes free Time advancement: Simulation for Real-time Control if runs in fast mode time delay is based on the expected processing time (typically a statistical distribution) Move to the next event as quickly as possible simulation time is based on the computer clock time time delay is based on the performance of a physical task (subjec to machining parameters) task contains parameters: task_name, part_id, op_id real-time system monitoring (animation) Reference: Smith et al., 1994 Simulation can be used for control Traditionally run simulation in fast mode Can be coordinated to physical system via HLA or messaging Production Control View Part Perspective M1 M2 R Controller determines what to do next. L UL Simulation-based Scheduling: methodologies Combinatorial approach -- intractable AI/Search algorithms Simulated annealing Tabu-search Genetic algorithm Neural networks (Cho and Wysk, 1993) Extended dispatching heuristics None of these guarantees optimization Simulation-based Scheduling: multi-pass simulation Simulation real-time simulation - task generator fast simulation - schedule evaluator Who does the schedule “generation” then? Look ahead manager Scheduling: come up with a good combination of control strategies for the decision points Example system and associated connectivity graph M2 1 Machine2 Machine1 Machine3 Robot Part flow AS/RS M1 R 1 Blocking Attribute 1: allowed 0: not allowed M3 1 1 AS Generated Execution model -- based on the rules, but manual yet M 2 Blocking attributes are set to 1: must be blocked 1 1 M 1 R M 3 1 Due to limited space, these two arrows are expanded in this figure part_enter@1_sb I 1 A S rm_asrs@1_sb I ....... mv_to_asrs@1_sb I ....... put_ok#1@1_bs O Stations AS M1 M2 M3 Index 1 2 3 4 O pick_ns#1@1_br pick_ns#1@1_sb O arrive@1_bk arrive_ok@1_kb O I clear_ok#1@1_rb I at_loc@1_bs I I T Index 1 at_loc@1_kb O return_ok@1_bs delete@1 rm@1_bk Robots R I loc_ok@1_bs O put_ns#1@1_br put_ns#1@1_sb O I MPSG Summary part_enter@1_sb 0 rm_asrs@1_sb 1 pick_ns#1@1_sb 2 3 return@1_sb mv_to_mach@2_sb 4 put#1@2_sb 5 process@2_sb 6 7 pick#1@2_sb mv_to_mach@3_sb 8 put#1@3_sb 9 process@3_sb 1 0 1 1 pick#1@3_sb mv_to_mach@4_sb 1 2 put#1@4_sb 1 3 process@4_sb 1 4 1 5 pick#1@4_sb mv_to_asrs@1_sb 1 6 put_ns#1@1_sb 1 7 return#1@1_sb 1 8 1 9 MPSG Summary part_enter_sb 1 remove_kardex_sb 2 pick_ns_sb 3 put_ns_sb move_to_mach_sb 7 move_to_kardex_sb 6 put_sb process_sb pick_sb 8 return_sb 9 5 move_to_mach_sb 4 return_sb 0 Traditional system development vs. Models automation approach Physical facility Physical facility Formal modeling & Database Instantiation Manual generation Shop level executor Resource model Automatic generation (Connectivity graph & rules) Manual generation Simulation (task generator) Shop level executor Automatic generation A simple procedure Planner Simulation (task generator) Heuristic-based planning Multi-pass Simulation Planner Associated with system development (a) Conventional Approach Search-based Scheduling Scheduler Associated with system operation (b) Proposed Approach Traditional Simulation Approach For the manufacturing system System to be simulated Manual Acquisition Detailed specification Programming Simulation model Automation Modeling Approach System to be simulated Extraction Rules Domain Knowledge Detailed specification Construction Rules Simulation model Target Language Knowledge System Description (extraction) Natural Language Graphical Formalism User Dialog Monitor Resource Model Process Model Resource Model Execution Model Detailed Description Information in Simulation Static information Dynamic information something like an experiment file resource information, shop layout part arrival process part flow and resource interaction Statistics needed resource utilization, throughput, etc Penn State Simulation-based SFCS Scheduler Databas e ARENA: real-time (Shop floor controller) Task Output Queue Kardex ABB 140 Task Input Queue Big Executor (Shop Level) Man MT ABB 2400 VF 0E Equipment Controllers SL 20 Puma Simulation-based Scheduling Order Details Look-ahead Manager Remote Procedure Call Operating policy "fastmode.bat" file Dynamic Link Library ARENA: fast-mode Visual Basic Application Rule 1 Simulation Rule n Simulation Statistical Analysis Best Rule Selection ARENA: Real-time Database Process plans Flow shop (m machines and m+1 robots) - non-synchronous control •If no buffers exist, then we must allow blocking happen •If buffers exist, there are three possible policies when blocking occurs: •Not picking up •Picking up and waiting until the next machine becomes available, •Picking up and moving it to the buffer •Associated blocking control attributes are 1, 0, and 2, respectively •We can specify above blocking control strategies •Refer to the simulation construction rules in the next page Information in Process Plans For each part type ID, operation code, description, resource_ID, Robot_location, NC_file_name Reference: Lee et al., 1994 Implementation database representation PSL (Process specification language) IDEF 3 (ICAM Definition language) etc Process Plan vs. Simulation Simulation in simulation based control Process plans reside externally Simulation in design and analysis Process plans reside within the simulation model Possible to include the alternative routings within the model Conclusion Structure and information Simulation model Resource model Execution model Simulation model generation - resource model and execution model (+blocking attributes) % to be generated Depends on the types of system Pretty much for nothing References Cho, H., T. K., Kumaran, and R. A. Wysk, 1995, ”Graph-theoretic deadlock detection and resolution for flexible manufacturing systems". IEEE Transactions on Robotics and Automation, Vol. 11, No. 3, pp. 413-421. Cho, H., and R. A. Wysk, 1993, "A Robust Adaptive Scheduler for an intelligent Workstation Controller". International Journal of Production Research, Vol. 31, No. 4, pp. 771-789. Drake, G.R., J.S. Smith, and B.A. Peters, 1995, "Simulation as a planning and scheduling tool for flexible manufacturing systems". Proceedings of the 1995 Winter Simulation Conference. pp. 805-812. Ferreira, Joao C. and Wysk, R. A., “An investigation of the influence of alternative process plans on equipment control”, Journal of Manufacturing Systems, Vol. 19, No. 6, pp. 393 – 406, 2001. Ferreira, J. C. E., Steele, J., Wysk, R. A., and Pasi, D. A., “A Schema for Flexible Equipment Control in Manufacturing Systems”, International Journal of Advanced Manufacturing Technology, Vol 18, 410 - 421. Lee, S., R. Wysk, and J. Smith, 1994, “Process Planning Interface for a Shop Floor Control Architecture for Computer-integrated Manufacturing," International Journal of Production Research, Vol. 9, No. 9, pp. 2415 - 2435. Smith, J. and S. Joshi., 1992, “Message-based Part State Graphs (MPSG): A Formal Model for Shop Control”, ASME Journal of Engineering for Industry, (In review). Smith, J., B. Peters, and A. Srinivasan, 1999, “Job Shop scheduling considering material handling”, International Journal of Production Research, Vol. 37, No. 7, 1541-1560 References Son, Young-Jun and Wysk, R. A., “Automatic simulation model generation for simulation-based, real-time control”, Computers in Industry, vol. 45, pp 291 - 308, 2001. Steele, Jay W., Son, Young-Jun and Wysk, R. A., “Resource Modeling for Integration of the Manufacturing Enterprise”, Journal of Manufacturing Systems, Vol. 19, No. 6, pp 407 – 426, 2001. Moreno-Lizaranzu, Manuel J., Wysk, Richard A., Hong, Joonki and Prabhu, Vittaldas V., “A Hybrid Shop Floor Control System For Food Manufacturing”, Transactions of IIE, Vol. 33, No. 3, 193 –2003, March 2001. Hong, Joonki, Prabhu Vittal and Wysk, R. A., “Real-time Batch Sequencing using arrival time control algorithm”, International Journal of Production Research, Vol 39, No. 17, pp 3863 – 3880, 2001. Ferreira, J. C. E. and Wysk, R. A., “On the efficiency of alternative process plans”, Journal of the Brazilian Society of Mechanical Sciences, Vol. XXIII, No. 3, pp 285 – 302, 2001. Smith, J. S., Wysk, R. A., Sturrok, D. T., Ramaswamy, S. E., Smith, G. D., and S. B. Joshi., 1994, “Discrete Event Simulation for Shop Floor Control” Proceedings of the 1994 Winter Simulation Conference, pp. 962-969. Son, Y., H. Rodríguez-Rivera, and R. Wysk, 1999, “A Multi-pass Simulation-based, Real-time Scheduling and Shop Floor Control System," (Accepted) Transactions, The quarterly Journal of the Society for Computer Simulation International. References Steele, J., S. Lee, C. Narayanan, and R. Wysk, 1999, “Resource Models for Modeling Product, Process and Production Requirements in Engineering Environments," submitted to International Journal of Production Research. •Venkatesh, S., J. S. Smith, B. Deuermeyer, and G. Curry, 1998, ”Deadlock detection for discrete event simulation: Multiple-unit seizes". IIE Transactions, Vol. 30 No. 3, pp. 201-216 •Wu, S.D. and R.A. Wysk, 1988, "Multi-pass expert control system - A control / scheduling structure for flexible manufacturing cells". Journal of Manufacturing Systems, Vol. 7 No. 2, pp. 107-120 •Wu, S.D. and R.A. Wysk, 1989, "An application of discrete-event simulation to on-line control and scheduling in flexible manufacturing". International Journal of Production Research, Vol. 27, No. 9, pp. 1603-1623. •Wysk, R.A., Peters, B.A., and J.S. Smith, 1995, “A Formal Process Planning Schema for Shop Floor Control” Engineering Design and Automation Journal, Vol. 1, No. 1, pp. 3-19 •Wysk, R. A., N. Yang, S. Joshi, 1994, "Resolution of deadlocks in flexible manufacturing systems: avoidance and recovering approaches". Journal of Manufacturing Systems, Vol. 13, No. 2, pp. 128138.