Approximations to optimal sequences in single-gripper and dual-gripper robotic cells with circular layouts

This article considers the problems of scheduling operations in single-gripper and dual-gripper bufferless robotic cells in which the arrangement of machines is circular. The cells are designed to produce identical parts under the free-pickup criterion with additive intermachine travel time. The objective is to find a cyclic sequence of robot moves that minimizes the long-run average time required to produce a part or, equivalently, that maximizes the throughput. Obtaining an efficient algorithm for an approximation to an optimal k-unit cyclic solution (over all k ≥ 1) is the focus of this article. The proposed algorithms introduce a new class of schedules, which are refered to as epi-cyclic cycles. A polynomial algorithm with a 5/3-approximation to an optimal k-unit cycle over all cells is developed. The performed structural analysis for dual-gripper cells leads to a polynomial-time algorithm that provides at worst a 3/2-approximation for the practically relevant case in which the dual-gripper switch time is less than twice the intermachine robot movement time. A computational study demonstrates that the algorithm performs much better on average than this worst-case bound suggests. The performed theoretical studies are a stepping stone for researching the complexity status of the corresponding domain. They also provide theoretical as well as practical insights that are useful in maximizing productivity of any cell configuration with either type of robot.


Introduction
Automated material handling systems are extensively used in modern manufacturing in order to improve productivity. One such implementation is a robot-served manufacturing cell, or robotic cell, which is used in a wide variety of industries under various configurations (Miller and Walker, 1990;Asfahl, 1992;Dawande et al., 2007;Jung, 2013). After a difficult 2009 and 2010, the robotics industry has strongly rebounded. Robot sales in both 2011 and 2012 have hit new all-time highs with annual sales exceeding 150 000 units and dollar volume surpassing $25 billion (World Robotics, 2012, 2013. The two largest markets are Japan and the Republic of Korea, with Germany and the United States close behind. The fastest growing market for robots is, not surprisingly, China. The major industries unloading, and transferring parts from one machine to the next). Each part must be processed on each machine. The processing order through the machines is the same for all parts, similar to a flow shop. A machine can hold only one part, and the cell has no buffers for intermediate storage. Figure 1(a) shows a five-machine robotic cell with a circular layout and a dual-gripper robot. Figure 1(b) exhibits a real-world implementation at a Korean company of a three-machine robotic cell with a circular layout and a dual-gripper robot (FANUC Robot Model M-16i B/20, Korea Fanuc Corporation) for manufacturing oil pumps.
A robot has either a single-gripper or a dual-gripper effector at the end of its arm. A single-gripper robot can hold only one part at any given time. Because the cells do not contain internal buffers for storage of parts between processes, a single-gripper robot cannot move a part from machine M i to M i +1 if machine M i +1 is occupied; this is called blocking in the classic flow shop scheduling literature (Pinedo, 2012). Blocking does not occur in a dual-gripper robotic cell since the robot can hold two parts simultaneously; thus, a part can be moved from machine M i to M i +1 even if machine M i +1 is occupied. In a typical operation, a robot with an empty dual-gripper may pickup a part at M i , move its arm to M i +1 , use its empty gripper to unload the finished part from M i +1 , rotate the "wrist" at the end of its arm, and load the other part onto M i +1 . In most implementations, the time required for this switch of grippers is significantly less than the time needed for the robot to travel between machines (Geismar et al., 2006). Thus, the decision of having a dual-gripper is based on a trade-off between a gain in throughput and an increase in cost and complexity.
Many examples of circular cells with dual-gripper robots can be found in a variety of industries. In semiconductor manufacturing they are usually referred to as cluster tools, each consisting of several processing stages. Processes performed by these tools include photolithography, low-pressure chemical vapor deposition, dielectric etching, photo-resist cleaning, rapid thermal processing, and chemical-mechanical planarization (Rostami et al., 2001;Rostami and Hamidzadeh, 2002;Kim et al., 2003). Com-panies that use these technologies include Brooks Automation, Inc. (Rostami et al., 2001), Jusung Engineering Co., Ltd. (Kim et al., 2003), Applied Materials, Inc. (Venkatesh et al., 1997), and FSI International, Inc. (Geismar et al., 2004).
Xerox Corporation is a typical company that uses circular robotic cells; each one of its robotic cells is served by a dual-gripper 2105B Unimate robot and produces copper fuser rolls for its 9200 duplicator in its Rochester, New York, facility. The cells contain two CNC center-drive, doubleended lathes, plus brazing, grinding, broaching, and turning machines (Miller and Walker (1990), pp. 4-27). Moldmakers, Inc. (Germantown, WI), uses several cells to make plastic molds for the plastic injection and blow molding industries via wire electrical discharge machining (MGS News, 2007).
Robotic cells are classified into three types based on the part pickup criterion used by the robot : a no-wait cell, an interval cell, or a free-pickup cell. In no-wait cells, as soon as machine M i completes processing a part, that part must be removed from M i and transferred to machine M i +1 . Examples of this production environment include steel manufacturing and plastic molding, where the products must maintain certain temperatures between processes. The reader may refer to Levner et al. (1997), Agnetis (2000), and Dawande et al., (2007) for results concerning no-wait cells. The hoist scheduling problem on an electroplating line is an example of an interval robotic cell in which each machine has a specific time interval during which a part must be removed from the machine after completing its processing (Lei and Wang, 1994;Dawande et al., 2010). In free-pickup cells there is no limit on the time that a part may reside at a machine after its processing.
Three travel-time metrics for the robot's intermachine movements have been studied for each part pickup criterion: additive, constant, and Euclidean. For additive traveltime cells, the time required for the robot to travel between any two adjacent machines is a constant, denoted by δ. When traveling between any two non-adjacent machines, the robot's path passes each machine in between, so its travel time is the sum of the times required to traverse these segments in between the machines. In constant travel-time cells, introduced by Dawande et al. (2002), the time required to travel between any two machines, adjacent or non-adjacent, is a constant value. Brauner et al. (2003) define Euclidean travel-time cells in which the only restriction on the intermachine travel times is that they obey the triangle inequality and are symmetric in the sense that the travel times between any two machines are the same in both directions.
Two types of machine layouts are considered in the literature: a linear layout, in which the machines I and O are arranged in a straight line or a semicircle, and a circular layout, in which the machines I and O are arranged in a circle such that I and O are adjacent (see Fig. 1(a)). In a circular cell the direction of robot travel between two locations can be clockwise or counterclockwise, whichever is shortest. For example, the robot in Fig. 1(a) travels from the output buffer O to machine M 1 by moving counterclockwise (passing I, time 2δ) because clockwise travel (traversing machines M 5 , M 4 , M 3 , and M 2 , time 5δ) would require more time. This flexibility in robot movements can significantly improve the productivity of a cell; however, the sequencing of operations becomes more challenging, even for single-gripper cells (Brumson, 2001;Rajapakshe et al., 2011). Furthermore, schedules that are optimal in linear cells are not necessarily optimal in circular cells (Geismar, Sethi, Sidney, and Sriskandarajah, 2005), so different techniques are required to find efficient robot sequences.
The vast majority of publications on robotic cell scheduling consider only one-unit cycles (defined explicitly in Section 3) because they are commonly used in industry, given that they are easier to implement. However, cycles optimal in the realm of one-unit cycles are not necessarily optimal over all k-unit cycles, k ≥ 1 (Brauner and Finke, 2001;. The increase in complexity through the inclusion of k-unit cycles has limited the number of results published for this case, even though kunit cycles may lead to higher throughput. To fill this void, we derive one-unit and two-unit schedules of robot actions that produce parts at throughput rates that are guaranteed to be within fixed percentages of optimal k-unit cycles' throughput.
We study throughput optimization problems in freepickup cells with additive travel times, with these cells having circular layouts and producing identical parts. Because we allow all possible combinations of production parameter values, we need to consider both single-gripper and dual-gripper robotic cells. The contributions of this article are of a theoretical nature as well as of a practical nature.
1. Algorithmic and complexity results: The main theoretical contribution is to provide insights into the schedules that maximize the productivity of both single-gripper and dual-gripper circular robotic cells for any combination of parameters. Our results indicate that several special cases are polynomially solvable. The complexity status of the remaining cases are open, but for them we provide polynomial-time algorithms with performance guarantees. We also show that lower bounds for two-unit cycles apply to k-unit cycles for any k ≥ 1. Our theoretical results are based on a new class of schedules, called epicyclic cycles, which we believe will be useful in other scheduling environments as well. 2. Performance of dual-gripper cells under practically relevant conditions: Our structural analysis for dual-gripper cells leads to a polynomial-time algorithm that provides a one-unit or a two-unit cycle that is guaranteed to have at least 66% of the optimum throughput (over all kunit cycles, k ≥ 1) for the practically relevant condition that the dual-gripper switch time is less than twice the intermachine robot movement time. Computational experiments demonstrate that, on average, our schedules have a productivity higher than 91% of the theoretical optimum.
This article is organized as follows. Section 2 reviews the relevant literature. Section 3 provides the necessary notation and definitions. Section 4 presents lower bounds that are important for our analysis. Section 5 describes classes of robotic schedules (cycles) and the special cases for which they provide straightforward solutions. Section 6 analyzes the more general case. Section 7 provides a counterpoint to our theoretical work by describing a computational study that analyzes our approximations' average results; i.e., those that are most likely to be realized in practice. Section 8 presents conclusions and makes recommendations for future research.

Literature review
A cyclic schedule in a robotic cell specifies the repetitive execution of a fixed sequence of robot moves that produces k ≥ 1 parts. Intuitively, a k-unit cycle is a sequence of robot moves in which exactly k raw parts are taken from the input buffer I, exactly k completed parts are dropped at the output buffer O, and the cell returns to its initial state at the end of this sequence. Precise definitions of cyclic schedule and cycle are provided in the next section. In practice, their repetitive nature makes these cyclic schedules easy to implement and control, so they are the primary way of describing the operation of a robotic cell.
In one of the first analytical studies of robotic cells, Sethi et al. (1992) develop one-unit cycles for free-pickup cells with single-gripper robots, two or three machines, additive travel time, and linear layout. Crama and van de Klundert (1997) develop a polynomial-time algorithm for finding an optimal one-unit cycle for single-gripper robotic cells with an arbitrary number of machines and additive travel time under linear layout, and Dawande et al. (2002) do the same for cells with constant travel times. For linear singlegripper cells with either travel-time metric, the problem of finding an optimal k-unit cycle over all k ≥ 1 remains open. Rajapakshe et al. (2011) prove that the problem of finding an optimal one-unit cycle in single-gripper robotic cells with a circular layout and additive travel time is NP-hard. A detailed discussion of the complexity of various robotic cell problems can be found in Dawande et al. (2007). Other reviews of the literature on scheduling robotic cells include Hall (1999), Crama et al. (2000), Dawande, Geismar, Sethi, and Sriskandarajah (2005), and Brauner (2008).
The problem of scheduling operations in dual-gripper robotic cells is more complicated than in single-gripper robotic cells, even in the two-machine case. In the first work in this area, Su and Chen (1996) consider a cell with two machines producing identical parts and describe five different one-unit cycles. Sethi et al. (2001) show that there are 52 possible one-unit cycles for two-machine cells. They study robotic cells with a circular layout that produce identical parts under free-pickup and additive travel time. Drobouchevitch et al. (2006) show that a particular dualgripper cycle is optimal among all one-unit cycles under certain conditions that are common in practice.
A few studies develop polynomial algorithms that produce cycles whose throughput is proven to be within a certain percentage of the optimum for all k-unit cycles, k ≥ 1, in their particular environment. Geismar et al. (2007) and Geismar et al. (2008) develop polynomial algorithms that provide a 9/7-approximation (resp., a 3/2-approximation) for single-gripper (resp., dual-gripper) cells with constant travel time and a 10/7-approximation for single-gripper cells with additive travel time in a linear layout. Rajapakshe et al. (2011) derive a 5/3-approximation to the optimum one-unit cycle time for single-gripper circular cells with additive travel time. In contrast, ours is the first work to find approximations with performance guarantees to optimal kunit cyclic solutions in robotic cells with circular layout, additive travel time, and free-pickup, for either single-gripper or dual-gripper robots. Table 1 summarizes the complexity status of optimization problems in single-gripper and dual-gripper robotic cells with free-pickup; thus, it shows how this current study fills a gap in the theoretical framework. The table also provides performance bounds available in the literature for those problems that are either NP-hard or open with regard to complexity status.

Notation and definitions
Our notation for describing robotic cells follows Dawande et al. (2007) and Rajapakshe et al. (2011).
M 1 , . . . , M m : machines in the robotic cell listed in their processing order (see Fig. 1(a) for m = 5). I : the input buffer, also denoted M 0 and referred to as a machine (see Fig. 1(a)). O: the output buffer, also denoted M m+1 and referred to as a machine (see Fig. 1(a)). p i : the processing time of a part on machine M i , 1 ≤ i ≤ m. δ : the time taken by a robot to travel between two adjacent machines, regardless of whether operations that are executed on adjacent machines require different grippers or the same gripper. The travel time between any two machines The travel time between two machines does not depend on whether or not the robot is carrying a part. : the time taken by the robot to load(unload) a part onto (from) any machine where to load a part onto M m+1 means to drop-off a part at O, and to unload a part from M 0 means to pickup a part at I. M l i : the robot activity load a part onto machine M i , i = 1, 2, . . . , m + 1. M u i : the robot activity unload a part from machine M i , i = 0, 1, . . . , m. θ : the gripper switch time for a dual-gripper robot; i.e., the time from the moment one gripper has unloaded a machine until the moment the second gripper is positioned to load the same machine. w i : the duration of the robot waiting time at M i ; note that w 0 = w m+1 = 0, since there is no processing at I or O.
For k-unit cycles, w i,r is the waiting time before unloading the r th part to be completed on M i during the cycle for r = 1, . . . , k.  Rajapakshe et al. (2011) 5/3-approximation Drobouchevitch et al. (2006) 3/2-approximation Definition 1. A k-unit activity sequence is a sequence of robot moves that loads and unloads each machine exactly k times. It follows that a k-unit activity sequence produces k completed parts. We have the following necessary criteria for an activity sequence to be feasible.
1. The robot cannot be instructed to load (resp., unload) an occupied (resp., unoccupied) machine. 2. A dual-gripper robot cannot be instructed to unload (resp., load) a machine if both of its grippers are occupied (resp., empty); e.g., a feasible activity sequence cannot have a subsequence (M u i , M u j , M u k ) (resp., (M l i , M l j , M l k )). 3. The robot can load a part onto M i only if that part's most recent processing was on M i −1 , i = 1, . . . , m + 1.
Let the function f (M l i , r ) denote the completion time of the r th execution of activity M l i (Crama and van de Klundert, 1997). Given a feasible infinite sequence of activities and a compatible initial state, we can define its long-run average throughput or, simply, throughput to be .
Intuitively, this quantity represents the long-term average number of completed parts placed into the output buffer per unit of time.

Definition 2.
A k-unit cycle S(k) is the performance of a feasible k-unit activity sequence that leaves the cell in exactly the same state as its state at the beginning of that sequence. We omit the argument (k) when the number of units produced by the cycle is apparent by the context. Since the start and end states of a k-unit cycle are the same, we can repeat it indefinitely in order to obtain a k-unit cyclic sequence. The throughput of a k-unit cyclic sequence is therefore the throughput of the corresponding k-unit cycle. In turn, the throughput of a k-unit cycle is the reciprocal of its per unit cycle time (see Definition 3), so minimizing per unit cycle time is equivalent to maximizing throughput. For clarity, we use S (resp, S ) to denote a cycle that applies to a single-gripper (resp., dual-gripper) cell.

Definition 3.
A robotic cell that repeatedly executes a k-unit cycle S(k) of robot moves is operating in steady state if there exists a constant T(S(k)) and a constant N such that for every M l T(S(k)) is called the cycle time of S(k). The per unit cycle time of k-unit cycle S(k) is T(S(k))/k; i.e., the average time required to produce one unit.
Online Appendix A provides additional definitions used for the analysis in this article.

Lower bounds on per unit cycle times
Because our intent is to prove the optimality or the guaranteed approximation bound of particular cycles over both single-gripper and dual-gripper k-unit cycles (for all k ≥ 1) under various conditions, we start with lower bounds for both single-gripper and dual-gripper robotic cells. We cannot completely separate the analyses for these two robot types because all single-gripper cycles are also feasible for dual-gripper cells. (Of course, dual-gripper cycles requiring gripper switching operations cannot be implemented in single-gripper cells.) The following lower bound on the per unit cycle time in single-gripper robotic cells is derived in Dawande, Geismar, Sethi, and Sriskandarajah (2005): Geismar et al. (2008) develop the following lower bounds for the per unit cycle time in dual-gripper robotic cells: When δ ≥ θ, bound (2) becomes

Special cases of single-gripper and dual-gripper cycles
For both single-gripper and dual-gripper cycles, we describe some special cycles and the cases for which either they are optimal or they provide effective and efficient approximations to the optimum per unit cycle time. Each result refers to optimality over k-unit cycles, k ≥ 1, in both singlegripper and dual-gripper cells. We show that, in general, single-grippers are preferred if θ ≥ 2δ, and dual-grippers are preferred if θ ≤ 2δ. Proofs for this section's results are given in Online Appendix B.2.

Single-gripper cycles
We now define four one-unit cycles for single-gripper cells.
Note that symbols for unloading parts from machines are not required to specify single-gripper cycles. Each of the first two is optimal under certain conditions (Lemmas 1 and 2). The last two are used to guarantee bounded approximations to the optimum per unit cycle time (Lemmas 3 and 4).
Forward cycle S u : In cycle S u = (M l 1 , M l 2 , . . . , M l m , M l m+1 ) ( Fig. 2(a)), the robot picks up a part from the input buffer (M 0 ), moves to M 1 , loads M 1 , waits at M 1 during the processing of that part, unloads M 1 , and then moves to M 2 . It follows this process at each machine in ascending order and finishes the cycle by returning to M 0 after loading the output buffer (M m+1 ). Note that it has full waiting at each machine (see Online Appendix A for the definition of full waiting). The cycle time for S u is , the robot unloads a part from the input buffer (M 0 ), carries it to M 1 , and loads M 1 . It then travels to M m , unloads M m , and carries that part to the output buffer (M m+1 ). It repeats the following sequence for i = m − 1, m − 2, . . . , 1: travels to M i , unloads M i , carries the part to M i +1 , loads M i +1 . After loading M 2 , the robot completes the cycle by traveling to the input buffer (M 0 ). The robot has partial waiting at each machine (see Online Appendix A for a definition of partial waiting). The cycle time of S d is Odd-even cycle S c : In this cycle ( Fig. 2(c)), the robot first loads the odd-numbered machines in increasing order and then loads the even-numbered machines in increasing order (Rajapakshe et al., 2011). The cycle and its cycle times are For m even : Combining the two expressions for cycle S c above leads to Rule A: For any subset of consecutive indices { j p , j p + 1, j p + 2, . . . , j q − 1, j q } ⊆ E (i.e., j p+r = j p + r for r = 1, 2, . . . , q − p), the sequence of machine loadings is M l j p +1 , M l j p +2 , . . . , M l j q . Rule B: Otherwise, for any subset of two non-consecutive indices (i.e., j p+1 = j p + 1), the sequence of machine load- Subset E specifies the type of waiting (full or partial) that the robot has at each machine. For example, consider a six-machine cell for which E = {0, 1, 2, 5, 6, 7}. Rule A is applied to the sequences of consecutive indices {0, 1, 2} and {5, 6, 7}, generating (M l 1 , M l 2 ) and (M l 6 , M l 7 ). For {2, 5}, Rule B is used, which generates (M l 5 ,M l 4 ,M l 3 ). Therefore, An efficient cycle should have partial waiting at machines in D 2 and either full waiting or zero partial waiting at those inD 2 . This is accomplished by specifying subset E so that E =D 2 ∪ {0, m + 1}. Rajapakshe et al. (2011) show Rajapakshe et al. (2011) use this bound to establish lower bounds that are used in the proofs of the following two lemmas.
Lemma 4 establishes an approximation bound that complements Lemma 3.
Remark 1. As a consequence of Claim 3 in Online Appendix B.1, which states that single-gripper one-unit cycles dominate all dual-gripper cycles if θ > 2δ, no practitioner would use a dual-gripper robot under this condition.
The results obtained in this section are summarized in Table 2.

Dual-gripper cycles
We now define three cycles for dual-gripper cells. Each visits machines M 0 , . . . , M m+1 once in ascending order. The first is a two-unit cycle; the others are one-unit cycles. As in the single-gripper case, each of the first two is optimal under certain conditions (Lemmas 5 and 6), and the third is used to guarantee bounded approximations to the optimum per unit cycle time (Lemma 7).
Dual forward cycle S 0 : In the initial state of cycle S 0 , all machines and the robot are empty, and the robot is at M 0 . The robot picks up two parts (say X r and X r +1 ) from M 0 , then visits each machine in ascending order. At each machine, X r is loaded, processed, and unloaded, and then X r +1 is loaded, processed, and unloaded. After serving M m , both parts are placed onto M m+1 , and the robot returns to M 0 . This two-unit cycle and its cycle times are (Sethi et al., 2001) Exchange cycle S m : In cycle S m , the initial state has all machines occupied, and the robot is empty at M 0 . The robot picks up a part (say X r ) from M 0 and moves to M 1 . If necessary, the robot waits for part X r −1 to be completed by M 1 . The robot unloads part X r −1 from M 1 , rotates its grippers, and loads part X r onto M 1 . Part X r −1 is carried to M 2 . If necessary, the robot waits for part X r −2 to be completed by M 2 , unloads part X r −2 from M 2 , rotates its grippers, and loads part X r −1 onto M 2 . The robot continues in this manner to M m , then drops part X r −m onto M m+1 , and returns to M 0 . This one-unit cycle and its cycle times are (Geismar et al., 2006)  Table 3. Approximating cycles for dual-gripper robots, plus three special cases with optimal cycles. S epi is defined in Section 6.3

Condition Result
Lemma 6. Cycle S m is optimal under either of the following sets of conditions: Cycle S m is a special case of the Quick Cycle.
Quick cycle S q : Quick Cycle S q is a one-unit cycle that is generated through the following procedure. Begin Lemma 7. Cycle S q provides a 3/2-approximation under any of the following sets of conditions: Remark 2. Inequality (B.1) from the proofs of Lemma 7(c) and 7(d) (see Online Appendix B.2) may be generalized to state that cycle S q provides a (1 The results of this section (see Table 3) demonstrate that we can generate a cycle whose throughput is at worst 5/3 of the optimum for all cases except θ < δ/3, (δ + θ)/2 < p max < (m + 2)δ + (m − 1) , p min < δ, and r 2 > 2(m − 1)/3. We design a class of dual-gripper cycles to resolve this case in the following section to complete our approximation scheme.

Approximation algorithms for optimum k-unit cycle times
We define the class of epicyclic cycles to provide approximations to optimal cycles for the open case described at the end of the previous section. To do so, we first separate the machines of the robotic cell into two disjoint subsets, based on a given two-unit cycle. One set contains those machines that are visited only one time by the robot. The second setthose machines that are visited at least twice-is further divided into maximal subsets of consecutive machines by Procedure Grouping (Section 6.1). These subsets are used to prove new lower bounds on the per unit cycle time over all k-unit cycles, k ≥ 1. Section 6.2 defines Procedure Transform, which converts any two-unit cycle into an epicyclic cycle, and then proves that the set of epicyclic cycles dominates the set of two-unit cycles. Algorithm Epi-path (Section 6.3) finds the best epicyclic cycle and proves that its per unit cycle time is at worst 3/2 that of the optimum per unit cycle time for θ ≤ δ and p max ≤ (m + 2)δ + (m − 1) . Algorithm QCYCLE (Section 6.4) finds an approximation to an optimal k-unit cycle for any cell by combining cycles defined in Section 5 and the set of epicyclic cycles. Section 6.4 then states the performance guarantee for Algorithm QCYCLE, which is the main result of the article. Proofs of theoretical results of this section (Lemmas 8, 9, and 10; Corollaries 1 and 2; Theorem 1) are given in Online Appendix D.

Lower bounds: procedure grouping
We derive lower bounds for two-unit cycles and then extend these to k-unit cycles, k ≥ 1. Let cycle S I be a two-unit cycle for a problem instance I. Without loss of generality, we assume that cycle S I starts with activity M u 0 . Geismar et al. (2006) show that a two-unit cycle S I can be represented by a sequence of two consecutive loadings and unloadings of machine M i of the form S I = (M i,1 , σ 1 , M u i,1 , σ 2 , M i,2 , σ 3 , M u i,2 , σ 4 ), for any i ∈ {0, 1, . . . , m + 1}. (Online Appendix A presents the technical details behind this paragraph's development.) Activity M i,r (M u i,r ) denotes the r th loading (unloading) of machine M i , r = 1, 2. The σ h , h = 1, . . . , 4, are permutations of other activities that together make S I a feasible cycle. Let A(σ h ) be the set of activities in permutation σ h , h = 1, 2, 3, 4. How many visits the robot makes to M i and the sequence of actions it performs during each visit are determined by which of the sets A(σ h ) are empty. Each distinct combination of empty A(σ h )s, h = 1, 2, 3, 4, is called a case. There are 10 feasible cases and corresponding sets U s , s = 0, . . . , 9, such that machine M i belongs to Case s if and only if i ∈ U s . We may also state "machine M i belongs to set U s " when, technically, it is index i that belongs to U s . For our purposes, we need only Cases 5 to 9 (for completeness, Cases 0 to 4 are described in Online Appendix A).
(We use the schedule's cyclicity to present it in a more intuitive form.) This case is preferred for machines with large processing times. 2. For Case 9, the robot visits M i only once. The robot arrives at M i with two parts, loads one, waits for its entire processing, unloads it, rotates grippers, loads the second part, waits for its entire processing, and unloads it: . This case is preferred for machines with small processing times.
If i ∈ U 9 , then the robot arrives at M i holding two parts and leaves M i holding two parts. Hence, neither i − 1 nor i + 1 can belong to U 8 , because this case requires that the robot arrives and departs the machine holding exactly one part. For this reason, a machine with a large processing time adjacent to one with a small processing time poses a scheduling challenge.
The following two cases serve as junctions between machines in Case 8 and machines in Case 9. This is because the robot can arrive at a machine in Case 5 with two parts and leave with one, whereas the robot can arrive at a machine in Case 7 with one part and leave with two.
1. For Case 5, the robot visits M i twice. In the first visit, the robot loads M i , waits for it to process the part, unloads M i , rotates its grippers, then loads M i . The robot only unloads M i during its second visit: Case 6 is often used for a machine with a small processing time that is between two machines with large processing times.
1. For Case 6, the robot visits M i twice, and during each visit it loads M i , waits for it to process the part, then unloads M i . Hence, Lower bounds (derived in Geismar et al. (2006)) on the robot's residence time at a machine and on the robot's movement time to and from that machine for each of the above cases are shown in Table 4, along with which sets A(σ h ) are empty and the robot's actions during each visit.
The robot visits M 0 (resp., M m+1 ) the same number of times that it visits M 1 (resp., M m ). If M 1 (resp., M m ) is in Case 9, then the robot carries two parts from M 0 to M 1 (resp., M m to M m+1 ) after its only visit to M 0 (resp., M m ). Otherwise, it visits M 0 (resp., M m+1 ) twice, unloading one raw part (resp., loading one completed part) each time.
Given a two-unit cycle, the following procedure forms subsets of machine indices {0, 1, . . . , m, m + 1} that are useful in proving the results of this section.
Procedure grouping: By starting with M 0 and scanning the machines in a forward pass until reaching M m+1 , we group the machines into non-exhaustive disjoint subsets M j , j = 1, 2, . . . , t, of consecutive machines, M j = {M i j , M i j +1 , . . . , M i j +n j }, such that (i) the subsets M j , j = 1, 2, . . . , t, are arranged so that their first machine indices are in ascending order. That is, 0 ≤ i j < i j +1 , j = 1, 2, . . . , t − 1, and i t ≤ m; P 1 : The cardinality of M j satisfies |M j | ≥ 2. Let n j def = |M j | − 1. The travel time across the machines in M j is at least 3n j δ, and the residence time across the machines in M j is at least 4(n j + 1) , j = 1, 2, . . . , t. If i 1 = 0, then the lower bound on the residence time in M 1 is (4n 1 + 2) . If i t + n t = m + 1, then the lower bound on the residence time in M t is (4n t + 2) . P 2 : If M i ∈ M j , j ∈ {1, . . . , t}, then the robot visits M i at least twice, so i ∈ U 9 . P 3 : Machines M i j +n j +1 , M i j +n j +2 , . . . , M i j +1 −1 , j = 1, 2, . . . , t − 1, which are located between the sets M j and M j +1 , are each visited once during cycle S I and therefore belong to U 9 . P 4 : Machines M 1 , M 2 , . . . , M i 1 −1 , which are located between M 0 and M i 1 , and machines M i t +n t +1 , M i t +n t +2 , . . . , M m , which are located between M i t +n t and M m+1 , are each visited once during cycle S I and therefore belong to U 9 .
The smallest possible M j has n j = 1: {M i j , M i j +1 }. Since M i j −1 , M i j +2 ∈U 9 , the robot arrives at M i j with two parts and leaves M i j +1 with two parts, and M i j and M i j +1 are empty at the start and at the end of the robot's serving of these two machines. Hence, M i j ∈U 5 ∪ U 6 and M i j +1 ∈U 6 ∪ U 7 . Because the assignment of both to U 6 is dominated by the assignment of both to U 9 , we may ignore the assignment <U 6 , U 6 >. We have the following segment execution times for the remaining assignments: Hence, for n j = 1, we may choose the assignment for whicĥ T(M j ) = min{ p i j , p i j +1 , θ} + p i j + p i j +1 + 3δ + 8 + θ.
The following lemma and corollary use the above discussion of two-unit cycles to develop lower bounds on the per unit cycle time of any k-unit cycle (k ≥ 1). The lemma's lower bound applies to two-unit cycles with a given collection of sets M j , j = 1, . . . , t. The corollary generalizes this lower bound to all k-unit cycles, k ≥ 1, for any collection of M j sets. We assume that the first t 1 of the M j are the ones with n j = 1. This assumption causes no loss of generality because the M j sets' executions are independent of each other. For each M j , let h j def = argmax 1≤s≤n j −1 { p i j +s }. Let n = t j =1 n j . Lemma 8. If θ ≤ δ and p max ≤ (m + 2)δ + (m − 1) , then for given sets M j , j = 1, . . . , t, the following lower bounds apply to the cycle time of any two-unit cycle S I : Lower bounds (7) and (8) of Lemma 8 depend on sets M j , j = 1, . . . , t, which are assumed to be given. To find lower bounds over all two-unit cycles, we must find the collection of M j sets that minimizes the maximum of lower bounds (7) and (8). The following corollary states that the resulting lower bound applies to k-unit cycles for all k ≥ 1. Let M represent the set of all possible combinations of M j sets formed from machines in {M 0 , M 1 , . . . , M m+1 }.
Corollary 1. If θ ≤ δ and p max ≤ (m + 2)δ + (m − 1) , then either cycle S q is optimal over all k-unit cyclic solutions, or the following lower bound applies to the per unit cycle time T(S (k))/k of any k-unit cycle S (k): Remark 3. Corollary 1 and the logic of its proof imply that a cycle that provides a 3/2-approximation to an optimal twounit cycle also provides a 3/2-approximation to an optimal k-unit cycle, for all k≥ 1.
Corollary 2 demonstrates that cycle S q provides a 3/2approximation for many cells on which Procedure Grouping has been run.

Epicyclic cycles: procedure transform
The results of Section 5 demonstrate that the dual-gripper cycles S 0 and S q (including its special case S m ) are very effective for many implementations with θ ≤ 2δ. We combine the characteristics of these two cycles to form a new class of cycles called epicyclic cycles, which we show provide effective approximations for cells with θ ≤ δ. This process requires care and precision because, although S 0 and S q each instruct the robot to visit each machine once in ascending order, S 0 is a two-unit cycle in which all machines belong to Case 9, and S q is a one-unit cycle in which all machines belong to either Case 6 or Case 8. Recall that a machine in Case 9 cannot be adjacent to one in Case 8.
We now specify how a two-unit epicyclic cycle is created from any two-unit cycle on which Procedure Grouping has been run. By demonstrating how any two-unit cycle can be converted to an epicyclic cycle whose throughput is no worse than the original cycle, we prove that the set of epicyclic cycles dominates the set of two-unit cycles. We distinguish epicyclic cycles by denoting them and their associated sets and machine indices with overlines.
In two-unit epicyclic cycle S I , once the robot visits one machine of a subset M j , it visits each machine in subset M j exactly twice before it moves to any machines not in M j . Because the robot cycles through each M j while performing cycle S I , we call the robot activities in each such subset an epicycle. (The term epicycle comes from the Ptolemaic geocentric model of the solar system in which small circles (epicycles) were added to planets' orbits to ex-plain anomalies such as retrograde motion.) An epicyclic cycle is a two-unit cycle composed of epicycles and the robot activities at the remaining machines, each of which is visited only once (and, hence, belongs to Case 9). For simplicity, we call these E-cycles. We illustrate E-cycles via an example: Example A: Consider cycle S I for m = 13 and t = 2, where In each epicycle, the first and the last machine belong to Cases 5 and 7, respectively, and each remaining machine M s in the epicycle is assigned as if it were in Quick Cycle S q : it belongs to Case 6 if p s < θ and to Case 8 if p s ≥ θ. All other machines (those in no epicycle) belong to Case 9. Similar assignments hold in all E-cycles, except for epicycles withn j = 1, which are explained below. We now define Procedure Transform to create E-cycles.
Procedure Transform: Procedure Transform assumes that Procedure Grouping, based on some two-unit cycle S I , has created sets M j , j = 1, . . . , t, of consecutive machines. It converts cycle S I into an E-cycle S I . E-cycle S I begins as an exact copy of S I with M j = M j ,n j = n j , andī j = i j , for j = 1, . . . , t, andt = t. Each of its four steps sequentially Step 1 of Procedure Transform applies only to sets M j with a special structure.
Step 2 considers the first machine (Mī j ) of each M j , and Step 3 considers the last machine (Mī j +n j ).
Step 1: This step applies only to two special cases. The travel time across the machines in M j is equal to 3n j δ in each case. In the first one, machine Mī j belongs to U 6 . This implies that machine Mī j +n j belongs to U 7 and that all other machines in M j belong to U 6 . The second case is symmetric: Mī j belongs to U 5 and all other machines in M j belong to U 6 . For simplicity, we address only the first of these two possible configurations, though the algorithm's actions are symmetric in the second.
To execute this sequence, the robot departs Mī j −1 (ī j − 1 ∈ U 9 ) with two parts, say X r and X r +1 , whose next processing is on Mī j . The robot loads part X r onto Mī j , waits for its entire processing time pī j , unloads it, then moves to Mī j +1 . The robot performs these same actions at machines Mī j +1 , . . . , Mī j +n j −1 , all while holding part X r +1 in its second gripper. It then loads part X r onto Mī j +n j and returns to Mī j to perform the sequence load, wait, unload at each machine Mī j , . . . , Mī j +n j −1 with part X r +1 . At Mī j +n j the robot unloads part X r , rotates its grippers, loads part X r +1 , waits for its entire processing, then unloads part X r +1 .
We now make changes to M j that will increase the cycle's throughput. First, reduce the size of M j to two machines (n j = 1) by moving machines Mī j , . . . , Mī j +n j −2 from U 6 to U 9 ; this reduces the cycle's execution time by (n j − 1)(2δ − θ). The two remaining machines in M j are relabeled Mī j and Mī j +1 . We previously saw thatn j = 1 implies three possible assignments: <U 5 , U 6 >, <U 5 , U 7 >, or <U 6 , U 7 >. However, we also consider the possibility of having no M j here (assignment <U 9 , U 9 >) or of expanding M j so thatn j = 2. This assignment is determined by Subroutine Assign1. For continuity, the details are provided after the description of Procedure Transform.

Repeat
Step 3 on the revised M j until no more revision is needed; i.e., until pī j +n j + pī j +n j +1 ≤ 2δ + θ orī j +n j = m.
Clearly, each of the transformations of Steps 2 and 3 reduces the cycle's execution time.
Step 4: At this point, all M j begin with Mī j ∈ U 5 ∪ {I} and end with Mī j +n j ∈ U 7 ∪ {O}, j = 1, . . . ,t, except for those withn j = 1 and assignment <U 5 , U 6 > or <U 6 , U 7 > (M j , ı j ,n j , andt now refer to their values after they have been adjusted by Steps 1 to 3, if appropriate). We complete S I by assigning the remaining machines M s in M j to set U 6 if p s < θ, to set U 8 otherwise.
We now specify Subroutine Assign1. For clarity, this process of determining the assignment of Step 1, which depends on four combinations of machines' Mī j , Mī j +1 processing times, is described in algorithm form. The numbers in brackets refer to the corresponding rows of Table 5.
Execution times for these assignments (except for those withn j = 2) are compared in Table 5.
Note that cycle S 0 is the E-cycle with t = 0: {1, . . . , m} = U 9 . The reader may refer to Online Appendix C for applications of Procedures Grouping and Transform.

A 3/2-Approximation: algorithm epi-path
We show that cycle S q (via Lemma 7 and Corollary 2) and the class of E-cycles provide a 3/2-approximation when θ ≤ 2δ by forming a two-unit E-cycle S I from an optimal k-unit cycle.

Theorem 1. If θ ≤ 2δ, then the better of one-unit cycle S q and two-unit E-Cycle S I has a per unit cycle time that provides a 3/2-approximation to the optimum per unit cycle time. This bound is tight.
Define set E to consist of all E-cycles. We now present an algorithm to find a cycle within E that has the greatest throughput. We first prove a result that reduces the number of members of this set that must be considered.
Lemma 9. If θ ≤ δ and p max ≤ (m + 2)δ + (m − 1) , then there exists an E-cycle S I that has the maximum throughput within E whose total partial waiting during each epicycle M j , j = 1, . . . , t, is less than 2δ.
The following algorithm finds cycle S epi , which is an Ecycle with the maximum throughput within E. The algorithm forms a network of m + 1 nodes and then finds a shortest path from node 1 to node m + 1. An arc from node s to node represents the time required to execute all robot actions between the robot's first arrival at machine M s and its first arrival at machine M , s = 1, . . . , m; = s + 1, . . . , m + 1. Arcs beginning at node 1 also include the robot's residence time at I and its travel time from I to M 1 . Arcs ending at node m + 1 also include the robot's residence time at O and its travel time from O to I, which completes the cycle. We limit the size of epicycles tō n j ≤ (m + 2)/2 because no E-cycle withn ≥ (m + 2)/2 can have higher throughput than cycle S q .
We can now state the following general result for θ ≤ 2δ.
Corollary 3. If θ ≤ 2δ, then either cycle S q or cycle S epi given by Algorithm Epi-path provides a 3/2-approximation to the optimum per unit cycle time over all k-unit cycles.

Main result: approximation Algorithm QCYCLE for k-unit cycles
We now present an algorithm and the main result of the article for dual-gripper and single-gripper robotic cells. We use the facts that S m is a special case of S q and that S 0 is an E-cycle to simplify the algorithm.

Begin
Step 1: If θ ≥ δ and p max ≤ δ, then output cycle S u . EXIT.
Step 2: If θ ≥ 2δ, then output the best of cycles S d , S c , and S . EXIT.

End
As a consequence of the lemmas, we have the following result.
When θ is very large in a dual-gripper cell, the cell is in practice a single-gripper cell. As a consequence of Theorem 2 and the fact that single-gripper cycles and their lower bounds on optimal k-unit cycles dominate dual-gripper cycles and their lower bounds when θ > 2δ (see Remark 1 at the end of Section 5.1), we have the following result.

Computational experiments
Our theoretical results provide bounds for the worst-case performance of our approximating cycles. We now examine how these cycles operate on average. We first briefly describe the primary objectives of our computational experiments. Section 7.1 gives a detailed statement of the test bed, and Section 7.2 provides the results.

Objectives of the Study
1. To test the performance of Algorithm QCYCLE by finding its relative percentage above the maximum lower bound among those described in Section 4 and in Lemma 8. 2. To investigate how E-cycles improve the performance of Algorithm QCYCLE. 3. To investigate how the arrangement of the machines' processing times effects the value of E-cycles; i.e., to test whether E-cycles are more effective when the machines with larger processing times are bunched together, rather than being spread evenly throughout the cell.

The test bed
We generate a realistic test bed based on Rajapakshe et al. (2011) to investigate our objectives. We consider seven different sizes of cells: m = 5, 10,12,15,20,25,30. According to the theoretical results of Sections 4 to 6, the critical elements in our analysis are the maximum processing time p max and the parameters δ, , and θ. Consequently, we first specify three types of cells that are distinguished by the value of p max . Since we can always find the optimal solution if p max ≥ min{3mδ + 2 (m − 1) , (m + 1) δ + 2m + (m − 1) θ}, according to Lemmas 2 and 6, we only consider p max values less than this amount.
For each type of cell, we consider various combinations of the number of machines consisting of small, medium, and large processing times, where we define these terms by For example, in a five-machine cell, Combination 2-1-2 (denoted by C2) implies two machines assigned to small processing times, one machine assigned to a medium processing time, and two machines assigned to large processing times. Table 6 lists six combinations for m = 5, nine combinations for m = 10, and 10 combinations each for the other values of m. Note that none of these combinations fits the criteria for those with known optimal cycles that were developed in Lemmas 1 to 7. The processing times are randomly generated from uniform distributions within their assigned intervals and are randomly assigned to the machines. Two parameters are fixed: δ = 9 and = 1. To test our analysis, the gripper 5 -2-1-2 1-2-2 2-2-1 1-3-1 1-1-3 3-1-1 ---10 3-3-4 5-1-4 1-5-4 5-4-1 1-8-1 1-1-8 8-1-1 7-2-1 7-1-2 -12 Hence, the switching times are 2, 14, 28, and 42. We generate 10 instances for each combination in Table 6, each cell type, and each switching time, for a total of 10 × 65 × 3 × 4 = 7800 instances.

Computational results
The performance of QCYCLE for each instance is defined by QCYCLE's result's relative percentage above the lower bound for either a single-gripper or dual-gripper robot (whichever is better): where (resp., ) is the optimum per unit cycle time for a single-gripper (resp., dual-gripper) cell and T(QCYCLE) is the per unit cycle time of the cycle generated by Algorithm QCYCLE. Table 7 summarizes the average performance of QCY-CLE for each combination. Across the 7800 instances, the average gap is 9.09%; this is significantly better than the worst-case guaranteed results. The total number of instances in which QCYCLE finds a provably optimal solution is 1325 (16.99%).
On average, the approximation error decreases as the cell size m increases. This rate of decrease is fastest for those cells with only one machine with a small processing time and several machines with large processing times (combinations C3 and C6). Conversely, this rate is slowest, and at points negative, for those cells with a large number of small processing times (combinations C2, C8, C9, and C10) but, oddly, not the maximum amount of small processing times (C7). We suspect two causes for this trend: first, when proving the theoretical bounds, the terms that represent the sums of the smaller processing times generally are canceled from the numerator and the denominator. For some instances with a large percentage of smaller processing times, leaving these sums in the ratio would have reduced its value. Second, as the number of large processing times grows, the chance of having a processing time p max near its maximum, ensuring that QCYCLE finds an optimal cycle, increases.
As expected, the preference for dual-gripper robot cycles is negatively correlated to the time required for a gripper switch. For θ = 2, 14, 28, 42, the percentages of instances in which the dual-gripper robot has higher throughput are 100, 86.21, 76.77, and 55.69%, respectively.
We now evaluate the contribution of E-cycles. Since Ecycles were designed for cases not covered by Lemma 7, we limit the gripper switch time to θ < δ/3, i.e., θ = 2, and the processing time combinations to C7-C10, so that r 2 > 2(m − 1)/3. This yields a total of 10 × 24 × 3 = 720 instances. An E-cycle uniquely produces the best throughput among all others considered by QCYCLE in 269 of these instances (37.36%). The E-cycle's relative percentage throughput advantage over the best non-E-cycle averages 8.02%, and this advantage steadily increases as m increases: 3. 75, 7.42, 6.36, 8.83, 9.18, 10.22, and 10.35%. Hence, E-Cycles are a valuable contribution to practitioners who wish to efficiently schedule robotic cells.
Our last study tests our conjecture that the value of the best E-cycle depends not only on the cell's processing times, but also on the relative locations of the machines to which those times are assigned. This characteristic distinguishes the class of E-cycles from most other cycles. Specifically, we hypothesize that E-cycles produce higher throughput if the machines with larger processing times are closer together, rather than evenly spread throughout the cell. Our reasoning is that a cell with the larger times together will have fewer epicycles and, hence, less travel time.
To ensure meaningful data, we limit this study to combinations C8-C10, m ∈ {12, 15, 20, 25}, for a total of 12 × 10 = 120 instances of machine processing times. For each such instance, the times are arranged in the two ways previously mentioned. Our results show that E-cycles produce on average 7.85% higher throughput in cells with the larger processing times close to one another. This result gives managers further insight into which environments are best suited to using this new type of scheduling sequence.

Conclusions and recommendations for future work
This article studies both dual-gripper and single-gripper robotic cells under circular layout with additive travel time and free-pickup. By using lower bounds, we prove the optimality of certain k-unit cycles (k ≥ 1) under various conditions and also provide an efficient polynomial algorithm for which the throughput is at least 60% of the optimum for single-gripper as well as dual-gripper robotic cells. For the practically relevant condition that the dual-gripper switch time is less than twice the intermachine robot movement time, we provide an efficient polynomial algorithm for which the throughput is guaranteed to be at least 66.67% of the optimum. Furthermore, using a comprehensive test bed of instances that may be encountered in practice, we demonstrate that our algorithm's average throughput is better than 91.7% of optimum and that our new type of cycles, epicyclic cycles, make a major contribution to this efficiency. Our algorithm generates cyclic schedules that are easy to implement and control, so they are useful to practitioners. Therefore, our work provides new insights for scheduling operations to maximize productivity for either type of robotic cell.
Our structural analysis indicates the specific domains under which these problems appear to be hard. This may help future researchers to focus on those domains and to construct problem instances within them that are equivalent to known NP-hard decision problems. Thus, this analysis is a stepping stone for researching the complexity status of the long-standing open problem of finding an optimal k-unit cycle (k ≥ 1). Furthermore, we expect epicycles to be useful in future research of multi-unit cyclic scheduling since they efficiently schedule transporters so that they wait at some machines but not at others, depending on the machines' processing time requirements. Epicyclic cycles may have applications in multi-product flow shop environments with sequence-dependent setup times whose matrix has some special structure.
There are a number of directions in which this study may be extended.
1. Algorithmic improvement: This article provides a polynomial algorithm that is a 5/3-approximation to an optimal k-unit cycle, which is the first approximation result for dual-gripper robotic cells in this domain (i.e., freepickup, circular layout, additive travel time). Therefore, improving the algorithm to obtain a better approximation is one direction for future research. The complexity status of our domain remains open. 2. Cells under linear layout: This article focuses on analysis of cells under circular layout for finding an optimal k-unit cycle. No study has sought an optimal k-unit cycle for free-pickup cells under linear layout with additive travel time. Neither the complexity status nor an algorithm with a performance guarantee has been established for dual-gripper cells. However, results are avail-able for single-gripper cells (Crama and van de Klundert, 1997;Geismar et al., 2007). 3. Interval cells: The approximation to an optimal k-unit cycle for single-gripper or dual-gripper interval robotic cells has not been performed for either additive or constant travel time. Note that the complexity of finding an optimum k-unit cyclic solution in interval cells served by dual-gripper robots is NP-hard (Dawande et al., 2010). 4. Euclidean Travel-time Metric: Geismar, Dawande, and Sriskandarajah (2005) develop an approximation result to an optimal k-unit cycle for single-gripper robotic cells with free-pickup and Euclidean travel time. The complexity of finding an optimum k-unit cyclic solution (k ≥ 3) in cells served by a single-gripper robot is a longstanding open problem. However, polynomial-time algorithms are available in no-wait cells for k = 1 (Levner et al., 1997) and k = 2 (Che et al., 2003). Optimal k-unit cycles in Euclidean cells with dual-gripper robots have not been studied for any part pickup criterion. 5. Multiple part-types problems: Studies with multiple part-types have been performed by Hall et al. (1997Hall et al. ( , 1998 and Sriskandarajah et al. (1998): These studies prove that this problem is NP-hard for single-gripper robots with additive travel times. Only one paper analyzes scheduling multiple-part-type dual-gripper cells for additive travel-time . Devising efficient heuristics for multiple-part-type dualgripper cells seems to be a promising direction for future research.

Supplemental Material
Supplemental data for this article can be accessed on the publisher's website at www.tandfonline.com Chelliah Sriskandarajah is a professor of Operations Management and holds the Hugh Roy Cullen Chair at Mays Business School, Texas A&M University. He has a Ph.D. degree from the National Polytechnic Institute of Grenoble (France) in the field of Production Management. Prof. Sriskandarajah's research interests lie in the general area of supply chain management, logistics, production planning and scheduling, and performance evaluation of production/service systems. He was inducted as a POMS fellow in April 2012, the most prestigious honor awarded by the Production and Operations Management Society. He has published over 100 scholarly articles in leading international journals. Over the years, his research has been supported by a number of sponsors including National Science Foundation (