IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 5, NO. 1, JANUARY 2008
53
Integrated Supervisory and Operational Control of a Warehouse With a Matrix-Based Approach Vincenzo Giordano, Jing Bing Zhang, Member, IEEE, David Naso, and Frank Lewis
Abstract—This paper considers a matrix-based discrete event control approach for a warehouse. The control system is organized in two modules: a dynamic model and a controller. The model provides a complete description of the discrete event dynamics of the warehouse, and is used as a means to track the stock-keeping units, and identify and inhibit control actions that violate system’s constraints. The controller has several functions. At the supervisory level, it is in charge of inhibiting operations that may lead to deadlocks, commanding the actual start of the task, and the release of the resources once a task is completed. At the operational level, it is in charge of performing decisions regarding the order in which allowable tasks waiting for service should be performed. All the modules are implemented using the same matrix-based formalism, and thus integrated with each other. The main advantages of the approach are the inherent modularity (the matrix-based control is obtained by assembling individual atomic components), and the integration between the various modules, which permits a better overall resource utilization. Simulation examples describing an actual industrial warehouse are finally provided to emphasize the main advantages of the proposed approach. Note to Practitioners—This paper illustrates the application of a discrete-event modeling and control framework based on a matrix notation to an automated warehouse. The material handling equipment must continuously transfer stock-keeping units between various buffers using a network of interconnected rail guided vehicles. Since transfer requests are issued at random times, the role of the control system is extremely challenging, as it must handle low level tasks (synchronizing hardware, avoiding conflicts) and high level ones (allocating the rail guided vehicles efficiently to avoid congestions and long service times). Giving a complete mathematical characterization of such a system is challenging, due to its inherently turbulent and discrete-event nature. The proposed original approach allows one to attack the problem from a modular, divide-and-conquer perspective. In fact, the complete model of the system is achieved by a sequence of simple modeling steps, starting from the description of the atomic components of the system, and progressively specifying constraints, objectives and control rules to obtain a complete characterization of the entire system within a unified formalism based on binary matrices. Since the final model integrates supervisory and operational functions, it permits to perform the allocation of rail guided vehicles more effectively, using inManuscript received May 16, 2006; revised July 12, 2006. This paper was recommended for publication by Associate Editor M. Zhou and Editor N. Viswanadham upon evaluation of the reviewers’ comments. This work was supported by the ARO under Grant DAAD 19-02-1-0366; by the National Science Foundation under Grant IIS-0326505; and by the Singapore SERC TSRP under Grant 0421120028. V. Giordano and F. Lewis are with the Automation and Robotics Research Institute, University of Texas at Arlington, Fort Worth, TX 76118 USA (e-mail:
[email protected]). J. B. Zhang is with the Singapore Institute of Manufacturing Technology, Singapore 638075 (e-mail:
[email protected]). D. Naso is with the Dipartimento di Elettrotecnica ed Elettronica, Politecnico di Bari, Bari 70125, Italy (e-mail:
[email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TASE.2007.891472
formation that is generally unavailable to the dispatching modules. Examples and numerical results based on the equipment actually operating in the warehouse are also provided to illustrate the potential of the approach. Index Terms—Discrete-event control, dispatching, supervisory control, warehouse control.
I. INTRODUCTION
G
UARANTEEING an efficient material handling is a problem of crucial importance in many facilities such as warehouses, distribution centers, production plants and transshipment terminals [24]. It has been estimated that material handling can represent up to 70% of the cost of a product [37]. While material handling was treated with relatively less attention in the 80 s during the explosion of activity on flexible manufacturing, recent research has experienced a considerable growth of interest on automated material handling in both industrial and academic contexts. Automated material handling systems have increasingly critical requirements in terms of performance and safety. This in turn causes a considerable growth of the complexity of the control systems, which must cover a variety of different problems, each affected by a nearly prohibitive complexity. From a functional perspective, control problems can be organized in a hierarchical scheme. The lowest level (field level) typically encompasses hardware issues related to sensors and actuators (e.g., trajectory control of gantry robots or AGVs). The second level (supervision level) generally includes discrete-event sequential issues (e.g., equipment synchronization for collision or obstacle avoidance [18], conflict or deadlock resolution [32], positioning of idle equipment [16], or control software development [34]). The next level features operational control (i.e., the set of decisional activities which actually define and optimize the flow of materials, such as task sequencing [29], route selection [23], etc.). Problems at both the supervisory and operational levels are extremely challenging. Supervision issues often suffer from a remarkable complexity deriving from the inherently discrete-event-driven nature of the system dynamics. Operational issues generally suffer from the combinatorial and often turbulent nature of the multiple decision problems that must be addressed in real time. As a consequence, issues pertaining to these levels are often tackled separately with different modeling and decision tools. In general, low level control issues are dealt with discrete event methods such as Petri nets (PNs) (e.g., [10], [11], [38]). These works generally focus on sequential issues (deadlock, blocking or collision avoidance) and often disregard the decisional aspects that influence performances on an operational level. Similarly, research on assignment or dispatching methods (e.g.,
1545-5955/$25.00 © 2007 IEEE
54
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 5, NO. 1, JANUARY 2008
[5], [25], [29]) mainly focuses on performance assessment, assuming that field controllers and supervision strategies guarantee the absence of conflicts. Recently, a matrix-based discrete event control (DEC) approach has been proposed [21], proving to be very efficient in modeling and controlling the discrete-event dynamics of typical manufacturing environments. Among the most distinctive features, the general matrix-based framework allows one to simultaneously incorporate both supervisory and operational issues in the same mathematical formulation, which can be easily translated in executable software for the hardware control platform. In other word, matrix-based models provide a complete characterization of the discrete event dynamics of the controlled system, and allow one to define and incorporate control policies for both supervisory and operational levels, thus obtaining a complete description of the control loop. Moreover, the proposed framework provides a number of advantages. In particular, it allows the cross-exploitation of information that is generally available and used on only one level of the controller (e.g., the number of waiting requests that become inhibited by low-level controllers after a given dispatching decision is performed by high-level controllers). More generally, it provides a better dynamical description and a higher-level interface than other conventional tools for discrete event systems, such as PNs. This paper describes an integrated operational (high level) and supervisory (low level) control architecture for a large scale automatic storage and retrieval system (AS/RS) typically used in many manufacturing or logistical distribution warehouses. Both the discrete-event synchronization of storage and retrieval equipments and the decisional activities performed during operational control influence the efficiency of material handling operations as a whole, especially in extremely dynamic environments such as the one considered in our research. In the warehouse, transfer requests have extremely varying characteristics and arrive with unpredictable frequencies. The turbulence of the environment makes any form of operation planning impracticable. The transfer vehicles are thus dispatched online using real-time information to identify the most appropriate action at any given time. This paper describes the fundamental design steps of the overall matrix-based control architecture, introducing a number of novel matrix equations that provide a complete characterization of the closed-loop control system. The remainder of the paper is organized as follows. Section II overviews the related literature, and defines the main assumptions and objectives of this research work. Section III provides an introductory overview of the matrix-based DEC approach, while Sections IV and V focus on the discrete event model and the controller, respectively. Section VI is dedicated to the simulated case studies, while Section VII provides some conclusive remarks. II. WAREHOUSE AUTOMATION: SURVEY, ASSUMPTIONS AND OBJECTIVES The automatic control of internal transport in closed environments such as warehouses is a multifaceted problem that has received a considerable attention in the technical literature of the last two decades. The following subsections overview the re-
lated work, and specify assumptions, objectives and challenges of our problem. A. Literature Survey A broad introduction to general issues related to internal transport can be found in [37], while [36] focuses on planning and control problems in warehouses. Literature can be broadly classified following the same hierarchical schema used for the control system. Supervisory control problems largely focus on discrete event modeling tools such as PNs [1], [10], [11], or discrete event simulation [17], [20], [31]. Operational issues have also been extensively considered. Most research concentrates on finding a satisfactory tradeoff between conflicting measures such as physical space requirements, throughput, transfer service time, etc. Design and conceptualization issues are considered in [2], [6], [26]. Park [30] develops an optimal policy to determine the stand-by location of idle vehicles. Hwang et al. [14] describe an integrated model for the coordination of AS/RS and AGVs activities. Beamon [3] studies analytical indices to measure congestion in material handling systems (MHS) and develops quantitative relationships between critical MHS variables and system congestion. Malmborg and Altassan [25] discuss a set of mathematical models for the analysis of storage policies in less than unit load (i.e., the orderpicking vehicle is capable of handling multiple loads simultaneously) warehouses. Lee and Schaefer [19] analyze the effects of sequencing requests with predetermined storage locations, presenting several exact and heuristic methods under static and dynamic approaches. Similarly, De Koster and van der Poort [4] compare various optimal and heuristic solutions for minimal length route of order-picking devices, while travel time minimization is addressed in [12]. A considerable part of the research on MHS focuses on dispatching algorithms (see the survey in [29]) that make decisions on task allocations in real-time (i.e., at the time (or shortly before) the involved resources (orderpickers, AGVs) are ready for a new operation). Dispatching approaches are widely adopted in industrial facilities operating in extremely dynamic and turbulent conditions, where the rate of unexpected events makes any form of in-advance planning inapplicable. The growing need of improved reactivity has also stimulated the investigation of distributed multiagent decision and control paradigms [13], [15], [33]. Other research has focused on the definition of more effective modeling tools. In this paper, we focus our attention on the matrix-based discrete event control approach proposed in [21], [35], which was proven to be very efficient in sequencing tasks in manufacturing environments [27]. The matrix formulation allows fast, direct design and reconfiguration of discrete event controllers. It also provides a complete mathematical description of discrete event systems that can be used for the purpose of computer simulations. The matrix formulation suits well to implement deadlock avoidance policies [22], high-level planners, such as HTN planners [9], and dynamic resource assignment algorithms [8]. B. System Overview and Main Assumptions This paper considers an industrial distribution warehouse that continuously receives stock-keeping units (SKUs), which are
GIORDANO et al.: INTEGRATED SUPERVISORY AND OPERATIONAL CONTROL
55
Fig. 1. Overview of a single area (see also Example 2).
Fig. 3. Two interconnected areas (see also Example 3).
Fig. 2. Four different types of MOs.
stored in predefined locations (pickup buffers) and then moved by automated rail guided vehicles (RGVs) to their destinations (delivery buffers) according to service priorities that are dynamically assigned by the control system. The warehouse is composed of several interconnected areas. Let us initially focus on a single area (see Fig. 1). The area contains several unidirectional FIFO buffers placed on two rows (hereafter row 1 and row 2), separated by the rail on which the RGV travels. Each buffer can be either a pickup buffer or a delivery buffer (i.e., no buffer can be both a pickup and a delivery point for the same area), and there are several pickup or delivery buffers on both rows, as illustrated in Fig. 1. SKUs enter an area when they are placed in a pickup buffer, and immediately issue a Moving Order (MO) for the control system. The generic th MO in the area can be concisely described as a couple (1) where is the pickup location (of the th MO) from the set of pickup buffers (see Fig. 1) (2) and
is a location from a set
of delivery buffers in the area (3)
According to system layout and technical constraints, the MOs can be classified in four different types, as illustrated in Fig. 2, depending on the relative positions of the pickup and delivery buffers. Namely we have -type (from row1 to row1), -type (from row2 to row2), -type (from row1 to row2) and -type (from row2 to row 1) MOs.
Each RGV has several shifting locations, each able to host one SKUs. If a free location is available on the RGV, the alreadyloaded SKUs can be easily shifted so as to have the free location in front of row1 or row2 as needed. The unloading of an SKU from the RGV to complete a delivery is subject to some restrictions. Namely, only the first SKU facing the delivery row can be retrieved. Therefore, for -type and -type MOs the RGV can be viewed as a standard stack (or LIFO buffer), while for -type and -type MOs the RGV functions as a standard FIFO buffer. With the exception of the negligible loading and unloading times, at a generic instant of time, every SKU in the area is either in a pickup buffer waiting to be serviced by the RGV, or is on the RGV being transferred to the delivery buffer. Similarly, an RGV can be either idle (waiting for new tasks) or busy 1) moving toward a pickup buffer to pickup an SKU or 2) moving toward a delivery buffer to deliver an SKU. All the MOs are collected by an operational controller, which is in charge of assigning the sequence of operations to each RGV. In the considered system, each MO consists of the transfer of one single SKU. For example, if an RGV is required to move thirteen SKUs, as in Fig. 1, thirteen MOs will be issued in the system. Essentially, the control system for the single area has two tasks. The first one is to synchronize and supervise the flow of discrete events related to SKU arrivals, and automated retrieval and transfer operations, by properly seizing and releasing the available resources. The second one is to dynamically determine the order in which the pickup and delivery locations of the available MOs must be visited by the RGV to perform the corresponding pickup or delivery tasks. The various areas in the warehouse interact with each other due to the shared buffers, because a pickup buffer of an area may be the delivery buffer for another area, as in Fig. 3. The interconnected areas can be distributed on different floors and served by different RGVs which move horizontally and/or vertically to transfer SKUs on buffers on the same floor or on different floors. The control system currently implemented in the warehouse is composed of two modules. The low-level module implements
56
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 5, NO. 1, JANUARY 2008
the sequential, discrete-event control for hardware synchronization using standard PLCs and supervisory software, while the task priority-setting is performed with a heuristic dispatching algorithm that tries to minimize the change of directions for each RGV. More specifically, according to heuristic criteria based on SKU deadlines and on the conditions of the buffers, the dispatcher selects the next MO (e.g., the one from to in Fig. 1) and determines if other MOs can be served along the way (e.g., to , as well as one or more from the second one from to , depending on RGV capacity). Until completion of these MOs, the control system does not allow the RGV to change its travelling direction. The dispatchers for each single area work independently, without any explicit means of coordination. C. Motivations, Objectives, and Challenges Given the high number of interconnected RGVs, and the overall complexity of the control and decision problems, the configuration of the control system is largely based on the experience of industrial practitioners. The motivation for our research work is to investigate the potentials of a sound and versatile mathematical framework in the context of a challenging and fairly general warehouse control problem. In particular, we aim at achieving the following specifications. 1) Guarantee improved performances in terms of throughput and average service time of each MO with respect to the currently implemented control system. 2) Incorporate the pre-existing rules of thumbs. 3) Implement new operating rules if the topology of the system changes. 4) Properly address deadlocks, congestions and other anomalies. The accomplishment of these objectives involves two main challenges that have to be jointly addressed. First of all, it is necessary to build an accurate and computationally efficient model of the system, which must be also able to incorporate heuristic knowledge provided by industrial practitioners. In particular the following elements need to be taken into account. 1) Detect and inhibit sequences of operations, for each RGV, which might lead the system to blocking phenomena or deadlocks. 2) Keep track of the position of the SKUs in the buffers and on the RGVs. 3) Predict the dynamic interaction among RGVs. 4) Address possible changes in the topology of the systems (addition or breakdown of RGVs or buffers). Secondly, it is necessary to implement an efficient dispatching policy, integrated and interacting with system model, and capable of meeting the performance requirements expressed by the warehouse operator with intuitive and interpretable underlying decision mechanisms. III. OVERVIEW OF CONTROL ARCHITECTURE The architecture of the proposed control system is illustrated in Fig. 4. From a global viewpoint, it is convenient to view the DEC architecture as an aggregation of two interacting modules, the discrete-event system model and the supervisory and operational controller, both based on the matrix DEC formalism [35]. The model provides a complete description of the discrete event
dynamics of the warehouse, and is used 1) as a means to track each SKU and detect equipment faults or other anomalous operating conditions and 2) to identify and inhibit control actions that violate system’s constraints. As shown in Fig. 4, its inputs are the acknowledgement messages for resource release and task completion, the information about the arrival of new MOs (vector ), and the conditions of the logic conditions of control rules (vector ). The outputs are vectors describing the condi, the currently inhibited tasks tions of the tasks in progress , resources (RGV, buffers) availability , as well as a copy of . The controller has several functions. At the operational level, it is in charge of performing decisions regarding the order in which task waiting for services should be performed (ruled by means of inhibition vector ). At the supervisory control level, it is in charge of 1) determining the logic conditions of control rules (“logical rules” vector ), 2) commanding the actual start of the task (“Start Task” ), and 3) commanding the release of the resources once a task is completed (“Release Resource” ). All the mentioned tasks of model and controller modules are performed by means of matrix equations that will be introduced in the next two sections. The controlled hardware returns acknowledgements for task completion, and for the subsequent release of the resource. The “resource released” acknowledgement is sent after the execution of simple self-diagnostic tests triggered by the receipt of controller’s release command. If the test fails the resource is not released, and an alert is issued. An alert is also issued when the resource conditions computed by the discrete event model differ from the actual conditions detected by warehouse sensors (e.g., because an SKU has been removed from a buffer manually), so the DEC system is also used performs diagnostic functions, although details about this issue will be omitted for brevity. The detailed definition of vectors of variables exchanged between the warehouse and the two DEC modules is provided in the next two sections, focusing on model and controller, respectively. IV. WAREHOUSE DISCRETE-EVENT MODEL This section provides a general description of the mathematical model of the warehouse, introducing the most significant details and notations. In the following, we first focus on the characterization of a single area, and then obtain the global model with a sequence of simple aggregation steps. A. Discrete Event Model of a Single Area For both modeling and control purposes, the analysis is restricted to the active MOs (i.e., those MOs that are either in a pickup buffer of the area, or on the RGV). When a MO is completed (i.e., it is transferred and downloaded in the delivery buffer), the SKU exits the area becoming a passive entity, only regarded as an occupied location of the delivery buffer. If the delivery occurs in a shared buffer, the SKU simultaneously enters the adjacent area. Thus, each area can be viewed as an aggregate of resources (pickup or delivery buffers and an RGV), interacting with each others according to the sequence of events related to MOs flow. In the definition of the model of the system, it seems therefore natural to provide a representation of each active MO, and then obtain a global model of the area by aggregating the atomic models of the individual MOs.
GIORDANO et al.: INTEGRATED SUPERVISORY AND OPERATIONAL CONTROL
57
Fig. 4. Simplified scheme of the matrix-based DEC system. It encompasses a discrete-event model of the warehouse and a controller. The model replicates the discrete-event dynamics of the RGVs and SKUs, and checks for the fulfillment of the innate constraints of the controlled equipments. The controller defines the sequence of tasks performed by the RGV and commands the release of the resource at the completion of a task.
Let us consider a generic area of the warehouse. Let us supactive MOs. To keep notapose that the area has currently tion simple, in the following we will omit the area index from as , etc.), all area model variables (i.e., we will refer to until finally assembling the global model. Each MO consists of a sequence of three tasks, an input, and an output (summarized in Table I). The task Pause is introduced to release the RGV after every pickup operation, and increase the flexibility of the system. In this way, in fact, the RGV is not obliged to perform the delivery of a MO immediately after the pickup, but can perform operations regarding other MOs in between. The conditions of the tasks of each active MO are described by two vectors, the MO task-in-progress vector , and the MO task-completed vector
TABLE I MO TASK SEQUENCE
TABLE II MO RESOURCES
(4) where “ ” denotes transposition. In both vectors, three Boolean components describe the status of pickup, pause and delivery is set to “1” when tasks, respectively. Each component of the corresponding task is in-progress (completed), and “0” otherwise. Similarly, as specified in Table I, let us indicate with and , , the Boolean input and output variables, is set to “1” when the SKU is in the respectively. Variable pickup buffer, and is set to “1” when the MO is completed. Vectors and are tightly interrelated. In particular, vector represents a fundamental precondition of many logical rules of the matrix-based model, while vector is mainly necessary to complete the characterization of each MO (useful for the purpose of computer simulation). Hereinafter, for brevity, we will
focus on only, and omit the further details about and its dynamical update rules. The conditions of the resources (pickup buffers and RGV) are described with the set of four resource condition variables defined in Table II (for clarity, all non-Boolean variables and vectors will be indicated with Greek letters). In particular, we indicate with the number of free places in the pickup buffer , with the number of free locations in buffer , and with the number of free locations on the RGV. The fourth variable included in the resource condition variables is the Boolean flag that indicates the current status of the RGV (“0” for “busy” and “1” for “idle”).
58
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 5, NO. 1, JANUARY 2008
TABLE III MO RULE BASE
Fig. 5. Petri net of the ith generic MO. The transitions in light grey are controlled by the task control vector u .
The set of the logical rules describing the evolution of a MO is expressed by the set of four easily interpretable if-then rules listed in Table III. The table also introduces the Boolean area task control vector
As the area has currently column area task vector
active MOs, we can define the
(8) with Boolean elements, obtained by stacking the column task vectors. Similarly, we can define the area input vector
(5) The task control vector encompasses two elements for each acelements), one for the tive MO (it is therefore composed of pickup and one for the delivery (the task pause does not need an explicit control variable, as it is started immediately after pickup completion). The actual start of tasks is then commanded by the controller (see the next section) using the Boolean task start vector (6) which appears in the post-conditions of rules 1, 2 and 3. As constitutes the means to inhibit shown in Table III, vector or allow the actual start of the pickup and delivery operations, whereas vector triggers its actual start (the value “1” indicates “start task”). In particular, an entry of “1” (“0”) in disinhibits (inhibits) the activation of the corresponding task. The vector can be seen as one controllable input of the warehouse. Depending on the way one selects the strategy to assign the control vector , different system dynamics can be obtained. Vector is a fundamental variable shared and altered by both the discrete-event model and the controller. In the system model, is used to inhibit actions that would conflict with warehouse innate constraints (see the third subsection), while in the controller is updated to avoid deadlocks and to perform dispatching decision (details in the next section). In the matrix-based modeling formalism, the value of the logical conditions for the activations of rules is summarized by the rule logical vector (7) An entry of “1” in the th position of vector denotes that rule is currently fired (all the preconditions are all true). To sum up, rules, tasks, a list of MOs is therefore represented by inputs and outputs. For clarity, Fig. 5 reports the PN (see [28]) corresponding to the proposed representation of each MO.
(9) the area output vector (10) and the area logical vector (11) Vectors , , and , as well as many other variables introduced in the model, have a dynamic size depending on the number of currently active MOs. In particular, at each time a new SKU enters (or exits) the area, the vectors are resized accordingly, introducing new elements with appropriate values (e.g., each time a new SKU enters the area and issues a MO, the vector is updated adding a new element set to “1”). Also the integer resource condition variables can be conveniently grouped with a vector notation, introducing the integer resource conditions vector (12) elements (each ranging from 0 to the correwith sponding buffer capacity), describing the number of free locations in the pickup buffers, delivery buffers and on the RGV, respectively. Moreover, let us define the location available function , which returns, for a given vector , a Boolean vector of the same size, having the th element set as “1” if the corresponding element is greater than zero (i.e., if there is a location available on the buffer), or “0” otherwise. Finally, we define the Boolean resource availability vector as (13) An entry set to “1” in one of the first elements of specifies the availability of at least one location in the corresponding
GIORDANO et al.: INTEGRATED SUPERVISORY AND OPERATIONAL CONTROL
buffer, a “1” in the element specifies that at least one location is available on the RGV, and finally, a “1” in the last element of indicates that the RGV is idle.
59
fore, it is necessary to reset to “0” the element of vector corresponding to previously completed tasks using the following equation: (15)
B. Dynamic Update of Vectors , , , and All the vectors introduced in the previous section provide a static description of the conditions of the area at a given time. This section illustrates the update laws defining the evolution of the system variables over time. The model is run in discrete-time (i.e., the effects of events are computed at the first sample time after their occurrence). When no event occurs between two sample times, all the system variables remain unchanged. Hereafter, except where noted differently, all matrix operations are defined in the or/and algebra, where denotes logical OR, denotes logical AND, denotes logical XOR, and overbar indicates negation (see [35] for an introduction). Before the description of the update rules, it is convenient to be the task seintroduce some fundamental matrices. Let quencing matrix for an individual MO. Since all the MOs have is identical for all the MOs. has the same task sequence, set to “1” if the completion of task is a neceselement . Similarly, let sary prerequisite for rule logical vector be the resource requirements matrix having element set to “1” if the condition of th resource is an immediate pre. Moreover, let be the requisite for rule logical vector set input matrix (identical for all MOs), having element to “1” if the occurrence of input is an immediate prerequisite for rule logical vector . Let be the resource update matrix defining the update of resource condition . In particular has element set to “1” if the activation of logic state determines an increase of free locations in the pickup buffer of the th MO (after a pickup) or on the RGV (after delivery). Fibe the output matrix (identical for all MOs) having nally, let element set to “1” if the activation of logic state de. termines the completion of As for the vectors of variables, the matrices related to the list of MOs in the area can be easily obtained by either stacking or concatenating together the matrix blocks corresponding to each individual MO. As an example, we report the area task sequencing matrix
After a pickup (delivery) the number of free places in the pickup buffer (RGV) is increased using the following update equation: (16) Moreover, after the start of a pickup, the number of free places on the RGV and on the delivery buffer has to be decreased (update of vector and ), and after the start of a pickup or of a delivery, the RGV condition has to be set to busy (update of Boolean flag ). The corresponding update equation for both vector and scalar is (17) indicates the hybrid column vector obwhere notation tained appending the Boolean flag to the column vector (the “minus” operator applied to Boolean components should be interpreted as an XOR operation). After updating and , also is updated accordingly. To complete the description of a task evolution, we shortly mention that, at the end of a pickup or a delivery, the controller will command the release of the RGV (see next section). Upon receipt of the release command, the control hardware releases the RGV (after the execution of some self-diagnostic tests), and the warehouse feeds the “resource released” input, which is directly used in the model to reset the value of to the idle (“1”) condition. MO inputs and outputs are computed with similar equations. More specifically, when a MO starts, the corresponding element of is set to “0” with the following Boolean equation: (18) Similarly, when a delivery task is completed, the output vector specifying the completion of the corresponding MO is updated with the following Boolean equation: (19)
(14) Similar procedures are applied to compose the remaining matrices , , etc. The matrices introduced above are used to update the vectors of variables as described in the following. The update of vector occurs in two different cases. The first one is when the model receives the “ th task of th active MO completed” message from the warehouse. In such a case, the . This “1” corresponding element of is set to one entry will be then used to fire the rule of th active MO which has “ th task completed” as precondition. The second case occurs whenever the above mentioned rule is fired. In fact, the matrix-based equations used by the controller (see next section) require that only the last completed task of each MO has the coris responding entry in set to “1” (e.g., the vector inadmissible, while the adopted notation is ). There-
The details of the update of the task control vector scribed in the next subsection.
are de-
C. Inhibition of Currently Unfeasible Deliveries The set of rules, matrices and equations introduced in the previous subsections is not sufficient to identify all the actually feasible actions possible at a given time. In other words, the presented logic model of the warehouse does not take into account the actual order of the MOs in the pickup buffers and on the RGV. As the material handling equipment can only retrieve the first SKU in the pickup buffer, and only the first and the last SKU loaded on the RGV, it is necessary to explicitly take into account in the discrete-event model that only the tasks of the MOs of these SKUs can be actually executed. In particular, it is relatively simple to take into account in the model the FIFO order of SKUs in pickup and delivery buffers (i.e., the time the SKU has
60
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 5, NO. 1, JANUARY 2008
TABLE IV RULE BASE TO AVOID FORBIDDEN SKU RETRIEVAL FROM RGV
and is defined as follows. As only the delivery task is in(those volved in this inhibition equation, all the elements corresponding to pickup) are equal to “1” and left unaltered at is equal to any given time. On the contrary, the element is feasible (i.e., it can be exe“1” if the delivery task of cuted without violating the constraint on SKU order on RGV). indicates a conflict with other Any other value SKUs (i.e., an unfeasible task). In particular, is set to if delivery tasks need to be executed before the . delivery of is updated using the following novel inhibition Vector equation which is the matrix-based representation of the rule base reported in Table IV: (20)
entered the buffer directly defines the order of the SKUs). On the contrary, the two-inputs two-outputs structure of the RGV cannot be easily modelled with the standard matrix-based formalism, and requires the introduction of some problem-specific matrices and equations. The problem of defining the actual order of the SKUs on RGV at a given time is particularly crucial also because it is not possible to directly obtain the information about number, type ( , , or -type; see Section II) and order of SKUs directly from warehouse monitoring equipment. Therefore, this information must be necessarily inferred from the discrete event model, and then used to inhibit (through the control variable ) all the deliveries of the MOs, among those being in pause com, whose SKUs are not in the pleted condition extreme locations of the RGV, and thus cannot be immediately downloaded from the RGV. The identification of the currently unfeasible deliveries is performed with a rule-base (reported in Table IV) that is subsequently converted in a matrix-based equation. Each rule encompasses two sub-rules, one for the inhibition and the other for the disinhibition of the corresponding deliveries. The superscript indices “1” and “2” indicate two different MOs, while notation indicates the pickup of the -type MO , and the refers to the element of the integer notation corresponding to that operation. retrieval inhibition vector has the same size and indexing of the control vector Vector
where symbol “ ” indicates the standard matrix multiply operator, symbol “ ” indicates the array (element by element) multiply operator, and notation “ ” indicates the absolute value function. In (20) the Boolean vector has elements, each specifying if the SKU of the corresponding MO is currently on the RGV (such information can be immediately obtained by the area task vector ). To obtain (20), each rule of Table IV is composed of two different antecedent conditions which are separately modelled. is in pause completed) is directly The first antecedent (e.g., is determined obtained from vector and its effect on vector matrix which is constructed in the by the Boolean following way. has a “1” entry in position where is the element • of corresponding to the delivery to be inhibited and is in pause completed in the corresponding rule. the has a “1” entry in position where is the element • corresponding to the delivery to be disinhibited and of is the MO in pause completed in the corresponding rule. • All of the other elements are set to zero. is in charge of capturing, together with vector Thus, matrix , the part of the antecedent of the rules in Table IV which keeps track of the (order and type of) MOs on the RGV waiting for delivery. ) of each rule of The second antecedent (e.g., retrieval inhibition Table IV is modelled using the matrix which is obtained in the following way. has a “ 1” entry in position where is the ele• corresponding to the delivery to be inhibited, ment of and is the element of vector corresponding to the activation of the pickup of the MO that causes the inhibition. has a “1” entry in position where is the element • of corresponding to the delivery to be disinhibited and is the element of vector corresponding to the completion of the delivery of the MO that caused the inhibition. • All the other elements are set to zero. , the values “ 1” (“ 1”) In other words, in the matrix after an are used to increment (decrement) the value of SKU obstructing the delivery of is loaded on (unloaded has also negative elements, the absolute from) the RGV. As value in (20) is used to obtain a Boolean expression before the elements negation, while the information about the sign of
GIORDANO et al.: INTEGRATED SUPERVISORY AND OPERATIONAL CONTROL
is restored by means of the sign function. Once the vector has been computed by the matrix-based inhibition equation (20), the forbidden retrievals are inhibited by setting to 0 all elements corresponding to elements of which are lower of vector than 1. D. Warehouse Global Model The model of the entire warehouse can be easily obtained by assembling the models of the individual areas. As a MO can be active only for one specific area, denoting with subscript g the variables, vectors and matrices related to the th area (e.g., , , , etc.), and assuming that the warehouse is composed of interconnected areas and buffers, the total number of the MOs in the warehouse is
61
an area and pickup buffers for the adjacent area. Clearly, the pickup of an SKU from a shared buffer can be performed only immediately after the delivery of the SKU in the shared buffer has been completed in the adjacent area. In other words, we can assume that the delivery of a MO in a shared buffer coincides with the generation of the input for a new MO in the adjacent area. These types of inputs will be hereinafter called internal inputs to distinguish them from the inputs related to the arrivals of SKUs from outside of the warehouse, referred to as external is updated inputs. The Boolean vector of internal inputs according to the following Boolean equation: (27)
(i.e., the sum of the MOs active in all the areas). Consequently, all the vectors and matrices related to variables associated to MOs can be obtained by simply stacking or concatenating the vectors or matrices defined for the individual areas. For instance, we can define the warehouse task vector
where Boolean matrix is a matrix (where is the total number of MOs for all RGVs in the system) whose element equal to 1 if the input for is the completion . Therefore, captures the relationship between the of completion of a MO and the start of a new one in a different is updated area. The Boolean vector of external inputs setting its the th element to “1” when the corresponding SKU enters the pickup buffers of an area from outside the warehouse. The warehouse input vector is then updated with the following Boolean equation:
(22)
(28)
(21)
the warehouse input vector (23) the warehouse output vector (24)
It can be finally noted that the modularity of the proposed matrix based framework allows the designer to easily take into account also the addition of new buffers or areas in the warehouse by a mere redefinition of the size of the mentioned matrices, and a straightforward reapplication of the illustrated stacking or concatenation procedures. V. DISCRETE-EVENT AND OPERATIONAL CONTROL
the warehouse logical vector (25) etc. The same composition rule applies to most matrices, in. As an example, the warehouse cluding , , , , and task sequencing matrix is obtained as
The controller performs different functions at the supervisory and operational levels. The next two subsections describe the details of the functions executed at the supervisory level, while a third one focuses on the operational level. A fourth subsection gives a conclusive summary of the main operations performed by the matrix-based DEC. A. Supervisory Control Level
(26) The composition of resource vectors follows different rules due to the presence of shared buffers. More precisely, the resource vectors cannot be obtained by simple stacking procedures, but must be redefined in a straightforward way. For instance, the warehouse resource condition vector encompasses variables for the warehouse buffers and variables for the RGV in the various areas. Moreover, the “idle/busy” condition Boolean flags. of the RGV can be described by a vector of Consequently, the warehouse resource availability vector has elements. Finally, the global warehouse matrices , and can be obtained with similar and equally simple procedures. As mentioned, all the buffers in the warehouse are unidirectional, therefore the shared buffers are delivery buffers for
As depicted in Fig. 4, at each sample time, the controller receives the vectors , , , and from the discrete-event model. The main function at the supervisory level is to determine which rules must be fired, which tasks must be started, and the resources for which a release command must be sent to the warehouse. These functions are processed by means of two different sets of logical equations, one for checking the conditions for the activation of rule , and one for defining the consequent controller outputs. The updated value of the rule logical vector is computed with the following controller state equation: (29) Matrix in (29) is called the warehouse conflict resolution matrix and is used to model the influence of control input on
62
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 5, NO. 1, JANUARY 2008
the rule vector . Matrix is obtained by assembling together in the following way: the area conflict resolution matrices
TABLE V RULE BASE FOR DEADLOCK PREVENTION
(30) are obtained combining the conflict In turn, matrices resolution matrices of the individual MOs for each area in a similar way. In a given area and for the th MO, has element set to “1” if the activation of the control is an immediate prerequisite for the activation input . In this way, if the controllers sets vector of logic rule , it will allow the pickup (delivery) . As for the matrices and inhibit the delivery (pickup) of and all the other introduced in the discrete-event model, vectors and matrices used in the controller are obtained by simply assembling together matrices relative to MOs and areas. Thus, whenever possible, hereafter we will directly use the global warehouse matrices and vectors. On the ground of the current value of the rule logical vector , the controller determines which tasks to start and which resources to release by means of the matrix controller output equations. In particular, the command of a task start is performed by means of the warehouse task start vector (already introduced in Section IV) using the following Boolean matrix equation: (31) where is the task start matrix and has element set to triggers the start command for the “1” if logic state corresponding task. Similarly, the resource release command is performed by means of the Boolean warehouse resource release using the following matrix equation: vector (32) in which is the resource release matrix, having element set to “1” if logic state triggers the release command for the RGV in the th area. Therefore, vector has elements, each set to “1” when the controller commands the release of the corresponding RGV. To sum up, at each sample time, the controller sends to the warehouse the task start and the resource respectively. release commands specified by vectors and In typical operating conditions, each RGV has several active MOs, and multiple tasks waiting for execution. The policies used to select the most appropriate task at a given time in order to avoid conflicts and meet operational requirements are discussed in the next two subsections, dedicated to deadlock prevention and dispatching control, respectively. B. Avoiding Deadlocks As mentioned in Section IV, the discrete-event model uses the warehouse task control vector to prevent the execution of unfeasible deliveries due to the order of SKUs on the RGV. is also used to At the supervisory control level, the vector prevent the execution of task sequences leading to system deadlocks. Such sequences are strictly related to the type of MOs. Essentially, a deadlock can occur if a pickup of a MO of a certain type is followed by the pickup of a MO of a different type
(e.g., a pickup of -type or of -type followed by the pickup of a -type). Using the same notation introduced in Table IV, Table V reports the rules necessary to avoid RGV deadlock. For instance, the first rule states that if the pickup of an -type MO has been completed, then all -type pickups must be inhibited until the in completion of delivery of the -type MO. The vector Table V is the warehouse deadlock inhibition vector. It has the same size, indexing, and a substantially equivalent function of introduced in Section IV-C. The element the vector is set to “1” if the pickup of does not generate deadlock, indicates and thus is not inhibited. Any other value that by executing the corresponding pickup, a deadlock would occur, and thus the pickup needs to be inhibited. In particular, is set to if deliveries must be completed becan be executed without fore the corresponding pickup of deadlock occurrence. The rule base reported in Table V can be translated in the matrix-based framework using the following novel matrix equation: (33) where is the deadlock inhibition matrix, constructed as follows. Focusing on a single area (the area index is omitted for ease of notation): has a “ 1” entry in position where is the ele• ment of corresponding to the pickup to be inhibited and is the element of vector corresponding to the compledetermining the inhibition. tion of the pickup of the has a “1” entry in position where is the element • of corresponding to the pickup to be disinhibited and is the element of vector corresponding to the completion of that was determining the inhibition. the delivery of the are set to 0. • All the other elements of After applying (33), the tasks forbidden due to deadlock prevention are inhibited by setting to “0” all elements of vector corresponding to elements of which are less than 1. Basing on known results on feedback control for deadlock avoidance [7] the following proposition can be proven. Proposition 1: The inhibition strategy described in Table IV and implemented by the corresponding matrix-based equation (33) guarantees that each controlled area is deadlock free. The proof is provided in the Appendix.
GIORDANO et al.: INTEGRATED SUPERVISORY AND OPERATIONAL CONTROL
C. Operational Control When multiple tasks are disinhibited and thus ready to be started at a given time, a decision policy must be adopted as tie-break rule to select the most effective action to execute. Determining an effective sequence of MO execution is challenging. In general, even focusing on one single area, the optimal sequencing of possible (disinhibited) tasks is prohibitive in a real-time dispatching-based environment, due to the combinatorial nature of the problem (an exhaustive search needs to expossible solutions). Although an extensive literamine the ature on analytical or heuristic methods for similar permutation problems is available (a survey can be found in [37]), in the considered warehouse, the arrival of new SKUs and the exchanges between the various areas, make the list of active tasks strongly time-varying. In this context, as noted in [15], the search time of general-purpose mathematical programming software based on analytical models of warehousing environments is generally too long, thus suggesting the use of realtime dispatching algorithms. The integrated modeling framework adopted in this research makes it possible to implement relatively simple multicriteria dispatching policies which access to the information available in the supervisory control module, and exploit them to improve the main performance indices. The variables made available by the supervisory controller allow us to define a number of different heuristic rules, which include the following ones. 1) Distance travelled by the RGV: This criterion gives higher priority to the next operation which requires the shortest path for the RGV. 2) Empty delivery buffers: this criterion gives higher priority to delivery operations to buffers which are almost or completely empty. It uses the information contained in the vector . 3) Full pickup buffers: this strategy gives higher priority to pickup operations from buffers which are almost or completely full. It uses the information contained in the vector . 4) Minimum number of inhibited operations: this strategy penalizes those pickup operations which, if activated, would determine the inhibition of a large number of tasks (due to forbidden deliveries or deadlocks). It uses the and . information contained in vectors 5) Maximum number of disinhibited operations: this strategy rewards those delivery operations which, if activated, would disinhibit a high number of inhibited operations. It uses the information contained in vectors and . 6) Pickup of SKU with largest waiting time: this strategy assigns priorities to pickup operations according to the SKU waiting time in the buffer. Contributions 2 and 3 of the dispatching policy prevent the system from having starving delivery buffers or full pickup buffers, which might cause waiting times and a reduction in the throughput. It should be remarked that while distance or buffer related criteria are often used in dispatching algorithms for warehouses or MHS in general, dispatching rules 4 and 5 are based on information that is generally unavailable to
63
dispatchers, because they are typically implemented and used internally in lower-level controllers which operate independently from the dispatcher. On the contrary, the integrated approach enables us to easily define dispatching criteria that address the interactions between the resources in a more effective way, as they tend to increase the number of feasible operations available to the dispatcher at each decision time. The proposed dispatching policy has a hierarchical scheme similar to the one presented in [29]. A first dispatching level is in charge of detecting and promptly servicing the critical MOs (i.e., those MOs whose pickup buffer is currently saturated). If a critical MO is found in the area, its pickup is given the highest priority. If such a pickup is inhibited by the supervisory controller for deadlock prevention, the deliveries of the SKUs conflicting with the critical MOs are given the highest priority, until the pickup of the critical MO can be executed. If more than one critical MO is found in the area (a circumstance that is extremely infrequent in normal operating conditions) a predefined dispatching rule (e.g., highest priority to the critical MO with the largest waiting time) is used as tie-break criterion. In all the remaining cases, the algorithm proceeds to the true multicriteria decision stage, in which the priority of each pickup and delivery operation is assigned according to the following cost criteria:
distance
distance where scalar is 1 if the delivery buffer of MO for RGV is nearly full and 0 otherwise, scalar is 1 if the pickup buffer of MO for RGV is close to be starving and 0 otherwise. is an index accounting for the number of operations of RGV that the activation of the delivery operation of MO would disinhibit [hence, total disinhibitions (TD)]. In particular, is 1 (0) for the MO with the smallest (largest) the index number of disinhibitions, and has an intermediate value for all is a scalar taking into account the other MOs. Similarly, the number of operations of RGV that the activation of the pickup operation of MO would inhibit [hence, total inhibitions (TI)]. The cost is higher for MOs that cause larger number of is a scalar defining the normalized inhibitions. Similarly, waiting time of MO . The normalization is performed with a varies in [0,1] where 0 (1) is assigned to linear scale so that the MO with the highest (lowest) waiting time. All of the indices are normalized with the straightforward strategy proposed in , have to be chosen according [29]. The weights , to topology of the particular system under examination and the required specifications (see next section for details). Once the dispatching control algorithm has identified the task with the lowest cost index, it makes it the only executable task by setting to “0” (and, thus, “inhibiting”) all of the other elements of the task control vector corresponding to all of the other currently disinhibited tasks.
64
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 5, NO. 1, JANUARY 2008
In regards to possible changes of the dispatching strategy, it could be easily noted that, due to the modularity of the DEC approach, the priority-setting approach can be easily updated by removing or adding new rules, indexes or algorithms in (or instead of) the aggregated cost criteria without the need of any further revision/modification in any other module of the DEC, thus confirming the accomplishment of all the specifications listed in Section II. VI. SIMULATIONS The matrix-based DEC systems can be immediately used to perform discrete-event simulations by simply replacing the outputs of the warehouse (“task completed” and “resource released”, and ) with fictitious ones. Thus, using a prototype of DEC system developed in Matlab programming environment, in this section we describe a number of simulated investigations to analyze the performances of the proposed control architecture. The analysis is based on typical performance indices adopted in industrial contexts, such as the average service time of each MO (sum of the waiting time in the pickup buffer, the pickup time, the delivery time and the transport time), the makespan (total time required to execute all the MOs), the total travelled distance and the idle time of each RGV. In the following examples in the calculation of travelling times for the RGVs, it is assumed that they all travel at the same constant speed of 1 m/s. We suppose that all buffers have a capacity equal to 10 SKUs, whereas the RGVs have a capacity of 4 SKUs. To provide a useful comparative term, in some numerical examples we consider a two-criteria dispatching rule known to be particularly efficient for the considered system, and based on the buffer status and on the traveled distance of the RGV. Namely, the heuristic rule gives high priority to MOs from completely full pickup buffers, medium priority to those directed to completely empty delivery buffers, and low priority to the remaining ones. Then, the rule selects the move request having the closest pickup or delivery point to current RGV location among those with the highest priority at the decision time. For this reason, it will be referred to as the shortest travel distance (STD) rule in the next tables and figures. In all of the case studies, our multicriteria dispatching (MCD) policy uses a set of weights obtained with the automatic tuning approach based on evolutionary algorithms proposed in [29]. The approach formulates the weight tuning process as an offline optimization problem, in which the MCD weights constitute the vector of optimized variables, and a performance index, computed with a discrete event simulation of the matrix-based model of the warehouse is used as objective function of the optimization. In this research, we used the largest wait time experienced by the MOs as objective function (to be minimized) for weight tuning. This objective is typical in warehouses and transhipment terminals as it expresses the need of guaranteeing a bound on the delay of service. However, it should be clear that any other performance index measurable by means of DEC simulation could be easily adopted in the same optimization scheme. The final cost weights obtained in this way , , , , for MCD are: , , , and .
Fig. 6. Layout of a simple illustrative example.
A. Illustrative Example With One RGV (Example 1) Let us consider the system represented in Fig. 6. The RGV is to ( type) in charge of performing two MOs: one from to ( type). and one from The resulting matrix representation can be easily obtained by combining the matrices associated to each MO. Namely, the task sequencing matrix is
Analogously, the resource requirement and conflict resolution matrices are
GIORDANO et al.: INTEGRATED SUPERVISORY AND OPERATIONAL CONTROL
65
Fig. 7. Dispatching sequence with STD—example 2.
Analogous simple composition rules are used to obtain the task start, resource update, and resource release matrices
These updated values are then sent to the controller, which must determine the next action to execute. As the pickup from buffer would generate a deadlock, the controller updates to inhibit this pickup
Then, the controller recalculates the logical vector
which is then used by the controller to determine the start task (i.e., start delivery of ), and command ( (i.e., “do not release the the resource release command ( resource”). B. Dispatching With Forbidden Sequences (Example 2)
The potential conflicts between the two MOs active in the area are addressed by the deadlock inhibition matrix
Let us consider the time instant at which the pause of (following the pickup from to ) is completed. At this time, the model computes the values of the vectors , , , , , , and
The scenario considered in this example is depicted in Fig. 1. The MO list has been chosen to highlight the effectiveness of criteria 4 and 5 in our MCD policy described in Section V. In order to evaluate the influence of these indices, we have to make sure that the criteria which refer to the conditions of the buffers (criteria 2 and 3) do not influence the dispatching policy. Therefore, in this example, we assume that, at the beginning of the operations, the SKUs are all present in the pickup buffers and that the delivery buffers are empty. Fig. 7 shows the time trace of the dispatching sequence obtained using the STD approach. For each MO it is reported the ” inpickup and the delivery buffers (e.g., the notation “ dicates the MO referring to an SKU to be transferred from buffer 1 to buffer 7) and the three associated tasks: pickup, pause and delivery (high level represent task currently in execution). Each pickup or delivery operation has a different time duration depending on the distance traveled by the RGV, whereas the time required for the Pause operation is constant. Using the STD crifirst (two MOs terion, the RGV picks up the two SKUs in of type start). However, according to Table IV, this operation inhibits pickups from and from (they are MOs of type ).
66
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 5, NO. 1, JANUARY 2008
Fig. 8. Dispatching sequence with MCD—example 2.
TABLE VI PERFORMANCE COMPARISON—EXAMPLE 2
Then the RGV reaches and picks up only two SKU out of three, since it reaches its maximum capacity. Now the RGV can and has to move back of several meonly deliver SKUs to ters. After delivering two SKUs in , the RGV can only do two operations: deliver SKUs in or pickup the remaining SKU in . It chooses the latter option because it requires the shortest path. Then it has no other option but to move all the way back to deliver the SKU in . Finally, it can deliver the SKUs in and successfully complete the remaining MOs. The MCD policy (Fig. 8) explicitly takes into account the number of inhibited and disinhibited operations, and therefore determines a significant reduction of 1) the travelled distance of the RGV, 2) the execution time of the MO list, and 3) the average waiting time of each MO (see Table VI). C. Interactions Between RGVs (Example 3) The scenario considered in this example is depicted in Fig. 3. The example aims to emphasize the mutual interaction of two RGVs sharing common buffers and to show the advantages of using information regarding the conditions of the buffers in the MCD policy (criteria 2 and 3 described in Section V). In particular we want to show that using the STD policy, an RGV can get stuck waiting because the other RGV does not timely empty the common buffers but choose to perform other operations. The MCD policy is able to avoid these situations taking constantly into account the conditions of the buffers (and in particular the conditions of the common buffers). In this example, we assume that at the beginning all delivery buffers are full and all pickup buffers are empty. Then the time instants in which the SKUs in
the pickup buffers become available and the initial SKUs in the delivery buffers are removed (due to operations external to the two RGVs system) have been chosen to maximize the occurrence of this condition. Also it is assumed that, differently from the other buffers which have capacity of 20 SKUs, the common buffers ( and ) have a capacity of 4 SKUs. The first SKUs to arrive are 5 SKUs to be transferred from buffer to buffer (for RGV1) and 5 SKUs to be transferred from buffer to buffer (for RGV2). Then the SKUs initially placed in buffer are retrieved from outside the system (potentially allowing RGV2 to move SKUs from buffer to ), and become available for transfer to and . SKUs in RGV1 starts transferring the SKUs from to . Since the capacity of the common buffers is 4, when RGV1 delivers the to fourth SKU in , it cannot pickup the fifth SKU from because buffer is already full. Therefore RGV1 has to wait for RGV2 (which in the meantime is serving the MOs from to since they require a shorter path) to empty buffer (by performing the MO from to ). As soon as RGV2 finally performs the first pickup from , RGV1 can pickup the last SKU to . A similar situation of block ocfrom curs for RGV2. During the dispatching, it occurs that RGV2 cannot pickup the last SKU from because is already full. RGV1 is not able to recognize this stall situation and, instead of picking up SKUs from to , keeps on performing operations requiring a shorter path. Therefore RGV2 stays idle until RGV1 finally picks up the first SKU from to . At that point RGV2 can transfer the last SKU from to . The MCD approach favors those operations which retrieve SKUs from full buffers or deploy SKUs in starving buffers. In this way the operations of the two RGVs are effectively synchronized. For example, in this case, RGV1 performs immediately the pickups from to and then considers pickups from buffer and . In this way, RGV2 is not stuck waiting for RGV1 to empty . In the same way, RGV2 performs the pickups from to first and then the pickups from , avoiding that RGV1 gets stuck waiting for RGV2 to empty .
GIORDANO et al.: INTEGRATED SUPERVISORY AND OPERATIONAL CONTROL
TABLE VII PERFORMANCE COMPARISON OF THE TWO DISPATCHING APPROACHES—EXAMPLE 3
67
TABLE VIII PERFORMANCE COMPARISON OF THE FOUR DISPATCHING APPROACHES-INDICES RELATED TO AREAS (A1–A4) AND WAREHOUSE (WH) RESOURCES
Table VII summarizes the obtained results for experiment 3. The MCD policy outperforms the STD policy. In particular it guarantees shorter traveled paths for both RGVs and a significant reduction of the idle times of the RGVs. This results in a noticeable improvement of the overall execution time of the MOs and of the average execution time of each MO. In this particular example, this is due to the fact that the MCD policy continuously gets information about the status of the buffers and makes sure that, whenever possible, buffers never get completely full or empty. D. Numerical Performance Assessment (Example 4) This final example aims at illustrating the advantages of the integrated supervisory and operational control in the challenging case of four areas dynamically interacting with each others. The analysis considers the average performance of different control policies on 200 randomly generated scenarios in which 100 MOs having random characteristics (and a random arrival time) must be executed. The fundamental peculiarity of the integrated control system with respect to conventional architecture with separated module is the fact that the operational controller is provided with additional information such as the number of tasks that will be inhibited or disinhibited (the indices and defined in Section V) if a certain decision is performed. In principle, choosing a decision policy that leaves more alternative tasks available in the next decision steps may be particularly convenient in such a complex discrete-event environment. In order to quantify the potential advantages of this peculiarity in the considered warehouse, this subsection will consider two multicriteria decision policies, the previously introduced MCD and to perform decisions), and a (which exploits and variant of the MCD (referred as V-MCD) in which are not included in the weighted cost criteria. As done for the MCD, the weights used in the V-MCD are retuned so as to minimize the largest wait time experienced by the MOs in a reference simulated scenario. In addition to MCD and V-MCD, the comparison considers two other reference policies, namely the previously introduced STD rule, and a Dispatching Control Policy (simply referred to as DCP) that mimics the behaviour of the nonintegrated control system currently implemented in the warehouse (see the description in Section II). The summary of the comparison between the four policies is reported in Table VIII. The analysis of resource related performance indices shows that 1) the multicriteria dispatching control methods perform generally better than both STD and DCP policies, and 2) that the integration of the information about
TABLE IX PERFORMANCE COMPARISON OF THE FOUR DISPATCHING APPROACHES-INDICES RELATED TO MOS
task inhibition in MCD contributes to achieve significant performance improvements. More specifically, it can be noted that the MCD yields an RGV utilization that is comparable to that of STD rule (the most challenging reference policy for this index, as also confirmed by other simulation studies [29]). The multicriteria decision policies give considerable improvements in terms of makespan (about 10% for the V-MCD and 14% for the MCD). The average time the RGVs remain in the idle conditions also shows that multicriteria policies tend to increase the resource utilization with respect to the two other policies. The differences between the MCD and its variant neglecting the information from lower-level control modules are significant also in terms of MO-related indices. In fact, Table IX shows that the STD yields the lowest average wait/flow times for the MOs, but also provides quite unsatisfactory (yet comparable with those of the DCP) values for the maximum wait/flow times. Both multicriteria policies give significant improvements for the maximum wait/flow time indices, with the MCD offering a 7% improvement with respect to the V-MCD as a further indication of the advantages of the exchange of information with the supervisory controller. Also the comparatively low values of standard deviations for most performance indices suggest that the MCD is generally a reliable dispatching control policy. Finally, a large campaign of experiments with different weight settings confirms that it
68
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 5, NO. 1, JANUARY 2008
is generally possible to grade the influence of the various criteria to reach different tradeoffs of performances. To sum up, Tables VII–IX, give a clear indication of the advantages of the proposed integrated approach, which become more apparent as the complexity of the system (in terms of number of RGVs and of MOs) increases. VII. CONCLUSION This paper has proposed a novel combined design approach for both supervisory and operational control of a complex AS/RS, in the framework of a matrix based discrete event controller recently proposed in related literature. The proposed control architecture allows the designer to easily model and simulate the system, and to implement low level control policies together with deadlock avoidance and dispatching algorithms. New matrix equations have been proposed to implement deadlock avoidance policies for the system under consideration. Several simulation examples have been provided in order to stress the advantages of the proposed matrix-based framework. In particular we mention its modularity: the behaviour of every vehicle of the system is modelled with a set of matrices which are then stacked together for an overall representation of the system. Also, the proposed control architecture makes it possible to implement multicriteria dispatching policies which use information from both the supervision and the operational control module. In this way the performances of the overall systems in terms of execution times of MOs and of idle times of the RGVs increase significantly, as illustrated by the numerical investigations Future research will be devoted to develop optimization algorithms capable to optimize the weights of the multicriteria dispatching policy online, hence obtaining an adaptive dispatching control. Moreover, research is in progress to extend the mathematical model to the case of SKUs having different sizes.
Fig. 9. Working procedure digraph (edge labels indicate the MO types) and a hypothetical cycle in the transition digraph.
TABLE X COMBINATIONS OF POSSIBLE MO MUTUAL WAITS
APPENDIX In this Appendix, we prove that the inhibition policy presented in Section V-B guarantees that each area is deadlock free, using results about deadlock avoidance described in [7]. Let us initially focus on a single area. To match the notation in [7], let us view the first location in each pickup or delivery buffer and each location on the RGV as system resource , and each MO as a job. The MO type ( , or ) characterizes the sequence of resources that the job must visit. The complete encompassing all the possible working procedure digraph sequences of visited resources for a RGV with four locations is drawn in the left-hand part of Fig. 9. The dynamic interaction called job-resources can be described with subgraphs of where indicates the system transition digraphs state at time (see [7] for further details). By definition, the dihas an edge between resource and resource graph if a job is currently holding and needs to release . A necessary and sufficient condition for deadlock occurrence at system state is the presence of cycles in , as the one depicted in the right-hand part of Fig. 9. In the following we prove that the inhibition policy (33) guarantees the absence of cycles in . By contradiction, let us assume that the
at a given time contains the cycle depicted in the digraph right-hand part of Fig. 9. Each downward and upward edges can be associated to one of the four MO types, and thus, in principle, 16 different type of cycles can occur, as indicated in Table X. We now show that none of these cycles can occur. Let us recall that the supervisory controller allows a pickup to start only if there is at least a free location on the RGV and on the delivery buffer. With regards to Table X, it can be easily observed that cycles 5), 7), 13) and 15) represent impossible conditions that violate the natural order of SKU on the buffer (e.g., -type MOs originate from row 2 and -type MOs from row 1, thus a -type cannot be closer to row1 than an -type MO, and similar remarks apply for the other cycles). Cycles 8), 9), and 12) cannot
GIORDANO et al.: INTEGRATED SUPERVISORY AND OPERATIONAL CONTROL
occur because they are explicitly inhibited by the deadlock prevention policy (e.g., cycle 8) is impossible because if a -type MO is on the RGV, Rule 2 (Table V) inhibits -type pickups). Finally, we can note that in all the remaining cycles, there is at least one MO that is temporarily directed toward the opposite row with respect to the delivery buffer. This circumstance can only occur as a consequence of the SKUs shift necessary to execute a new pickup: to obtain a free location available in front of the pickup buffer, the SKUs are all shifted in the same direction. The fact that during a shift all the SKUs move in the same direction contradicts the existence of these cycles (one of the edges of the cycle must be redirected in the opposite direction). In conclusion, all the considered cycles cannot occur, in contradiction with the initial assumption. For what concerns the possibility of restricted deadlock occurrence (e.g., an indefinite inhibition of some MOs operated by the controller as an effect of deadlock avoidance, see [7]), it should be remarked that the pickup of a MO can be, in principle, kept from occurring until the pickup buffer becomes full, and the MO gains the highest dispatching priority (see Section V-C). This condition certainly occurs under the fairly realistic assumption that SKUs enter each pickup buffer with an unpredictable but finite interarrival time. This remark is also confirmed by the extensive numerical investigations in Section VI, which show that the proposed multicriteria dispatching policy (which incorporates criteria based on number of inhibitions/disinhibitions, MO waiting times and buffer conditions) always provide wellbounded maximum MO waiting times. ACKNOWLEDGMENT The authors would like to thank A. Carbotti for the enthusiastic work on numerical experiments. They also wish to thank Prof. B. Turchiano, M. M. Wong, the Associate Editor, and the anonymous reviewers for their valuable suggestions, which have greatly contributed to the evolution of this research. REFERENCES [1] F. Amato, F. Basile, C. Carbone, and P. Chiacchio, “An approach to control automated warehouse systems,” Contr. Eng. Practice, vol. 13, pp. 1223–1241, 2005. [2] P. Ashayeri, R. M. Heuts, and M. W. T. Valkenburg et al., “A geometrical approach to computing expected cycle times for zone based storage layouts in AS/RS,” Int. J. Prod. Res., vol. 40, no. 17, 2002. [3] B. M. Beamon, “System reliability and congestion in a material handling system,” Comput. Ind. Eng., vol. 36, no. 3, pp. 673–684, 1999. [4] R. De Koster and E. Van Der Poort, “Routing orderpickers in a warehouse: a comparison between optimal and heuristic solutions,” IIE Trans., vol. 30, no. 5, pp. 469–480, 1998. [5] R. Ernst and B. Kamrad, “Allocation of warehouse inventory with electronic data interchange and fixed order intervals,” Eur. J. Oper. Res., vol. 103, pp. 117–128, 1997. [6] E. Fahrettin, R. J. Graves, and C. J. Malmborg, “A comparison of alternative conceptualizing tools for automated storage and retrieval systems,” Int. J. Prod. Res., vol. 41, no. 18, 2003. [7] M. P. Fanti, B. Maione, S. Mascolo, and B. Turchiano, “Event-based feedback control for deadlock avoidance in flexible production systems,” IEEE Trans. Robot. Autom., vol. 13, no. 3, pp. 347–363, Jun. 1997. [8] V. Giordano, P. Ballal, F. Lewis, B. Turchiano, and J. B. Zhang, “Supervisory control of mobile sensor networks: math formulation, simulation and implementation,” IEEE Trans. Syst., Man, Cybern. B, Cybern., vol. 36, no. 4, pp. 806–819, Aug. 2006.
69
[9] B. Harris, F. Lewis, and D. Cook, “Machine planning for manufacturing: Dynamic resource allocation and on-line supervisory control,” J. Intell. Manuf., vol. 9, pp. 413–430, 1998. [10] S. Hsieh, “A Petri-Net-based structure for AS/RS operation modelling,” Int. J. Prod. Res., vol. 36, no. 12, 1998. [11] S. Hsieh and M.-Y. Kang, “Developing AGVS Petri Net control models from flowpath nets,” J. Manuf. Syst., vol. 17, no. 4, pp. 237–250, 1998. [12] Y. Hu, S. Y. Huang, C. Chen, W. J. Hsu, A. C. Toh, and C. K. Loh, “Travel time analysis of a new automated storage and retrieval system,” in Proc. IEEE Conf. Emerging Technologies and Factory Automation, Sep. 16–19, 2003, vol. 1, pp. 75–81. [13] X. Huang and J. Hallam, “Spring-based negotiation for conflict resolution in AGV scheduling,” in Proc. IEEE Int. Conf. Systems, Man and Cybernetics, Oct. 22–25, 1995, vol. 1. [14] H. Hwang, S. Moon, and M. Gen, “An integrated model for the design of end-of-aisle order picking system and the determination of unit load sizes of AGVs,” Comput. Ind. Eng., vol. 42, no. 2–4, pp. 249–258, 2002. [15] B.-Y. Kim, S. S. Heragu, R. J. Graves, and A. St.Onge, “A hybrid scheduling and control system architecture for warehouse management,” IEEE Trans. Robot. Autom., vol. 19, no. 6, pp. 991–1001, Dec. 2003. [16] K. H. Kim and J. Y. Kim, “Estimating mean response time and positioning idle vehicles of automated guided vehicle systems in loop layout,” Comput. Ind. Eng., vol. 33, no. 3–4, pp. 669–672, 1997. [17] M. A. Kosfeld and T. D. Quinn, “Use of dynamic simulation to analyze storage and retrieval strategies,” in Proc. Winter Simulation Conf., Dec. 5–8, 1999, vol. 1, pp. 736–741. [18] J. H. Lee, B. H. Lee, and M. H. Choi, “A real-time traffic control scheme of multiple AGV systems for collision free minimum time motion: a routing table approach,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 28, no. 3, pp. 347–358, 1998. [19] H. F. Lee and S. K. Schaefer, “Sequencing methods for automated storage and retrieval systems with dedicated storage,” Comput. Ind. Eng., vol. 32, no. 2, pp. 351–362, 1997. [20] S. G. Lee, R. de Souza, and E. K. Ong, “Simulation modelling of a narrow aisle automated storage and retrieval system (AS/RS) serviced by rail-guided vehicles,” Comput. Ind., vol. 30, no. 3, pp. 241–253, 1996. [21] F. Lewis, O. C. Pastravanu, and H.-H. Huang, “Controller design and conflict resolution for discrete event manufacturing systems,” in Proc. 32nd IEEE Conf. Decision and Control, 1993, vol. 4. [22] F. Lewis, A. Gurel, S. Bogdan, A. Docanalp, and O. Pastravanu, “Analysis of deadlock and circular waits using a matrix model for flexible manufacturing systems,” Automatica, vol. 34, no. 9, 1998. [23] J. T. Lin and P. K. Dgen, “An algorithm for routing control of a tandem automated guided vehicle system,” Int. J. Prod. Res., vol. 32, pp. 2735–2750, 1994. [24] C. I. Liu, H. Jula, and P. A. Ioannou, “Design, simulation, and evaluation of automated container terminals,” IEEE Trans. Intell. Transp. Syst., vol. 3, no. 1, pp. 12–26, Mar. 2002. [25] C. J. Malmborg and K. M. Altassan, “Analysis of storage assignment policies in less than unit load warehousing systems,” Int. J. Prod. Res., vol. 36, no. 12, pp. 3459–3475, 1998. [26] C. J. Malmborg, “Rule of thumb heuristics for configuring storage racks in automated storage and retrieval systems design,” Int. J. Prod. Res., vol. 39, no. 3, pp. 511–527, 2001. [27] J. Mireles and F. L. Lewis, “Intelligent material handling: development and implementation of a matrix-based discrete-event controller,” IEEE Trans. Ind. Electron., vol. 48, no. 6, pp. 1087–1097, Dec. 2001. [28] T. Murata, “Petri Nets: properties, analysis and applications,” Proc. IEEE, vol. 77, no. 4, pp. 541–580, Apr. 1989. [29] D. Naso and B. Turchiano, “Multicriteria meta-heuristics for AGV dispatching control based on computational intelligence,” IEEE Trans. Syst., Man, Cybern. B, Cybern., vol. 35, no. 2, pp. 208–226, Apr. 2005. [30] B. C. Park, “Optimal dwell point policies for automated storage/retrieval systems with dedicated storage,” Trans. Inst. Elect. Eng., vol. 31, pp. 1011–1013, 1999. ˇ [31] I. Potrc, T. Lerher, J. Kramberger, and M. Sraml, “Simulation model of multi-shuttle automated storage and retrieval systems,” J. Mater. Process. Technol., vol. 157–158, pp. 236–244, 2004. [32] S. A. Reveliotis, “Conflict resolution in AGV systems,” IIE Trans., vol. 32, no. 7, pp. 647–659, 2000. [33] S. P. Singh and M. K. Tiwari, “An intelligent agent framework to determine optimal conflict-free path for an automated guided vehicles system,” Int. J. Prod. Res., vol. 40, no. 16, pp. 4195–4223, 2002.
70
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING, VOL. 5, NO. 1, JANUARY 2008
[34] ——, “Object oriented modelling and development of a dispatching algorithm for automated guided vehicles,” Int. Adv. Manuf. Technol., vol. 23, pp. 682–695, 2004. [35] D. Tacconi and F. Lewis, “A new matrix model for discrete event systems: application to simulation,” IEEE Contr. Syst. Mag., vol. 17, no. 5, pp. 62–71, Oct. 1997. [36] J. P. van den Berg, “A literature survey on planning and control of warehousing systems,” Trans. Inst. Elect. Eng., vol. 31, no. 8, pp. 751–762, 1999. [37] J. R. van der Meer, “Operational Control of Internal Transport,” ERIM Ph.D. dissertation, TRAIL Res. School, Amsterdam, The Netherlands, 2000, Research in management series, also available online as TRAIL Thesis T2000/5. [38] N. Wu and M. Zhou, “Resource-oriented Petri Nets in deadlock avoidance of AGV systems,” in Proc. IEEE Int. Conf. Robotics and Automation, May 21–26, 2001, vol. 1, pp. 64–69.
Vincenzo Giordano was born in Bari, Italy, in 1977. He received the M.S. degree (Hons.) in electrical engineering and the Ph.D. degree in control engineering from the Politecnico di Bari, Bari, in 2001 and 2005, respectively. In 2004, he was a Visiting Ph.D. Student with the Automation and Robotics Research Institute, University of Texas at Arlington (UTA). As a Ph.D. student, he was also co-responsible of the organization and startup of the Robotics Lab at the Politecnico di Bari. In 2005, he was a Visiting Researcher at the Singapore Institute of Manufacturing Technology (SIMTech), Singapore. In 2005–2006, he was a Postdoctoral Fellow with the Automation and Robotics Research Institute, UTA, co-directing the activity of the Distributed Intelligence and Autonomy Lab. His research interests focus on intelligent control techniques applied to robotics, industrial automation, and discrete event systems. He has been published in many international journal and conference papers on these topics. He is presently in the Advanced Systems Engineering branch of Technip, Rome, Italy, working on the design of control systems for petrochemical plants.
Jing Bing Zhang (M’04) received the B.Eng. degree in control and automation from Tsinghua University, Beijing, China, the Ph.D. degree in computer vision and computer-integrated manufacturing from Loughborough University, Loughborough, U.K., and the MBA (Distinction) degree from Birmingham University, Birmingham, U.K., in 1985, 1992, and 2001, respectively. Currently, he is a Senior Scientist with the Singapore Institute of Manufacturing Technology (SIMTech). Since joining SIMTech in 1992, he has assumed various roles of Team Leader, Group Manager, Department Manager, Project Leader/Manager, and Program Head. His research covers networked control, intelligent performance management, condition-based maintenance, fault diagnosis/prognosis, RFID, and wireless sensor networks (WSN). He has widely published in international conference and journals in these areas. Dr. Zhang serves as Associate Editor of the International Journal of Services Operations and Informatics. He is a member of manufacturing virtual grid committee of Singapore National Grid Office, Vice-Chair of the IEEE Industrial Electronics Society (IES) Technical Committee on Integrated Manufacturing and Services Systems (IMSS), Chairman of Singapore Industrial Automation Association Academy, General Chair of the 4th International IEEE Conference on Industrial Informatics (INDIN’06), International Advisory Board member and Technical Track Chair for INDIN’07, Technical program Co-Chair of the IEEE International Conference on Industrial Electronics and Applications (ICIEA’07), and Steering Committee Member of the World Congress on Engineering Asset Management (WCEAM). He has served as session organizers, session chairs, technical committee members, and international advisory panel members for many international conferences. In 2003, he received the IES Prestigious Engineering Achievement Award from the Institution of Engineers, Singapore.
David Naso received the Laurea degree (Hons.) in electronic engineering and the Ph.D. degree in electrical engineering from the Polytechnic of Bari, Bari, Italy, in 1994 and 1998, respectively. He was a Guest Researcher with the Operation Research Institute, Technical University of Aachen, Aachen, Germany, in 1997. Since 1999, he has been an Assistant Professor of Automatic Control with the Department of Electric and Electronic Engineering, Polytechnic of Bari. His research interests include computational intelligence and its application to industrial automation and robotics, numerical and combinatorial optimization, discrete-event systems modeling and control, and distributed control of manufacturing systems. He is the author of many journal and conference papers on these topics.
Frank Lewis received the B.S. degree in physics/ electrical engineering and the M.S.E.E. degree from Rice University, Houston, TX, the M.S. degree in aeronautical engineering from the University of West Florida, Pensacola, and the Ph.D. degree from the Georgia Institute of Technology, Atlanta. He works in feedback control, intelligent systems, and sensor networks. He is author of five U.S. patents, 174 journal papers, 286 conference papers, and 11 books. Dr. Lewis is Fellow of the U.K. Institute of Measurement and Control, PE Texas, U.K. Chartered Engineer, Distinguished Scholar Professor and Moncrief-O’Donnell Chair at University of Texas at Arlington’s Automation and Robotics Research Institute. He received the Fulbright Research Award, NSF Research Initiation Grant, and ASEE Terman Award. Received Outstanding Service Award from Dallas IEEE Section. He was selected as Engineer of the Year by the Fort Worth, TX, IEEE Section. He is listed in the Fort Worth Business Press Top 200 Leaders in Manufacturing. He was appointed to the NAE Committee on Space Station in 1995. He is an elected Guest Consulting Professor at both South China University of Technology and Shanghai Jiao Tong University. Founding Member of the Board of Governors of the Mediterranean Control Association. He helped win the IEEE Control Systems Society Best Chapter Award (as Founding Chairman of DFW Chapter), the National Sigma Xi Award for Outstanding Chapter (as President of UTA Chapter), and the U.S. SBA Tibbets Award in 1996 (as Director of ARRI’s SBIR Program).