Discrete Event Simulation Enabled High Level Emulation of a Distribution Centre
James Zhang, Vu Le, Michael Johnston, Saeid Nahavandi, Doug Creighton, Centre of Intelligent Systems Research Deakin University Pigdons Rd, Waurn Ponds, Victoria, Australia james.zhang,vu.le,michael.johnston, saeid.nahavandi,
[email protected]
Abstract— Emulation facilitates the testing of control systems through the use of a simulation model. Typically emulation has focused on low level control, to ensure that resources within a system are commissioned correctly. Higher level control that deals with complex issues such as throughput, in-system time and stacking, has not received as much attention. In this paper, a higher level agent-based emulation framework was proposed. Then an emulation model for a distribution centre is described that can test distribution centre level algorithms directly. This methodology also allows playback of real world operations, making it an ideal tool to analyse problems with performance of commissioned systems. Keywords- emulation; discrete event simulation; distribution centre; warehouse modelling
I.
INTRODUCTION
Globalisation and increased competition have resulted in growing pressure on enterprises to optimise their supply chain. Key activities to achieve improvements in productivity and efficiency are closer collaboration with logistics partners and streamlining internal operations. Increasingly, simulation plays an important role in helping managers making better decisions towards the goal of an optimised supply chain [1]. In comparison to the significant body of work focusing on simulation of supply chain management and infra-structure modelling, less attention has been paid to the simulations of warehouse and distribution centre [2]. While there have been several studies utilising a simulation approach [3-6], however, DC operations are highly dependent on facility configuration [2], and theoretical generalisation of the DC operation is scarce in literature. It is difficult to develop effective and efficient algorithms without coupling the decision maker with a realistic model, which takes into consideration the layout, physical properties and actual interaction rules amongst entities. An efficient approach to tackle the complexity of the simulation modelling is through the development of meta-model, primarily as a multi-layer neural network [7, 8], however, a detailed simulation model provides its distinctive advantages through its support of decision making in all three operational levels (strategic, tactic and operative), covering the life cycle from the initial planning to online control [9]. Of the three operational levels in DC management, most research studies are focused at the lower operative level [10-13]. In the case of emulation, where either some functional parts of a model are carried out by a real system or a real system is replaced by a model, the level of interaction is usually even lower, to the level of hardware and Programmable Logic Controller (PLC) [14-17] with a focus on the OLE for Process Control (OPC) protocol. In this paper, we describe the use of high level emulation, with a focus on facility wide decision making. The first benefit for such a higher level emulation is that design options and optimisation algorithms can be tested easily, in a way supporting ready migration from simulation design to operational design. Secondly, compared with a Supervisory Control And Data Acquisition (SCADA) system, the emulation system described in this paper can also play back the real world runs or design experiments and generate Performance Indicators (PI) for the entire warehouse operation. This additional functionality makes it an ideal tool to analyse problems with actual operations. This paper is structured as follows. In the next section we describe a high level emulation framework to enable the testing of decision making control systems. In Section III we give an overview Warehouse Management System (WMS) and the complexities involved in the operation of such a system. Following this we present a case study where we implement a high level emulation model for a WMS in a large DC, where the impact of decisions can be evaluated. The accuracy of the simulation runs is then validated against real operational data. Finally the paper discusses the merits of this approach and identifies directions for future efforts. II.
HIGH LEVEL EMULATION FRAMEWORK
A framework for high level emulation is presented in Fig. 1. The approach taken in designing the framework was a twostep procedure, based on a divide and conquer strategy [18]. Firstly, a simulation program is partitioned according to a
reinterpretation of the model-view-controller architecture. Individual parts are then connected in terms of abstraction, rather than implementation, to guard against possible changes resulting from shifting user requirements. In the simulation / emulation context, the Model is about the entities in the world and the interactions among them. The View visualises the model with the support of graphic engine. Mediating between View and Model, the Controller provides timing, event scheduling, event dispatching services and calling of graphic engine, supported by a discrete event simulation (DES) engine. Abstraction / Interface can exist at various levels, from class to package and sub system levels. Compared with interface which only provides abstraction, service provides both abstraction and implementation, and the capability to advertise, dynamically look up and plug in the implementation. Emulation blurs the boundary between the physical world and its representation, the Model. To accommodate emulation while minimising its effects on the Model system, the connection of the model and decision making is defined by a set of abstract high level operations both parties need to honour. The business logic is designed as interface, and both real operation control system and the simulation control system implement the operations specified in the definition of interface. To allow for maximum flexibility, these operations are analysed and designed as a cluster of agents based on the well-known Gaia methodology [19]. The roles model and the interactions model at the analysis stage are refined to the agent model, the model of services these agents provide and the model of acquaintances for the interactions among agents at the design stage. In a logistic context, an agent model could include the order agents, the resource agents, the planning agents and the coordinating agents. These agents hide the source of decision making from the simulation environment so that the simulation model needs not know whether it is interacting with a real world enterprise system, or a simulation control system driven by log data or by demand projections. This design minimises the impact of requirements changes on the simulation model while maximises its value. The whole architecture is depicted in Fig 1 (RA denotes Resource Agents).
Figure 1. The high level emulation architecture.
III.
CASE STUDY: WAREHOUSE EMULATION
A. WMS Overview The system under consideration is a large warehousing (Automated Storage and Retrieval System) ASRS system within a DC for a major beverage company. As one of a few national distribution centres, the storage capacity for the distribution centre is over 30,000 pallets, which equates to over 1.9 million cases or around 29 million beverage containers. In order to achieve full automation of a system, a layered approach is taken. The ASRS system is decomposed into four subsystems: Conveyor System; Monorail System; Crane System; and Layer Picker System. The business flow control is managed by a WMS, connected to a backend enterprise databases. Any command from the WMS is sent to the local control module, which translates the message into PLC commands.
Figure 2. A close-in view of the warehouse model in action: a carrier in the monorail is transporting pallets to the unload point for storage.
The two main processes within the system are the store-in and retrieval processes. The store-in process typically works as follows. Pallets are delivered to the docking station where their barcodes are read and sent to the WMS. The WMS then directs the conveyor subsystem to move the pallet to the load point of the monorail subsystem. When the pallet arrives, a message is sent back to the WMS confirming the completion of the task. The WMS then directs the monorail subsystem to pick up the pallet and move it to the unload point for a crane. The monorail subsystem sends a completion message once the pallet is transported to the unload point. Upon receiving the message, the WMS once again directs the conveyor subsystem to pick up the pallet and move it to the in-feed position of the selected crane. After the WMS received the completion message, it directs the crane subsystem to pick up the pallet and deposit it to a specific location in the rack storage. The retrieval process works in the reverse order. B. WMS Emulation Development Three distinct stages can be identified in the development of the WMS emulation model; simulation model construction, facility acceptance testing and high level emulation. A simulation model was first developed prior to the construction of the green-field facility. The model was developed according to the facility design specification, while a delivery schedule was compiled according to historical data and demand projections. Fig. 2 shows a view of the simulation model for this stage. The model describes the properties of material handling elements and the physical and logical associations among them. After that facility was constructed, acceptance testing was undertaken to investigate issues concerning capacity and control algorithm design of the system while under stress. This testing highlighted throughput issues with the decision making control algorithm. Due to the systems operational scale, the cause of the reduced throughput was not immediately clear, solely based on observation. Furthermore, safety and cost concern prohibit further stress tests. Fortunately the communication records between the business server and the control sub systems were kept. This allows for further offline analysis and trouble-shooting. To generate understanding and elevate the log data to the knowledge level, these records need to be replayed in the 3D graphics model. Similar approach is taken in traffic simulation that also uses realistic 3D environment to play back spatiotemporal data [20]. In this way simulation is employed as an effective tool for application of knowledge management to business intelligence [18]. The existing model is reused to save on development time and keep the powerful visualisation appreciated by end users. This was achieved with communication between the model and the real WMS, that is, high level emulation. While it is possible to program all parts of the model in the simulation packages, we believe it is more flexible and desirable to distribute the model of the system in a way resembling that of the system in the reality. C. High Level Emulation As defined in [17, 21, 22], emulation is actually a simulation model without the control inside the model. To accommodate emulation while minimising its effects on the model we work backward from the constraints imposed by the WMS server as shown in Fig. 3. It can be seen that the remote module controller relays the commands from the WMS to the client using Remote Method Invocation (RMI). Java Remote Method Invocation enables the programmer to create distributed Java -based applications, in which the methods of remote Java objects can be invoked from other Java Virtual Machines (JVM), possibly on different hosts. RMI uses object serialisation to marshal and unmarshal parameters and does not truncate types.
Figure 3. The connection of the WMS and a test client.
The connectivity support in the simulation package, Quest™, only provides plain TCP / IP socket. A mediating layer is built to relay the communication between module controller and the simulation model. As the case with the real world system, each of the four subsystems runs in its own thread. Altogether there are eight TCP/IP sockets opened in the mediating layer, chained to four pairs according to the type of subsystems. D. WMS Simulation Implementation In the simulation model, each resource (a controller, a pinwheel sensor or in Quest™ terms, a decision point) has its own logic to execute when a pallet passes. In the simulation model, four message handlers that communicate with a corresponding thread in the mediating layer are implemented. Apart from handshaking and synchronising, the message handler also parses the message and switches the related signals, similar to what a PLC controller typically does. The flow chart for the message handler is listed in Fig. 4.
Start
Data exists in the socket?
No
Delay for some time
Yes Data Capture Get available data - Set Datagram to parsed the conveyor message and put in the list - Set Connect position to the start position in the message
Connected position match? Yes - Turn Monorail signals to on
No
Signal Setting Tell other resources the step is completed - Set Signal (RELEASE_SIGNAL + intSignal) to On - Set Signal (STOP_SIGNAL + intEndSignal) to Off
Figure 4.
Implementation of the message handler.
Resource logics block/wait until its wake up signal is triggered. It then retrieves the message from the mailbox and checks if the message is addressed to itself. Fig. 5 shows the flow chart for resource logic and highlights its simplicity as the complex decision making has moved to the WMS.
Start
(RELEASE_SIGNAL + intSignal) = On ?
No
Delay for some time
Yes Parts Processing Do required processing on the pallet - Set (RELEASE_SIGNAL + intSignal) to Off - Work for the required time
Message Processing Communicate with message handler - Get incoming message from the mailbox - Encode outgoing message based on processing data - Send message to the message handler
Figure 5. Implementation of resource logic.
E. Simulation of Physical Kinematics In replay mode, a delivery schedule is compiled by scanning the log file for specific messages that indicate the pallet entry. In emulation mode, a similar approach can be taken. Before the emulation starts, the schedule file can be generated by the WMS server and put to the simulation computer to read into the simulation model. This schedule is read by the simulation program and a pallet is generated in due time in the simulation model. The simulation program then reports the situation to the server and asks the question of what to do next. Once the movement command is issued from server, the ensuing physical interactions of world entities are entirely handled by the simulation model. In particular, the kinematics of the monorail subsystem is the most important factor with regard to model accuracy. The mono-rail system connects all the other three subsystems, with more than 30 carriers and many loading and unloading points. Acceleration /Deceleration of the monorail is approximated by segmenting the whole monorail system and adding delay to the pallet travel in the decision point logic. As shown in [23], this treatment does not compromise the accuracy of the results. Within segments, a carrier travels at constant speed and no external disturbance to its movement is expected. Take an example, when a carrier is approaching a curve and trying to travel along it. The algorithm checks to see if the track from the “Stop Point” to the “Exit point” is clear before passing the stop point. The stop point is a distance of 2 metre before the curve, and the exit point 1 metre after curve. If the track is not empty the carrier will stop at the stop point until the pre-ceding carrier passed the exit point at which time it will enter the curve. The carrier will decelerate to slow speed be-fore entering the curve and will accelerate only when it has passed the exit point. In the real system the carrier travelled a distance of 2.25 meters while decelerating, taking 3.0 seconds.
v2 v1 0.0 1.5 3.0s (1) a 0.5 x v0t 絘 t 2 (1.5 3) (? .5 3.02 ) 2.25m (2) t
In the simulated system once the carrier reaches the stop point it instantaneously changes from the fast transport speed to zero. In the simulated system the carrier will take 2.25/1.5 =1.5 seconds to move the same distance. Therefore an additional delay of 1.5 seconds is added at the stop point in the simulation to bring the deceleration time up to 3.0 seconds, as in the real system. F. Synchronisation of Simulation Time and Real Time Typically the simulation clock runs faster than the wall clock. The slowdown of simulation is achieved by scheduling extra “display update” events in some intervals, which can force the simulation to do time consuming updates.
A proportional–integral–derivative (PID) regulator compares the simulation time with the real time and calculates the error, the integral of error and the derivative of error. The PID controller then adjusts the update interval of the graphics to compensate the differences. Since most of complex decision making is moved to the server, the remaining computation in the simulation package is limited and the proceeding of simulation is rather smooth and most of times the PID controller needs to increase frequency of graphical updates to slow down the simulation.
Figure 6. The kinematics considered in the simulation model when a carrier travels alone a curve.
IV.
DISCUSSION
The simulation model was calibrated by playing back logging files from stress tests. In this mode, the logging files are analysed by a Java program and proper response is sent to the simulation model based on records in the files. Another set of log files are generated when playing back is completed. The difference in time stamps between messages recorded in the log file and those that occurred during the play back execution were used to validate / calibrate the model. Reduction of the time differences enables us to neutralise the effect of incomplete information. Comparison results show that 90% of commands executed within 60 seconds time difference compared with log file and no command has a time difference larger than 200 seconds. Practical observations suggest the monorail subsystem could become the bottleneck in the busy summer period. The distribution of the carriers to different parts of the distribution centre has significant impact on the throughput of the ASRS. Fig 7 compares the throughputs of the system in terms of pallets per hour before and after a reassignment of carriers based on simulation results. The dotted line with triangle markers describes the throughput before the reassignment; the solid line with square markers describes the throughput after the reassignments of the carriers. It can be seen that the reassignment achieves an increase of more than 20 per cent in throughput. It is worthwhile to note some directions for future research. Currently the decision making for the monorail subsystem is built in the simulation model. We have the plan to move the medium level control to an emulation module so this part of control can be tested and validated realistically. 300 280
Pallets Output per 10 Minutes
260 240 220 200 180 160
After Carrier Reassignment Old Carrier Configuration
140 120 00:30
03:30
06:30
09:30 12:30 Time of Day
15:30
18:30
21:30
Figure 7. Comparison of throughput before and after the reassignment of carriers based on simulation results
V.
CONCLUSION
This paper identifies a gap in warehouse simulation between the low level PLC emulation and the high level scenario-based if-then strategic analysis and addresses the gap by proposing a framework and methodology for high level emulation. This framework was implemented in a distribution centre and the benefits of such described. The simulation study process, critical to the successful application of emulation in a WMS was described in detail. The framework extends the use of the original simulation model, uses ranging from early conceptual modelling to later real time system level decision making and control. The design principles and practical considerations in this work are applicable to simulation and design of warehouse or distribution centre control systems. By using the same communication mechanism as in the real production system, the emulation model can not only test control algorithms in a realistic manner, but can also play back real world operations. In its offline use, the model can be employed to analyse many high level operational problems in intuitive way. When connected online, not only can the model be used as a visualisation tool, it can also provide dynamic feedback at a level suitable for business intelligence tools, with its built-in calculations of performance indicators. ACKNOWLEDGMENT The research is funded by an Australian Research Council Linkage grant L4540067. We also thank our industry sponsor Deneb Australasia Pty. Ltd. for their support. REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]
S. Terzi and S. Cavalieri, "Simulation in the supply chain context: a survey," Computers in Industry, vol. 53, pp. 3-16, 2004. J. P. Gagliardi, J. Renaud, and A. Ruiz, "A simulation model to improve warehouse operations," in Proceedings of the 2007 Winter Simulation Conference, 2007, pp. 2012-2018. K. Hidaka and H. Okano, "Simulation-based approach to the warehouse location problem for a large-scale real instance," in Proceedings of 1997 Winter Simulation Conference, 1997, pp. 1214-1221. J. P. Van den Berg, "A literature survey on planning and control of warehousing systems," IIE Transactions, vol. 31, pp. 751-762, 1999. B. Rouwenhorst, B. Reuter, V. Stockrahm, G. J. van Houtum, R. J. Mantel, and W. H. M. Zijm, "Warehouse design and control: Framework and literature review," European Journal of Operational Research, vol. 122, pp. 515-533, 2000. J. Gu, M. Goetschalckx, and L. F. McGinnis, "Research on warehouse design and performance evaluation: A comprehensive review," European Journal of Operational Research, vol. 203, pp. 539-549, 2010. A. Khosravi, S. Nahavandi, and D. Creighton, "A prediction interval-based approach to determine optimal structures of neural network metamodels," Expert systems with applications, vol. 37, pp. 2377-2387, 2010. J. J. Rubio, P. Angelov, and J. Pacheco, "Uniformly stable backpropagation algorithm to train a feedforward neural network," Neural Networks, IEEE Transactions on, pp. 1-1, 2011. F. Nunez, F. Reyes, P. Grube, and A. Cipriano, "Simulating Railway and Metropolitan Rail Networks: From Planning to On-line Control," Intelligent Transportation Systems Magazine, IEEE, vol. 2, pp. 18-30, 2010. V. Giordano, J. B. Zhang, D. Naso, and F. Lewis, "Integrated Supervisory and Operational Control of a Warehouse With a Matrix-Based Approach," Automation Science and Engineering, IEEE Transactions on, vol. 5, pp. 53-70, 2008. C. Li and C.-Y. Lee, "Fuzzy motion control of an auto-warehousing crane system," Industrial Electronics, IEEE Transactions on, vol. 48, pp. 983-994, 2001. R. Phillips and B. Montalvo, "Using emulation to debug control logic code," in Proceedings of the 2010 Winter Simulation Conference, 2010, pp. 1673-1677. M. Dotoli and M. P. Fanti, "Deadlock Detection and Avoidance Strategies for Automated Storage and Retrieval Systems," Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on, vol. 37, pp. 541-552, 2007. A. Pfeiffer, B. Kádár, and L. Monostori, "Evaluating and improving production control systems by using emulation," Proceedings of the 12 IASTED Int. Conf. on Applied Simulation and Modelling, pp. 3-5, 2003. M. Johnstone, D. Creighton, and S. Nahavandi, "Enabling Industrial Scale Simulation / Emulation Models," in Proceedings of the 2007 Winter Simulation Conference, Washington, USA, 2007, pp. 1028-1034. T. LeBaron and K. Thompson, "Emulation of a material delivery system," Proceedings of the 30th conference on Winter simulation, pp. 1055-1060, 1998. I. McGregor, "Equipment interface: the relationship between simulation and emulation," in Proceedings of the 2002 Winter Simulation Conference, 2002, pp. 1683-1688. J. Zhang, D. Creighton, and S. Nahavandi, "Toward a synergy between simulation and knowledge management for business intelligence," Cybernetics and Systems, vol. 39, pp. 770-786, 2008. M. Wooldridge, N. R. Jennings, and D. Kinny, "The Gaia Methodology for Agent-Oriented Analysis and Design," Autonomous Agents and MultiAgent Systems, vol. 3, pp. 285-312, 2000. J. Sewall, J. van den Berg, M. C. Lin, and D. Manocha, "Virtualized Traffic: Reconstructing Traffic Flows from Discrete Spatiotemporal Data," Visualization and Computer Graphics, IEEE Transactions on, vol. 17, pp. 26-37, 2011. C. Versteegt and A. Verbraeck, "The extended use of simulation in evaluating real-time control systems of AGVs and automated material handling systems," in Proceedings of the 2002 WinterSimulation Conference, 2002. C. Starner and M. Chessin, "Using emulation to enhance simulation," in Proceedings of 2010 Winter Simulation Conference, Baltimore, MD, 2010, pp. 1711-1715.
[23] D. Creighton and S. Nahavandi, "A flow control methodology for the rapid generation of vehicle traffic models," International Journal of Logistics Systems and Management, vol. 3, pp. 429-439, 2007.