Optimizing RFID tag-inventorying algorithms

0 downloads 0 Views 460KB Size Report
Keywords: Markov decision process, slotted Aloha, myopic heuristic, Gen-2. 1. Background and ... C 2010 “IIE”. Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010 ... tag's slot counter) is controlled by a parameter Q, an in-.
IIE Transactions (2010) 42, 690–702 C “IIE” Copyright  ISSN: 0740-817X print / 1545-8830 online DOI: 10.1080/07408171003705714

Optimizing RFID tag-inventorying algorithms LISA M. MAILLART1,∗ , AKRAM KAMRANI1 , BRYAN A. NORMAN1 , JAYANT RAJGOPAL1 and PETER J. HAWRYLAK2 1

Department of Industrial Engineering, and 2 Department of Electrical and Computer Engineering, University of Pittsburgh, Pittsburgh, PA 15261, USA E-mail: [email protected]

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

Received February 2009 and accepted February 2010

Maximizing the rate at which Radio Frequency IDentification (RFID) tags can be read is a critical issue for end-users of RFID technology as well as for RFID hardware manufacturers. Supply chain applications typically involve tags for which the reader–tag communication is regulated by a protocol that enforces a slotted Aloha scheme. This article shows how to dynamically adjust the parameter of this scheme as a function of the number of tags remaining and the last-used value of the parameter, such that the total amount of time required to read a given set of tags is minimized. To do so, several variations of this stochastic shortest path problem are formulated as Markov decision processes, which are then solved for the optimal policies by exploiting the models’ decomposability. Computational results indicate that the optimal policies are complex and static heuristics perform poorly but that a myopic heuristic performs nearly optimally under the current cost structure when the reader processes all slots before selecting a new parameter value. Keywords: Markov decision process, slotted Aloha, myopic heuristic, Gen-2

1. Background and motivation Radio Frequency IDentification (RFID) is a wireless technology for automatic identification in which a reader emits a series of commands to extract data/information from tags. We mathematically model this process as a Markov Decision Process (MDP) to determine the optimal sequence of commands, taking into account the different “costs” associated with issuing each type of command. Recently, RFID has attracted a great deal of attention and experienced strong growth, both as a potential replacement for barcodes as well as in other innovative applications (Woods, 2005). Much of this recent growth has been fueled by mandates from retail giant Wal-Mart (Curtin et al., 2007) and the Department of Defense, but many other service enterprises are independently recognizing the potential benefits of using RFID technology to track objects in real-time (Lee et al., 2004; Asif and Mandviwalla, 2005; Michael and McCathie, 2005; Gaukler et al. 2007), including health service providers (Bacheldor, 2006; Li et al., 2006; Castro and Wamba, 2007), casinos (Swedberg, 2007), and non-defense-related government agencies (Roberts, 2006; O’Connor, 2007). Despite this attention, commercial applications are still mostly limited to tracking at the case or pallet level. There ∗

Corresponding author.

C 2010 “IIE” 0740-817X 

are two main obstacles to overcome before item-level applications will be practical: cost and readability. Costs are rapidly declining, especially for passive tags that are commonly used in supply chain applications. Our focus is on the latter issue, readability, which in turn is determined by two factors: accuracy and speed. Accuracy (Rothfeder, 2004) addresses limitations in term of read range, tag orientation/polarization, and interference (Ramakrishnan, 2005; Penttil et al., 2006). Many researchers, primarily in the electrical engineering community, are actively investigating ways to improve the quality of RFID hardware (readers, tags, and antennas) to address these accuracy issues (see, for example, Birari and Iyer (2005), Cha et al. (2006), Delichatsios et al. (2006), Hawrylak et al. (2006), Ukkonen et al. (2006), and Arumugam et al. (2007)). Whereas accuracy depends upon the specific RFID hardware in use and the environment in which the system operates, speed depends on how efficiently the communications protocol between the tags and the reader is implemented. Consistent with the existing literature, we therefore assume perfect accuracy and focus on the second factor related to readability, namely, speed. In automatic RFID scanning processes, items typically reside on a piece of material handling equipment such as a pallet, forklift, cart, or conveyor. The productivity of many stages in a supply chain, such as warehouses or distribution centers, is often largely determined by the speed at which the material handling equipment can be operated. It is undesirable (and sometimes

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

Optimizing RFID tag-inventorying algorithms infeasible) to stop or slow down a material handling device to ensure that items can be read by an RFID system. RFID read rates are therefore a primary concern in warehousing, distribution, and retail settings at portals designed for functions such as shipping (e.g., at a plant loading dock), receiving (e.g., at a warehouse receiving dock), floor replenishment (e.g., between the backroom/storage area and the retail floor), sales (e.g., at check-out lanes), and packaging material disposition (e.g., at a box crusher area). See Maguire and Pappu (2009) for other examples of applications where speed is an important factor. We address the speed aspect of readability with the overall goal of helping lower the barriers to the adoption of RFID technology at the item level. More specifically, we do so by optimizing the way that an RFID reader should interact with a set of tags, such that the total time taken to read all the tags is minimized. The rest of the article is organized as follows. First, we present a brief overview of RFID technology (Section 1.1) and describe the existing protocol that governs RFID communication with the type of tag most commonly used in supply chain applications (Section 1.2). In Section 2 we formally state the problem, describe our approach, and summarize the relevant literature. In Section 3, we formulate MDP models for two types of policies. Section 4 describes our solution procedure and provides computational results. Section 5 provides a summary of our conclusions and describes future extensions on which we are currently working. 1.1. An overview of RFID technology RFID systems are comprised of two main components: tags and readers. Tags store information (typically about a product to which they are affixed) and have a unique identification (ID) number; a reader is used to read the tags and to transmit their information to appropriate software applications. RFID tags are either active, meaning they contain their own power source, or passive, meaning they receive the required power from the reader’s signal. The majority of applications that involve the tracking of items in a supply chain context, in which read rates matter most, use passive tags. Within the class of passive tags, there are High Frequency (HF) tags and Ultra High Frequency (UHF) tags. HF tags are less susceptible to interference and more robust with respect to different orientations relative to the reader antenna; however, they have a much lower read range compared to UHF tags. For these reasons, UHF tags are being strongly advocated by both Wal-Mart and the Department of Defense and are used in most supply chain applications. Standards or “protocols” that govern the way in which the reader and the tags interact have been recently developed, or are under development, for all types of tags. Such standards are needed to ensure compatibility between tags and readers from different manufacturers. The ISO-180007 standard for active tags is currently under revision; the

691 standard for passive HF tags is still under development; and the ISO 18000-6C standard (the “Gen-2 protocol”) for passive UHF tags is currently in use. We focus on passive UHF tags because they are most common in supply chain RFID applications and have a well-established protocol. 1.2. Description of the Gen-2 protocol The Electronic Product Code Generation 2, Class 1 UHF protocol (or more commonly, the Gen-2 protocol), was adopted by ISO to standardize the operation of passive RFID tags operating in the UHF range (EPCglobal, 2005). The Gen-2 protocol defines a number of commands that can be used to read and write to the tags. The most frequently used commands are those that collect the tag IDs; this process is referred to as inventorying the tags. Because the tags have very limited capabilities and the reader may only communicate with one tag at a time, the Gen-2 protocol uses a generalization of the Aloha scheme (Abramson, 1970) called the slotted Aloha scheme that was introduced by Roberts (1972). This scheme has been used in other applications such as Code Division Multiple Access wireless networks (e.g., Mergen and Tong (2007)). The slotted Aloha scheme repeatedly divides time into some fixed number of discrete timeslots and allows transmission(s) from a tag(s) only at the beginning of each timeslot. The timeslot in which a tag responds (referred to as the tag’s slot counter) is controlled by a parameter Q, an integer between zero and 15 that is set and transmitted by the reader. More specifically, each tag generates a random 16-bit binary number and, upon receiving the value of Q from the reader, extracts Q of these bits to determine its slot counter value; thus, this value is an integer between zero and (2 Q − 1). If two or more tags generate the same slot counter value, then when the reader attempts to process this timeslot it experiences a tag collision since multiple tags attempt to communicate with the reader at the same time. When a collision occurs, the reader is generally not able to discern how many tags responded, nor is it able to read these tags’ IDs. These tags must (at some point) generate new slot counter values in order to be read. In specifying this slotted Aloha scheme, the Gen-2 standard defines three commands that may be transmitted to the tags by the reader at any time: Query, QueryRep, and QueryAdjust. 1. A Query command (22 bits) instructs the unread tags to generate new slot counters by transmitting a value of Q. A Query command is required to initiate the inventorying process, as well as any time the reader sends a new value of Q that differs from the last value of Q by more than one. 2. The QueryRep command (4 bits), which requires fewer bits than the Query command, instructs all unread tags to decrement their slot counter by one (or equivalently, “move” to the next lowest timeslot).

692

Maillart et al.

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

3. Like a Query, a QueryAdjust command (9 bits) instructs the unread tags to generate new slot counters. The reader uses the QueryAdjust command when the “new” value of Q differs from the last-used value of Q by at most one (i.e., the same value, one unit larger or one unit smaller). Following each of these commands, any tag whose slot counter is currently zero responds to the reader with its ID number. That is, following each of the three commands, one of the following events occurs: (i) no tags respond because none of them have a slot counter of zero; (ii) a single tag responds and is hence read; or (iii) multiple tags respond, in which case a collision occurs. If (ii) occurs, then after acknowledging the response, the reader marks the tag as read and this tag no longer participates in the query–response process. The inventorying procedure is illustrated in Fig. 1 for the case in which there are three tags to be read (A, B, and C) and a value of Q = 2 is issued by the initial Query command. Each tag independently chooses a slot counter value of 0, 1, 2, or 3 = 2 Q − 1 at random, and in this particular example, the reader then transmits a series of QueryRep commands. The instances in which slot 0 is shaded indicate that the tag(s) in that slot are responding to the reader. In Case (a) the three tags are read with no collisions, whereas in Case (b) only Tag C is read; Tags A and B collide on the second QueryRep because they both generated an initial slot counter value of two. After each type of event, the reader may issue any one of the three commands. Following a collision, if the reader issues a QueryRep, then the tags whose counters have reached zero simply roll over to the highest slot number (2 Q − 1). We 0

refer to the Query and QueryAdjust commands as renumbering commands. Clearly, a trade-off exists in that selecting a larger value of Q results in a larger proportion of empty timeslots, whereas selecting a smaller value of Q results in a greater number of potential collisions, which require (eventual) renumbering of the tags. Further contributing to this fundamental trade-off is the fact that the number of bits required by the Query, QueryAdjust and QueryRep commands are different (22 bits, 9 bits, and 4 bits, respectively, in the current protocol) and the time required to transmit a command is directly proportional to its bit length.

2. Problem statement and literature review There are no published details about how different reader manufacturers implement the Gen-2 protocol in real-time within their readers and no indication that the process has been optimized. Based on our conversations with reader manufacturers, they either cannot or will not divulge details on implementation which is considered to be a competitive factor. Indeed, as Finkenzeller (2003) states, “For reasons of competition, system manufacturers are not generally prepared to publish the anticollision procedures that they use. Therefore, little can be found on this subject in the technical literature. . . .” Hence, we determine optimal policies that adaptively specify which commands a reader should issue when inventorying a set of passive UHF RFID tags within the constraints of the Gen-2 protocol. These policies optimally adjust the value of Q during the inventorying process as a function of the number of tags remaining to be read and the A

C Query; Q=2

QueryRep

QueryRep

1

C

A

2

A

B

3

B

B QueryRep

B

all tags read

Case (a): Three successful reads

0

A,B

C Query; Q=2

QueryRep

QueryRep A,B

1

COLLISION 2

A,B

3

Case (b): One successful read, one collision

Fig. 1. An example of the tag inventorying process.

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

Optimizing RFID tag-inventorying algorithms most recently used value of Q, such that the total expected amount of time required to read all tags is minimized. We restrict our attention to the situation in which the total number of tags is known in advance. This assumption is valid for cartons with a fixed number of tagged items, or for situations in which a pallet tag conveys the total number of tags prior to the start of the inventorying process. Furthermore, we restrict our attention to cases in which the reader implements either: (i) a policy that issues one of the two renumbering commands (Query or QueryAdjust) following each collision; or (ii) a policy that issues 2 Q − 1 QueryRep commands following a renumbering command with value Q, or essentially processes every timeslot before issuing the next renumbering command. (We refer to these policies as Renumber on Collision, or “RC,” and Renumber after Full cycle, “RF,” respectively.) The corresponding optimal policies can be implemented in any environment, provided that the number of tags is known. The myopic policies considered in the existing literature are also of “RF” type. Moreover, restricting our attention to these types of policies ensures that the reader always knows how many tags remain to be read. Therefore, these types of policies are much easier to implement compared to policies under which the reader may only know the distribution of the number of tags remaining to be read. We formulate these optimization problems as stochastic shortest path problems using MDP models (see Puterman (1994)). To the best of our knowledge, we are the first to study the query–response process managed by the Gen-2 protocol using dynamic programming. Several researchers in the electrical engineering community (Lee et al., 2005; Zhen et al., 2005; Chen 2008; Maguire and Pappu, 2009) study the query–response process but consider an unknown number of tags. Therefore, their primary focus is on updating a point estimate of the number of tags remaining. Assuming such an estimate is correct, their problem reduces to ours; however, they ignore the cost structure of the problem and use heuristic policies to set Q rather than deriving optimal ones that capture the different bit length requirements of the different commands. The heuristics are “RF”-type policies and based on the notion that, in the absence of command-specific bit requirements, maximum throughput is achieved when the number of slots equals the number of tags (Finkenzeller, 2003). Whether or not this, or other types of heuristic policies perform well when the command-specific bit requirements are taken into account remains unknown and, so far, has not been addressed in a rigorous fashion. We contribute to the literature by rigorously modeling the process as an MDP, solving for the optimal policy and addressing this open question.

3. Model formulation In this section, we formulate MDP models that minimize the expected number of bits required to read a set of tags

693 known to be of size n; Sections 3.1 and 3.2 model cases (i) and (ii) as defined in Section 2, respectively. Given a conversion from bits to time, which varies from reader to reader, minimizing the total expected number of bits transmitted between the reader and the tags is equivalent to minimizing the total expected time required to read the tags. Because of the variability in read rate from reader to reader, we choose to work in bits since this unit is common to all readers. Assuming that all of the tags are eventually read (i.e., none of the tags are unreadable from an accuracy perspective), the total number of bits is, in general, comprised of a fixed portion and a variable portion. The fixed portion is transmitted irrespective of the specific policy used to dynamically adjust Q; examples of this include the RN16 (a uniformly distributed 16-bit random number that every tag exchanges with the reader when it is successfully read) and the actual EPC identification number of the tag. The variable portion is a function of the number of Query, QueryRep and QueryAdjust commands issued during the entire inventorying process, which depends on the specific policy used. It is this latter, variable component that we aim to minimize. As described in Section 1 and Fig. 1, a tag responds whenever its slot counter hits zero, which happens when the tag generates an initial counter value of zero, or more commonly, when the counter reaches zero as the tag decrements its counter value one by one in response to a series of QueryRep commands from the reader. In terms of model formulation, it is more helpful to imagine instead that a sequence of QueryRep commands is a process by which the reader sequentially “checks” or “processes” each timeslot, starting with slot 0 and proceeding (possibly) to slot 2 Q − 1; when the reader processes the i th slot, any tag that generated an initial slot counter value of i in response to the last renumbering command responds to the reader. The two viewpoints are equivalent from a modeling perspective, and we adopt the latter. 3.1. Mandatory renumbering post-collision First, assume that the reader must issue a renumbering command after every collision but has the option of issuing a renumbering command at other times as well (i.e., when there is no collision). Let n > 1 be the total number of tags, i be the number of tags currently remaining to be read, q be the value of Q used in the most recent renumbering command, and x be the number of timeslots remaining to be “checked.” Because any tag(s) in timeslot 0 immediately respond(s) following a Query or QueryAdjust, the number of timeslots that remain to be checked after a renumbering command is issued with a Q value of q is 2q − 1. Each QueryRep reduces this number by one; thus, x equals 2q − 1 minus the number of QueryReps issued since the last renumbering. The state space of the process is defined to be {(i, x, q) : i ∈ I, x ∈ {−1} ∪ X , q ∈ {−2} ∪ Q where I ≡ {0, 1, . . . , n}, X ≡ {1, 2, . . . , 215 − 1} and

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

694

Maillart et al.

Q ≡ {0, 1, . . . , 15}. Let x = −1 denote the situation in which the most recent response to a reader command was a collision. Also, let q = −2 denote the situation in which the tags have not yet been numbered for the first time. (Clearly, if x > 0, then since x < 2q , it follows that q ≥ log2 x, but we leave Q defined as is for clarity of exposition.) Assuming that each time the tags are renumbered every tag (independently) selects each timeslot with equal probability, then the number of tags that respond to a command when there are i tags and x slots remaining is either zero, one (a successful read), or more than one (a collision) with probability   1 i , (1) p0 (i, x) = 1 − x  1 if i = 1, x = 1 i −1 1  (2) p1 (i, x) = otherwise, i 1 − x1 x (3) p−1 (i, x) ≡ 1 − p0 (i, x) − p1 (i, x), respectively, for all i ∈ I, x ∈ X . Let cr denote the bit length of a QueryRep and c(q, a) denote the bit length of the command (either a Query or a QueryAdjust) required to renumber the tags using a value of Q = a given that the last-used value of Q was q (or, if q = −2, given that no commands have been issued). Recall from Section 1.2 that the Query and QueryAdjust commands require different bit lengths, making this definition of c(q, a) necessary. Let V(i, x, q) be the minimum expected time-to-go until all of the tags are read starting from state (i, x, q). By timeto-go, we mean the sum of the bit lengths of each of the Query, QueryAdjust and QueryRep commands required to complete the inventorying process. (As mentioned in Section 2, there are other factors that contribute to the total time required to read the tags, such as required fixed wait times between commands. Including these factors would simply offset the value function by a constant and not affect the optimal policy; hence we omit them.) Furthermore, let A denote the set of possible values of Q to use when renumbering; i.e., A = {0, 1, . . . , 15}. Clearly, if zero tags remain, then the problem terminates; i.e., V(0, ·, ·) = 0. Now consider state (i, x, q), i > 0. Under the optimal policy, if the reader issues (a) a Query or a QueryAdjust command (i.e., a renumbering command) with a value of Q = a, then the time required to issue this command plus the minimum expected time-to-go after the tag(s) with slot counter equal to zero respond(s) is given by RNa (i, q) = c(q, a) + V(i, −1, a) p−1 (i, 2 ) 1  V(i − j, 2a − 1, a) p j (i, 2a ); (4) + a

j =0

(b) a QueryRep command, then the time required to issue this command plus the minimum expected time-to-go

is given by QR(i, x, q) = cr + V(i, −1, q) p−1 (i, x) 1  + V(i − j, x − 1, q) p j (i, x). (5) j =0

Therefore, for the states in which the reader is required (by assumption) to renumber the tags, i.e., following a collision or when the tags have yet to be numbered for the first time, we have, respectively: V(i, −1, q) = min {RNa (i, q)} for i ∈ {2, . . . , n}, q ∈ Q, a∈A

V(i, ·, −2) = min {RNa (i, −2)} for i ∈ {2, . . . , n}. a∈A

Note that states (1, −1, q) are unreachable since a collision cannot occur when only one tag remains, as are states (1, ·, −2) since we assume n > 1. For the remaining states, namely, states (i, x, q) for i = 1, . . . , n, x ∈ X and q ∈ Q in which renumbering is not mandatory, V(i, x, q) equals either the minimum expected time-to-go associated with issuing a QueryRep or the minimum expected time-to-go associated with renumbering the tags, whichever is smaller. Since the value of x is irrelevant when renumbering the tags, the latter quantity equals the minimum time-to-go associated with optimally renumbering post-collision when i tags remain and the last-used value of Q = q, in which case: V(i, x, q) = min {QR(i, x, q), V(i, −1, q))} .

(6)

In Section 4, we also consider the special case in which renumbering commands may be issued if and only if a collision occurs, in which case Equation (6) reduces to V(i, x, q) = QR(i, x, q). We refer to this special case as the Renumber after Collision Only or “RCO” model, as opposed to the less restrictive model (6) that Renumbers after Collision but at other times as well (the “RC” model). 3.2. Mandatory processing of all timeslots Now, assume that after each renumbering command the reader must fully “cycle through” all of the timeslots prior to issuing the next renumbering command. We refer to this model as the “RF” model. In this case, the number of slots remaining, x, can be dropped from the state definition and we can express the minimum expected time-to-go starting from state (i, q), as  V(i, q) = min c(q, a) + (2a − 1)cr a∈A

+

min{i −2,2a −1}

 ρ2a (γ |i )V(i − γ , a) ,

(7)

γ =0

i ∈ {2, 3, . . . , n}, q ∈ {−2} ∪ Q, where ρs (γ |i ) is the probability that checking s slots results in γ successful reads

Optimizing RFID tag-inventorying algorithms

695

given that there are i tags remaining (Vogt, 2002):

Solving for the optimal policy for up to 1024 tags requires a very large state space, however, as mentioned in Section 3.1, we can reduce the size of the state space by noting that if there are x slots remaining, then the most recent value of q must have been at least log2 x. Eliminating states with q < log2 x reduces the state space by more than a factor of three. Despite this reduction, the size of the state space is still on the order of 230 million, which is clearly a challenge given the curse of dimensionality associated with dynamic programming models (Puterman, 2004). Fortunately, because from state (i, x, q) the process can only enter states with i or i − 1 tags remaining, solving the model for up to 1024 tags decomposes into solving 1024 stochastic shortest path problems (Bertsekas, 2001). That is, given the optimal time-to-go for all states with i − 1 tags remaining, we can solve for the optimal set of actions with i tags remaining. Therefore, using policy iteration, we sequentially solve individual problems for each value of i , i = 1, . . . , 1024, starting with i = 1. Each of the 1024 stochastic shortest path problems has approximately 230 000 states. (As a point of reference, should one want to explore alternative cost structures or larger numbers of tags, solution times can range from less than a minute for small numbers of tags [i.e., less than 32] to several hours for large numbers of tags.) Lastly, after using this approach to solve for the optimal action in every state, we reduce the dimensionality of the optimal policy by eliminating the states that are unreachable under the optimal policy starting from any state (i, ·, −2), i = 2, . . . , 1024. For n = 1024, the resulting optimal policy contains approximately 13 000 reachable states. Therefore, implementing the optimal policy on a set of 1024 tags requires managing a look-up table of roughly this size.

  γ −1 s G(s − γ , i − γ ) ρs (γ |i ) = (i − k), si γ

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

k=0

G(M, m) ⎧ m  k−1  ⎪ ⎪ m k ⎪ (m − j )(M − j ) (−1) M ⎪ ⎪ ⎪ ⎪ k=1 j =0  ⎪ ⎪ ⎪ ⎪ ⎪ (m−k) ⎪ /k! , M = m, × (M − k) ⎪ ⎪ ⎪ ⎪ ⎪ m−1 k−1 ⎨  (−1)k (m − j )(M − j ) = Mm ⎪ ⎪ k=1 j =0 ⎪ ⎪ ⎪ (m−k) ⎪ × (M − k) /k! + (−1)m ⎪ ⎪ ⎪  m−1 ⎪ ⎪ ⎪ ⎪ × (m − j )(M − j )/m! , M = m > 0, ⎪ ⎪ ⎪ ⎪ j =0 ⎪ ⎩ 1 M = m = 0. That is, the total expected time-to-go starting with a renumbering (or initial numbering) command in state (i, q) with a value of Q = a is the duration of the renumbering command, c(q, a), plus the duration of 2a − 1 QueryReps, plus the expected time-to-go starting from state (i − γ , a), where γ is the number of successful tags successfully read in that cycle. The summation over the number of successful reads in a cycle runs between zero (i.e., every timeslot holds multiple tags or no tags), and min{i − 2, 2a − 1} since: (i) if γ = i , then the problem terminates after the cycle and the time-to-go is zero; (ii) for γ = i − 1, ρs (γ |i ) = 0 for all s and i , since it is impossible to leave exactly one tag unread; and (iii) if 2a < i , then the maximum number of possible reads is 2a − 1 since at least one collision is guaranteed.

4. Results 4.1. Solution technique The number of RFID tags that must be read at any point in time varies by application. Typically, tags are read as they pass through a portal as part of a unit load. Unit load sizes vary from individual cartons to tote bins to pallets. Thus, the number of RFID tags on a unit load may vary from one to several hundred to a few thousand. However, typical unit loads contain less than a few hundred items or cartons that would be individually tagged. We, therefore, calculate results for up to 1024 tags because in practice most unit loads contain less than this many tags. In describing our solution technique, we restrict our attention to the model presented in Section 3.1, but the same procedure is used to solve the problem presented in Section 3.2 as well. When solving for the optimal policy, we include the starting states (i, ·, −2), i = 2, . . . , 1024, so that we are fully determining the optimal policy for all numbers of tags less than or equal to 1024.

4.2. Optimal policies For the numerical results presented in this section, consistent with current practice, cr = 4 and ⎧ ⎨ 9 if |q − a| ≤ 1 (corresponding to a Query Adjust), c(q, a) = ⎩ 22 if |q − a| > 1 (corresponding to a Query), q ∈ {−2} ∪ Q, a ∈ A. Although we have solved the models formulated in Section 3 for up to n = 1024 tags, in this section we present the optimal policies for more modest numbers of tags for clarity of exposition. 4.2.1. Mandatory renumbering post-collision (RC) Let a ∗ (i, x, q) denote the optimal value of Q to use when renumbering in state (i, x, q). If it is not optimal to renumber in state (i, x, q), then we define a ∗ (i, x, q) = −1. Figure 2 depicts a portion of the resulting optimal policy, namely, a ∗ (i, x, q) for all i ∈ I, x ∈ X , and q ∈ {4, 5, 6} for n = 64. We use a sample path to illustrate the implementation of this policy. The optimal value of Q when numbering

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

696

Fig. 2. A potential sample path realization under the optimal RC policy starting with 64 tags.

Maillart et al.

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

Optimizing RFID tag-inventorying algorithms the tags for the first time is six, i.e., a ∗ (64, ·, −2) = 6; hence, the sample path originates in state (64, 64, 6). The solid grey points in the top plot represent those states that are reachable when starting in state (64, 64, 6), and in which it is optimal to renumber. For this particular sample path, zero tags respond to the initial Query command, and the process enters state (64, 63, 6). The first 39 QueryRep commands result in 19 successful reads, 20 instances in which no tags respond, and no collisions, which maps to state (45, 24, 6). The optimal action in this state is to renumber the tags with a value of Q = 6, which maps to state (45, 64, 6). The intuition associated with renumbering when reaching a state on this “lower boundary” is that the reader has read relatively few tags compared to the number of timeslots checked since the last renumbering, which indicates that many of the remaining timeslots are likely to contain multiple tags and therefore there is a relatively high likelihood of collision. On the 20th QueryRep following this renumbering (eight of which resulted in successful reads), two or more tags respond, resulting in a collision, which forces renumbering. The optimal value of Q to use is six, i.e., a ∗ (37, −1, 6) = 6, which maps to state (37, 64, 6). The sample path continues until it reaches state (12, 29, 6) in which it is optimal to renumber using a value of Q = 5. The intuition associated with renumbering when reaching a state on this “upper boundary” is that the reader has read a relatively large number of tags in the timeslots checked since the last renumbering, which indicates that many of the remaining slots are likely to be empty. The subsequent state is (12, 32, 5), which resides on the middle plot in Fig. 2. The black points in the Q = 5 plot represent all of its possible starting states. These points correspond to the post-renumbering states with 32 timeslots in the Q = 6 plot. It is interesting to note that in state (12, 32, 5), regardless of whether timeslot 0 contains no tags, exactly one tag, or multiple tags, the reader will immediately renumber again using a value of Q = 4. The intuition associated with these back-to-back QueryAdjust commands is that two QueryAdjust commands require 18 bits, whereas a single Query command requires 22 bits; hence, it is never optimal to select a new value of Q that differs from the last-used value of Q by exactly two. The sample path continues in this fashion in the bottom plot until all tags are read. It is also interesting to note that under the current cost structure, the optimal policy is such that it is never optimal to use fewer timeslots than there are tags remaining. Hence, the optimal policy favors empty slots to slots occupied by multiple tags. 4.2.2. Mandatory processing of all timeslots (RF) Figure 3 illustrates a portion of the optimal policy for the RF model of Section 3.2 (the myopic policy depicted in Fig. 3 is discussed in Section 4.3). The bottom band indicates the optimal initial value of Q for a set of tags of any given size. For example, if reading a set of tags between size

697 23 and 46, then it is optimal to begin the process with a Query command that sets Q = 5. Take for instance, n = 36. After processing each of the initial 32 timeslots, the number of tags remaining will be between 36 (no successful reads) and five (31 successful reads and one collision involving five tags). The optimal next value of Q is given by the band corresponding to a last-used Q of five. For example, if the initial 32 timeslots resulted in ten successful reads (26 tags remaining), then a QueryAdjust command would be used to specify the next value of Q = 5, whereas if the initial 32 timeslots resulted in 30 successful reads (six tags remaining), then a Query command would be used to specify the next value of Q = 3, and so on. It is interesting to note that the optimal value of Q is not necessarily monotone in the last-used value of Q for a given number of tags remaining. For example, a ∗ (10, 5) = 4 but a ∗ (10, 4) = a ∗ (10, 6) = 3. 4.3. Policy comparisons In this section, we compare the performance of the optimal RCO, RC and RF policies under the current cost structure to each other and to that of two heuristic policies. We compute the expected number of bits required by the heuristic policies by performing the Policy Evaluation step of the policy iteration algorithm (Puterman, 2004). The first heuristic policy is a so-called static policy that never adjusts Q from its initial value. We examine the “best” static heuristics for RC, RCO, and RF by evaluating, for each value of n, the static policy corresponding to each value of Q, and then identifying the one with the minimum expected bit count. The second heuristic policy is a socalled myopic policy that uses the value of Q that maximizes p1 (i, 2 Q ), the probability that timeslot 0 contains exactly one tag. That is, the value of Q used with i tags remaining is given by Q∗ (i ) ≡ argmax Q { p1 (i, 2 Q )}     1 i −1 1 , = argmax Q i 1 − Q 2 2Q

(8)

the solution to which is either log2 (i ) or log2 (i ) . Note that maximizing p1 (i, 2 Q ) is the same as maximizing the percentage of slots that are occupied by exactly one tag, and that this heuristic is consistent with the ones used in Chen (2008) and Maguire and Pappu (2009). Figure 4 plots the expected number of bits required under six different policies, for up to 128 tags. The RC/O policies correspond to both RC and RCO policies; i.e., the performance of the RC and RCO policies is indistinguishable. To understand this result consider the fact that if the number of timeslots equals the number of tags (i.e., x = i ) then as i → ∞ both p0 (i, x) and p1 (i, x) approach (1/e) ≈ 0.368, while p−1 (i, x) approaches {1 − (2/e)} ≈ 0.274. Moreover, consistent with the observations in Maguire and Pappu

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

698

Maillart et al.

Fig. 3. Optimal policy for the RF model for up to 93 tags. The shaded points correspond to the optimal value of Q.

(2009), this convergence happens very fast; the probability of a collision reaches its limiting value at roughly i = x = 10. Therefore, any policy that maintains a rough equivalence between the number of timeslots and the number of tags would experience a collision in approximately one out of every four slots. As evidenced by the “V”-shaped boundary in Fig. 2, the optimal RCO policy strives to maintain a balance between the number of timeslots and the number of tags, but as noted in Section 4.2, the optimal RCO policy favors empty timeslots to collisions. Hence, we would expect collisions to occur slightly less often than one in four, but still rather frequently, in which case the likelihood that a sample path reaches one of the “boundaries” in Fig. 2 is very small. That is, it is much more likely that a collision(s) occur before the sample path hits one of the boundaries; hence, the nearly equivalent performance of the RCO and RC policies. It also should be mentioned for the sake of clarity that the illustrative sample path shown in Fig. 2 is optimistic in the sense that it includes very few collisions compared to the expected number of collisions. Indeed, this particular sample path requires only 511 bits, whereas the expected

total bit count for 64 tags under the optimal RC policy is 875.42 bits. As seen in Fig. 4, the total time-to-go is highly linear in the number of tags remaining under all six policies depicted. The optimal RCO policy outperforms both the myopic RCO policy and, to a larger degree, the static RCO policy. Moreover, the superiority of the optimal policy over the heuristics increases in the number of tags. In terms of the RF policies, the static RF policy performs comparably to the myopic RCO policy. However, the myopic RF policy and the optimal RF policy perform almost identically and clearly dominate, indicating that renumbering after every collision is excessive. A high degree of similarity between the optimal and myopic RF policies themselves (as opposed to their expected bit counts) is also apparent in Fig. 3. (In making this comparison, recall that the myopic policy is independent of the last-used value of Q.) It is well known (Finkenzeller, 2003) that in the absence of command-specific costs, the RF strategy achieves its maximum read rate when the number of slots and the number of tags are equal. The myopic RF policy given by Equation (8) approximately equates slots and tags in that, for

Optimizing RFID tag-inventorying algorithms

699

static RC/O

myopicRC/O

optimal RC/O

static RF

myopicRF

optimal RF

2500

30% 2000

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

total expected bits

6.5% 25% 18.5% 1500

1000

500

0 0

20

40

60

80

100

120

total number of tags

Fig. 4. Policy performance comparison with approximate percentage improvements.

4.4. Alternative cost structures

We perform this comparison by fixing two of the costs at their current values and letting the third vary between the resulting limits. Note, however, that the results for any scalar multiple of a given cost vector are identical to those for the original vector; i.e., the percentage loss for cost vector (c1 , c2 , c3 ) is the same as that for cost vector (kc1 , kc2 , kc3 ) for any finite, positive constant k. The percentage increase in cost as a result of using the myopic rather than the optimal policy is presented in Figs. 5, 6, and 7 for various values of each of c1 , c2 , and c3 , respectively. Each figure presents results for a total number of tags, n, of 32 and 64.

In this section, we study the performance of the optimal RF policy and the myopic RF policy under alternative cost structures. This question is of interest from a practical standpoint because the costs considered in the previous section correspond only to the Gen-2 protocol, whereas the slotted Aloha scheme could be incorporated into other protocols. Moreover, protocols are often revised, and it is possible that the existing standards could be updated over time and result in different cost structures. For clarity, redefine the cost of issuing a QueryRep, QueryAdjust, and Query command to be c1 , c2 , and c3 , respectively. By definition, a QueryRep command can never be more expensive than a QueryAdjust command, and the latter in turn can never be more expensive than a Query command; hence, we ensure that c1 ≤ c2 ≤ c3 in all cases.

Fig. 5. Performance for various values of c1 .

a given number of tags, it sets the number of slots equal to one of the two closest powers of two. Observing the similarity between the optimal and myopic RF policies indicates that the specific cost structure considered (cr = 4 and c(q, a) = 9 when |q − a| ≤ 1, and 22 otherwise) does not appear to significantly impact this result. A question of interest then is how the performance of these policies compare under alternative cost structures. We consider this question in the following subsection.

700

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

Fig. 6. Performance for various values of c2 .

For the cost of a QueryRep command (Fig. 5) the myopic and optimal policies are virtually indistinguishable for costs greater than three, but the penalty associated with using the myopic policy increases very sharply as c1 becomes small relative to c2 and c3 . Because the myopic policy does not consider the relative values of c1 , c2 , and c3 in determining when to issue a QueryAdjust or a Query command, as c1 becomes very small relative to c2 and c3 the myopic policy prescribes too few slots. That is, the myopic policy prescribes Q values smaller than optimal, resulting in the need for multiple (expensive) QueryAdjust or Query commands, whereas the optimal policy is able to capitalize on the (cheap) QueryRep cost and prescribe a large number of slots. For the cost of a QueryAdjust command (Fig. 6) the percentage loss is surprisingly non-monotone. That is, the penalty is fairly small when the cost is at its lower bound of four (the cost of a QueryRep), gradually decreases to a minimum at an approximate value of nine and then increases again somewhat more sharply as c2 approaches its upper bound of 22 (the cost of a Query). The reasoning behind this non-monotone behavior is that when c2 is small the optimal policy prescribes smaller Q values and hence more QueryAdjusts than the myopic policy. When c2 is large (close to c3 ’s value of 22) the myopic policy is penalized by continuing to use QueryAdjusts even though they are relatively expensive.

Maillart et al. Finally, for the cost of a Query command (Fig. 7), the penalty increases in an almost linear fashion at the rate of somewhere between 0.5% and 1% for every 10 unit increase in cost. This gradual linear increase is a result of the fact that as c3 increases, it quickly becomes optimal to issue only one Query command (the one required to start the inventorying process). The myopic policy, however, continues to issue, on average, 1.4 Query commands for n = 32 and 1.5 Query commands for n = 64. It is interesting that in all cases the penalty is larger when there are fewer tags. This difference is more pronounced in Figs. 6 and 7 because the ratio of the average number of QueryReps to the average number of QueryAdjusts and Query commands increases as the number of tags increases. Therefore, the total expected cost is less impacted by the values of c2 and c3 . 4.5. Variability analysis The models in Section 3 minimize the expected number of bits (or equivalently the time) required to read a set of tags. However, the variability of this performance objective is also of interest. Variability is important to consider because: (i) large variability could lead to erratic performance if one uses results based only on the expected value; and (ii) a characterization of the amount of variability allows us to set limits on worst-case performance, which may influence settings such as conveyor speed. In this section, we characterize the variability of the performance of the RF optimal policy. We restrict our attention to this policy because it outperforms the other six policies investigated but anticipate nearly identical results for the RF myopic policy given the similarities between the myopic heuristic and the optimal RF policy apparent in Figs. 3 and 4. To characterize the variability of the performance of the RF optimal policy, we simulated the implementation of the policy for n = 1, 10, 32, 64, 128 tags and tracked the actual bit counts for each of 100 replicates with different random number seeds. For each value of n, we calculated the standard deviation s across the 100 replicates to construct a 100(1 − α)% one-sided prediction interval U PLα (n) on the bit requirement; that is, U PLα (n) = V(n, ·, −2) + t100,α s,

Fig. 7. Performance for various values of c3 .

where V(n, ·, −2) is the expected value determined by the RF model, α is the level of significance and t100,α is the corresponding t-statistic. Thus, there is a probability of (1 − α) that a set of n tags will require no more than U PLα (n) bits. Table 1 reports the corresponding values for α = 0.01. The first column lists the number of tags, the second column contains the expected number of bits, the third column reports the 99% upper limit on the number of bits and the final column displays an estimate of the coefficient of variation. Based on these results, the coefficient of variation tends to decrease in the number of tags. Indeed, it is just

Optimizing RFID tag-inventorying algorithms Table 1. Variability results n 1 10 32 64 100 128

V(n, ·, −2)

U PL0.01 (n)

s/V(n, ·, −2)

22 136.67 385.54 743.17 1150.3 1452.3

22 219.64 506.84 910.27 1347.1 1705.5

0 0.2567 0.1331 0.0951 0.0723 0.0738

under 7.5% for n = 128, which is encouraging because it implies that the amount of variability in the read time when using the optimal RF policy is quite low, especially for large numbers of tags.

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

5. Conclusions 5.1. Summary We present a new, mathematically rigorous approach to modeling and optimizing the query–response process between an RFID reader and a set of tags, that captures command-specific costs not previously considered. The work is especially significant because of the ongoing growth in the deployment of RFID technology and the barriers that it faces with respect to large-scale implementation. Our results indicate that under the simplistic approach of renumbering the remaining tags if and only if a collision occurs, the optimal policy beats the static heuristic by approximately 30% and the myopic heuristic by approximately 6.5%. Under this approach, the additional flexibility to renumber the tags at other times is of no practical benefit. Under the approach of querying all timeslots prior to renumbering the remaining tags, the optimal policy outperforms the static policy by approximately 25% but offers little practical benefit over the myopic heuristic. Moreover, the RF approach offers a savings of approximately 18.5% compared to the RC approach. Although the myopic heuristic performs close to the optimal policy for the command-specific costs given in the Gen-2 standard, we also demonstrate that the myopic heuristic can perform significantly worse than the optimal policy under different command-specific cost structures. Lastly, variability analysis reveals that the performance of the optimal policy under the latter approach is quite robust and, in fact, the stability increases in the number of tags. 5.2. Ongoing and future work The obvious extension to the work presented here is to consider the case in which the number of tags is either initially unknown or becomes unknown during the interrogation process. The latter situation arises if the type of policy used does not either: (i) renumber after every collision, which involves an unknown number of tags; or (ii) process all timeslots before renumbering. This extension

701 can be modeled as a partially observed MDP. Although such formulations may give rise to policies that outperform the policies considered here, they will be accompanied by significant computational and implementation challenges. Additionally, the preliminary drafts of the protocols for active tags and HF tags (Roberti, 2007; Schroeter, 2007) suggest that these standards will be of the same type, if not identical to the Gen-2 standard. Therefore, extensions (or direct applications) to these types of tags could also be an interesting direction for future work.

References Abramson, N. (1970) The Aloha system—another alternative for computer communications. AFIPS Conference Proceedings, 36, 281– 285. Arumugam, D.D., Engels, D.W. and Modi, A. (2007) Environmental and performance analysis of SAW-based RFID systems. International Journal of Radio Frequency Identification Technology and Applications, 1(2), 203–205. Asif, Z. and Mandviwalla, M. (2005) Integrating the supply chain with RFID: a technical and business analysis. Communications of the Association for Information Systems, 15, 393–425. Bacheldor, B. (2006) Harmon Hospital implements RFID to track assets. Available at: http://www.rfidjournal.com/article/articleview/ 2933/ (accessed February 2009). Bertsekas, D.P. (2001) Dynamic Programming and Optimal Control, second edition, Athena Scientific, Belmont, MA. Birari, S.M. and Iyer, S. (2005) Mitigating the reader collision problem in RFID networks with mobile readers, in Proceedings of 13th IEEE International Conference on Networks, IEEE Press, Piscataway, NJ, pp. 463–468. Castro, L. and Wamba, S.F. (2007) An inside look at RFID technology. Journal of Technology Management and Innovation, 2(1), 128– 141. Cha, K., Ramachandran, A., Jagannathan, S. and Pommerenke, D. (2006) Decentralized power control with implementation for RFID networks, in Proceedings of the 45th IEEE Conference on Decision and Control, IEEE Press, Piscataway, NJ, pp. 1858–1863. Chen, W.T. (2008) An accurate tag estimate method for improving the performance of an RFID anticollision algorithm based on dynamic frame length ALOHA. IEEE Transactions on Automation Science and Engineering, 9–15. Curtin, J., Kauffman, R.J. and Riggins, F.J. (2007) Making the “MOST” out of RFID technology: a research agenda for the study of the adoption, usage and impact of RFID. Information Technology and Management, 8(2), 87–110. Delichatsios, S.A., Engels, D.W., Ukkonen, L. and Sydanheimo, L. (2006) Albano multidimensional UHF passive RFID tag antenna designs. International Journal of Radio Frequency Identification Technology and Applications, 1(1), 24–40. EPCGlobal. (2005) EPC Gen-2 Standard Ver. 1.0.9. Available at: http://www.epcglobalinc.org/standards/uhfc1g2/uhfc1g2 1 0 9– standard–20050126.pdf (accessed February 2009). Finkenzeller, K. (2003) RFID Handbook: Fundamentals and Applications in Contactless Smart Cards and Identification, Wiley, New York, NY. Gaukler, G.M., Seifert, R.W. and Hausman, W.H. (2007) Item-level RFID in the retail supply chain. Production and Operations Management, 16(1), 65–76. Hawrylak, P.J., Mats, L., Cain, J.T., Jones, A.K., Tung, S. and Mickle, M.H. (2006) Ultra low-power computing systems for wireless devices. International Review on Computers and Software, 1(1), 1– 10.

Downloaded By: [University of Pittsburgh] At: 18:51 20 July 2010

702 Lee, S.-R., Joo, S.-D. and Lee, C.-W. (2005) An enhanced dynamic framed slotted ALOHA algorithm for RFID tag identification, in Proceedings of the Second Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services, IEEE, Mobi Quitous 2005, San Diego, CA, pp. 166–174. Lee, Y.M., Cheng, F. and Leung, Y.T. (2004) Exploring the impact of RFID on supply chain dynamics, in Proceedings of the 2004 Winter Simulation Conference, IEEE Press, New York, pp. 1145–1152. Li, S., Vitch, J.K., Khumawala, B.M. and Zhang, C. (2006) Radio frequency identification technology: applications, technical challenges, and strategies. Sensor Review, 26(3), 193–202. Maguire, Y. and Pappu, R. (2009) An optimal Q-algorithm for the ISO 18000-6C RFID protocol. IEEE Transactions on Automation Science and Engineering, 6(1), 16–24. Mergen, G. and Tong, L. (2007) Maximum asymptotic stable throughput of opportunistic slotted ALOHA and applications to CDMA networks. IEEE Transactions on Wireless Communications, 6(4), 1159– 1163. Michael, K. and McCathie, L. (2005) The pros and cons of RFID in supply chain management, in Proceedings of the International Conference on Mobile Business, IEEE, Sydney, Australia, pp. 623–629. O’Connor, M. (2007) One year later, U.S. e-passport’s architect says system is a success. Available at: http://www.rfidjournal.com/article/ articleview/3567/ (accessed February 2009). Penttil, K., Keskilammi, M., Syndnheimo, L. and Kiviloski, M. (2006) Radio frequency technology for automated manufacturing and logistics control. Part 2: RFID antenna utilisation in industrial applications. International Journal of Advanced Manufacturing Technology, 31(1-2), 116–124. Puterman, M. (1994) Markov Decision Processes, Wiley, New York, NY. Ramakrishnan, K.N.M. (2005) Performance benchmarks for passive UHF RFID tags. Master’s thesis, University of Kansas, Lawrence, KS. Roberti, M. (2007) Moving forward on an HF EPC standard. Available at: http://www.rfidjournal.com/article/articleview/2981/1/2/ (accessed February 2009). Roberts, C.M. (2006) Radio frequency identification. Computers and Security, 25, 18–26. Roberts, L. (1972) Aloha packet system with and without slots and capture. Stanford Research Institute, Advanced Research Projects Agency, Network Information Center, Technical Report ASS Note 8. Rothfeder, J. (2004) What’s wrong with RFID. Available at: http:// www.cioinsight.com/c/a/Trends/Whats-Wrong-With-RFID/ (accessed February 2009). Schroeter, J. (2007) HF protocols’ distant dream. Available at: http:// www.rfid.journal.com/article/articleview/3023/1/82/ (accessed February 2009). Swedberg, C. (2007) Macau casinos use RFID to authenticate chip. Available at: http://www.rfidjournal.com/article/articleview/ 2878/1/1/ (accessed February 2009). Ukkonen, L., Sydanheimo, L., Engels, D.W. and Kivikoski, M. (2006) Performance comparison of folded microstrip patch-type tag antenna in the UHF RFID bands within 865-928 MHz using EPC Gen 1 and Gen 2 standards. International Journal of Radio Frequency Identification Technology and Applications, 1(1), 187–202. Vogt, H. (2002) Efficient object identification with passive RFID tags, in Proceedings of International Conference on Pervasive Computing, Springer-Verlag, London, pp. 98–113. Woods, J. (2005) RFID enables sensory network strategies to transform industries. Technical Report G00130189, Gartner Corporation, Stamford, CT.

Maillart et al. Zhen, B., Kobayashi, M. and Shimizu, M. (2005) Framed ALOHA for multiple RFID objects identification. IEICE Transactions on Communications, 88-B(3), 991–999.

Biographies Lisa Maillart is an Assistant Professor in the Industrial Engineering Department at the University of Pittsburgh. Prior to joining the faculty at Pitt, she served on the faculty of the Department of Operations in the Weatherhead School of Management at Case Western Reserve University. She received her M.S. and B.S. in Industrial and Systems Engineering from Virginia Tech and her Ph.D. in Industrial and Operations Engineering from the University of Michigan. Her primary research interest is in sequential decision making under uncertainty, with applications in medical decision making and maintenance optimization. She is a member of INFORMS, SMDMm, and IIE. Akram Kamrani earned her Bachelor of Science in Industrial Engineering from Sharif University of Technology in Tehran in 2007 and her Master of Science in Industrial Engineering from the University of Pittsburgh in 2009. Her research interests include radio frequency identification protocols, assembly line sequencing and balancing, and supply chain simulation and management. Bryan A. Norman is an Associate Professor of Industrial Engineering at the University of Pittsburgh. He received his Ph.D. degree in Industrial and Operations Engineering from the University of Michigan in 1995, where he was a National Science Foundation Fellowship holder, and has B.S.I.E. and M.S.I.E. degrees from the University of Oklahoma. His research interests primarily focus on the modeling of complex problems in manufacturing and production systems and applied optimization. His areas of application include machine and personnel scheduling, job rotation, assembly line balancing, facility layout, material handling system design, network design, radio frequency identification (RFID), and energy modeling. His research has been funded by several sources including the National Science Foundation and local industry. He has published his research in IIE Transactions, Naval Research Logistics, INFORMS Journal on Computing, International Journal of Production Research, European Journal of Operational Research, Annals of Operations Research, and Computers & Industrial Engineering. He is a member of IIE and INFORMS. Jayant Rajgopal holds a Ph.D. in Industrial and Management Engineering from the University of Iowa and has been on the faculty of the Department of Industrial Engineering at the University of Pittsburgh since 1986. His areas of interest include optimization, operations and supply chain analysis, system reliability, and RFID applications. He has taught, conducted sponsored research, published papers in leading journals, and consulted in all these areas. He is a senior member of IIE and INFORMS and is a licensed professional engineer in the state of Pennsylvania. Peter J. Hawrylak received his B.S., magna cum laude, in Computer Engineering and M.S. and Ph.D. in Electrical Engineering at the University of Pittsburgh, Pittsburgh, PA, in 2002, 2004, and 2006, respectively. He is currently a Research Associate at the University of Pittsburgh RFID Center of Excellence. His current research interests are in the areas of sensor networks, RFID, embedded system design, and wireless systems. He is a member of the IEEE, IEEE Computer Society, and the United States Technical Advisory Group (USTAG) for the International Standards Organization (ISO) in the RFID space (JTC1/SC31).