Scheduling in 2-machine Robotic Cells with a Self-buffered Robot Emine Gundogdua , Hakan Gultekinb a b
∗
Dept. of Industrial Engineering, Middle East Technical University, Ankara, Turkey
Dept. of Industrial Engineering, TOBB University of Economics and Technology, Ankara, Turkey
Abstract This study considers a production cell consisting of two machines and a material handling robot. The robot has a buffer space that moves with it. Identical parts are to be produced repetitively in this flowshop environment. The problem is to determine the cyclic schedule of the robot moves that maximizes the throughput rate. After developing the necessary framework to analyze such cells, we consider single, double, and infinite capacity buffer cases separately. For single and double capacity cases, consistent with the literature, we consider 1-unit cycles that produce a single part in one repetition. We compare these cycles with each other and determine the set of undominated cycles. For the single capacity case, we determine the parameter regions where each cycle is optimal, whereas for the double capacity case, we determine efficient cycles and their worst case performance bounds. For the infinite capacity buffer case, we define a new class of cycles that better utilizes the benefits of the buffer space. We derive all such cycles and determine the set of undominated ones.We perform a computational study where we investigate the benefits of robots with a buffer space and the effects of the size of the buffer space on the performance. We compare the performances of self-buffered robots, dual gripper robots, and robots with swap ability. Keywords: Robotic cell scheduling, throughput optimization, flexible manufacturing systems
1
Introduction
Increasing productivity is one of the crucial factors for a manufacturing system to survive in today’s highly competitive and compelling world. Related to technological advances, many diverse firms have been encouraged to use automation systems in order to expedite their manufacturing processes and increase their flexibility. Industrial robots are being used by a large number of firms as a mean of automation for material handling. A manufacturing cell consisting of several machines and one or more material handling robots is called a robotic cell. The machines are located serially in a flowshop arrangement and each performs a different operation on the parts. The robots are responsible for loading/unloading the machines and transporting the parts between the machines. ∗
Corresponding author, e-mail:
[email protected]
1
Input Buffer
Machine 1
Machine 2
Output Buffer
Buffer Spaces
Figure 1: A 2-machine robotic cell with a buffer space moving with the robot
In this study, we consider a 2-machine robotic cell with a single robot producing identical parts. The objective is to determine the robot move sequence that maximizes the throughput rate. Because of the ease of implementation and the fact that optimal robot move sequences are cyclic schedules which repeat a fixed sequence of robot moves indefinitely [7], the problem reduces to the determination of the robot move cycle maximizing the throughput rate. This objective is identical to the minimization of the cycle time which is defined as the long run average time to produce one part. We assume that the robot has a buffer space moving with the robot that can hold a specific number of parts. A demonstration of such a cell used in one of our industrial partners that produces air conditioner shafts through metal cutting operations can be seen in Figure 1. Such configurations are used especially in metal cutting industry either with a smaller buffer capacity for large and heavy parts or with a larger buffer capacity for smaller parts. This configuration is designed to further improve the cycle time over the classical robotic cells where the robot has no buffer space. In contrast to the opportunity of increasing the flexibility and the throughput rate, robots with additional buffer space usually require more capital investment and more physical space to operate. Although such robots exist in many practical situations, this is the first study that considers such robots. We develop the necessary framework to analyze this type of robotic cells and consider the problems in which the buffer capacity is one, two, and infinite in detail. Beside analyzing the robot move cycles, we also investigate the benefits of the additional buffer space for all possible parameter values. In the rest of the text, we refer the cells with a robot that can hold a single part and without any buffer space as classical robotic cells and the cycles in such cells as classical robot move cycles. A large number of studies have been performed on scheduling of robotic cells, especially after the seminal paper of Sethi et al. [17]. The studies in this literature that consider different assumptions regarding the processing characteristics, loading/unloading and transportation times, cell layouts, part types to be processed, and alternative technological properties regarding the machines and the robots
2
can be reviewed from the book by Dawande et al. [9] and from the survey papers of Crama et al. [4], Dawande et al. [8], and Brauner [1]. Sethi et al. [17] proved that 1-unit cycles – cycles in which exactly one part is produced – are optimal for 2-machine classical cells. Crama and van de Klundert [6] proved a similar result for 3-machine cells, whereas Brauner and Finke [2] showed through counter examples that 1-unit cycles are not necessarily optimal when the number of machines is greater than or equal to 4. The current trend in the literature is to consider robotic cells possessing different technological properties. One such property is the consideration of dual gripper robots which can carry two parts simultaneously and/or unload a machine and reload it without moving to another machine. Sethi et al. [16] considered such a cell that has a circular layout in which the input and the output buffers are located at the same place. They showed that 13 of the 52 feasible 1-unit cycles remain undominated in a 2-machine cell. If the gripper switch time is small with respect to the processing times and the robot travel time, which is a practical assumption, one of these 13 cycles is shown to be optimal. They determined the productivity gain of using a dual gripper robot instead of a single gripper one and proved that using a dual gripper robot can at most double the throughput rate. Jung et al. [15] studied a similar setting with both single and dual gripper robots but without restricting to 1-unit cycles. They introduced a new class of cycles called epicyclic cycles and using these cycles they developed a 5/3-approximation algorithm. Sriskandarajah et al. [18] considered the dual gripper problem with multiple parts. The part sequencing problem is proved to be NP-hard even when the robot move sequence is specified. A heuristic algorithm is provided and the productivity gain of using a dual gripper robot instead of a single gripper one is estimated through a computational study. Geismar et al [13] considered a robotic cell where parallel machines and multiple dual gripper robots are used. They defined the necessary feasibility conditions. They determined a cycle that performs efficiently, provided managerial insights, and analyzed the productivity gain of a dual gripper robot over a single gripper one through a computational study. Note that a self-buffered robot is not identical with a dual gripper robot in terms of their capabilities. As an example, a dual gripper robot can perform all cycles that are feasible for a robot with a single capacity buffer, but the reverse is not correct. More specifically, a dual gripper robot can unload a machine, switch the grippers, and reload the same machine without moving to another machine if the second gripper has a part to be loaded to that machine. However, in the case of a robot with a single capacity buffer, since the gripper of the robot is occupied after unloading a machine, it cannot take the part from its buffer space until it moves to another machine and drops the part on its gripper. Therefore, this activity sequence is not feasible for such a robot. On the other hand, a robot with a buffer capacity of two can perform all feasible cycles that a dual gripper can perform, but the reverse is not correct. For example, although both buffer spaces are occupied, the robot can 3
take another part from the input buffer and load the first machine. This means transporting three parts simultaneously which is not possible with a dual gripper robot. Self-buffered robots and dual gripper robots can not be considered as alternatives to each other in all situations. For example, if the produced parts are heavy so that the total weight of two parts exceeds the holding capacity of the robot arm or if they have large volumes, then a dual gripper robot may not be able to hold two parts simultaneously. However, since the buffer area is not on the arm but connected to the body of the robot, a self-buffered robot can hold such large parts. On the other hand, if the available physical space for the robotic cell is small or a rotational robot is used, then it may not be possible to place a buffer space for the robot. In these cases, a dual gripper robot becomes the only alternative. Therefore, it is necessary to analyze both types of robots separately and to compare their performances as well. The current study serves this purpose in which we analyze the self-buffered robot move cycles and compare their performances with the alternatives available in the literature. Faumani and Jenab [12] examined a reentrant 2-machine cell where some parts visit some of the machines more than once. The robot is assumed to have a swap property which is defined as the ability to swap the completed part on the machine and the new part on the gripper. Note that while the dual gripper robots can transport two parts simultaneously on their grippers, these robots cannot. They showed that the swap property can reduce the cycle time over the classical robotic cells. Different than the robots with swap ability, the self-buffered robots with single capacity buffer space can transport two parts simultaneously (on the buffer space and on the gripper), but they cannot perform swap operations. On the other hand, the robots with double capacity buffers can perform swap operations and can transport three parts simultaneously. Therefore, it is interesting to compare the performances of these alternatives in terms of the throughput rate, which is done in Section 6. While no-buffer robotic cells have been studied in the literature extensively, there are few studies considering robotic cells with buffer spaces between the machines. Brauner et al. [3] considered an inline robotic cell where each machine has a single capacity output buffer. Drobouchevitch et al. [11] studied the same problem for a circular layout. They compared a robotic cell in which a single gripper robot is used and each machine has a single capacity output buffer with a cell in which there are no buffers in between the machines and a dual gripper robot is used. They concluded that both systems satisfy the same productivity gain over classical robotic cells. Later, Drobouchevitch et al. [10], considered a cell where each machine has both a single capacity output buffer and a single capacity input buffer. They showed that there is no performance difference between this system and the one where each machine has only a single capacity output buffer. Furthermore, they proved that increasing the capacity of the buffer space does not improve the performance and showed that under a practically valid assumption 1-unit cycles dominate more complicated cycles. 4
In the next section we define our problem in more detail. Sections 3, 4, and 5 consider robotic cells with single, double, and infinite capacity buffers, respectively. Benefits of robots with a buffer space are analyzed in Section 6. Section 7 concludes the paper and provides future research directions.
2
Problem Definition
We will first make some general definitions valid for the general m-machine cells and later consider the 2-machine case in detail. The robot is assumed to have a work in process buffer space moving with itself. The machines are denoted as Mi , i = 0 · · · m + 1 where M0 denotes the input buffer and Mm+1 denotes the output buffer. There are no other buffer spaces in between the machines. Single part types are to be produced which follow the same sequence of machines in a flowshop manner. A robot move cycle is defined as a repeatable sequence of robot moves [8]. If n parts are produced in one repetition of the cycle then it is named as an n-unit cycle. The objective is to determine the optimal robot move cycle that has the minimum steady state cycle time, where the cycle time is defined as the long run average time to produce one part. Hall et al. [14] defined the steady state as a condition in which the waiting times of the robot in front of each machine are identical to their values in the previous cycle and showed that a cell reaches a steady state in a number of repetitions of the cycle. In a classical robotic cell in order to represent robot move cycles, Ai is defined as the activity in which the robot; (i) unloads a part from Mi , (ii) travels from Mi to Mi+1 , and (iii) loads the part onto Mi+1 [6]. A sequence of robot activities is defined to be a feasible robot move sequence if the following conditions are satisfied ([4]): • The robot is never required to load an already loaded machine. • The robot is never required to unload an already empty machine. As a consequence, any cycle can be represented as an ordering of these activities. However, in the current problem after unloading a machine, the robot can either load this part to the next machine or drop it to its buffer space. Similarly, instead of loading a machine by transferring the part from the previous machine, the robot can take a part from its buffer space to load it. Such situations cannot be represented with the activity definition above. Therefore, we define the following to represent the cycles considered in this study. Ui : The robot moves from its current position to Mi and unloads it, i = 0, 1, ..m. Li : The robot moves from its current position to Mi and loads it, i = 1, 2, ..m + 1. Lb : The robot loads a part to its own buffer space.
5
Ub : The robot unloads a part from its own buffer space. With these new activity definitions, we need the following additional conditions to define feasible cycles. Definition 1. A feasible sequence of robot activities must satisfy the following conditions: 1. The flowshop assumption is valid which means that each part must visit each machine in the same order: As a consequence, a part cannot revisit a machine that it has already visited (for example Ui Li or Ui Li−1 sequences are prohibited) and a part cannot skip any one of the machines (for example a part cannot be loaded to Mi+2 after being unloaded from Mi . Therefore, sequences such as Ui Li+2 or for the single capacity buffer case Ui Lb Ub Li+2 are prohibited). 2. The robot cannot unload a machine if its gripper is already occupied: For example, U0 U1 activities cannot follow each other since after taking a new part from the input buffer (U0 ) the gripper of the robot is occupied and cannot perform activity U1 . As a consequence, after a machine is unloaded, (Ui ) the next activity can either be Li+1 (loading the next machine ) or Lb (dropping the part to the robot’s buffer area ). 3. The robot cannot load a machine if its gripper is empty: As a consequence, after a machine is loaded, (Li ) the next activity can either be Uj (unloading one of the busy machines) or U0 (taking a part from the input buffer) or Ub (taking a part from the robot’s buffer area). 4. The buffer capacity cannot be exceeded: This condition restricts the sequence of Lb and Ub activities within a cycle. For example, in the single capacity buffer case U0 Lb U1 Lb is not a feasible activity sequence and there must be a Ub activity between any two Lb activities. 5. If the robot’s buffer area is empty, it cannot be unloaded: This is similar to the previous condition. 6. The number of Lb and Ub activities in a cycle must be equal to each other: This is required so that the initial and the final states of the robot move sequence are identical and it becomes a feasible cycle. 7. In an n-unit cycle each of the Li and Ui activities must appear exactly n times: This is required so that the cycle is an n-unit cycle and the initial and the final states of the cycle are identical. As an example, in a 2-machine cell, U0 Lb U1 L2 Ub L1 U2 L3 represents a feasible 1-unit cycle satisfying all the above conditions. At the beginning of the cycle, the robot is in front of the input buffer. It takes a new part from this buffer (U0 ) and places it to its buffer space (Lb ). Moves to M1 and unloads it (U1 ). Moves to M2 by carrying the part on its gripper and loads it (L2 ). Returns back to M1 , takes the part from its buffer space (Ub ) and loads it (L1 ). Moves to M2 , unloads it (U2 ) and drops 6
the part to the output buffer (L3 ). Finally, the robot moves back to the input buffer and the cycle is completed. Note that initially the robot’s buffer is empty. One part is placed and later picked up from the buffer space during the cycle. Therefore, for this cycle a single capacity buffer is sufficient. Let B denote the capacity of the buffer space. A state of the system is defined as a (B + 1)-tuple regardless of the number of machines in the cell. The first element of this tuple indicates the machine on which the part on the gripper is to be processed next and the remaining B elements indicate the machines on which the parts on the corresponding buffer slots are to be processed next. If the gripper or a buffer slot is empty, it is denoted by 0. For example, in a single capacity buffer case (B = 1), the states are denoted as 2-tuples. If the state is (1,2), then the gripper holds a part that will be processed on M1 next, and there is another part on the buffer that will be processed on M2 . This state definition is helpful in deriving the feasible robot move cycles. We will use the following notation throughout the text: pi :
The processing time of a part on Mi
ǫ:
The loading/unloading time of machines by the robot. As in most of the literature, we assume that this time is the same for all machines. Moreover, the loading/unloading times of the input/output buffers are also ǫ.
δ:
The robot travel time between two consecutive machines which is assumed to be additive. This means, travel time from Mi to Mj is |i − j|δ.
µ:
The loading/unloading time of the robot’s buffer area. This time includes reaching to the buffer area, dropping/gripping the part and returning back to initial position.
In the following two sections, we consider 2-machine robotic cells with single (B = 1) and double capacity (B = 2) buffers, respectively. 1-unit cycles are simple and practical. For classical robotic cells they are also proven to be optimal for 2 and 3-machine robotic cells ([6], [17]) and perform efficiently in the remaining cell configurations ([3], [8]). However, we show that 1-unit cycles are not necessarily optimal even with a single capacity buffer space. In order to see the effects of increasing the buffer capacity on the cycle time and to derive managerial insights, we also consider the infinite capacity buffer (B → ∞) case in Section 5. We define a new class of higher unit robot move cycles, named as q-accumulated cycles, that capture most of the benefits associated with having such a buffer space. Through a computational study, we analyze the performances of the 1-unit cycles and the q-accumulated cycles under different problem parameters.
3
Single Capacity Buffer Space (B = 1)
In this section, we first derive all feasible 1-unit cycles for a robot with a single capacity buffer and then compare these cycles with each other to determine the best for all parameter values. As a consequence 7
of feasibility conditions (2) and (3) of Definition 1, between any two Lb (Ub ) activities, there must be exactly one Ub (Lb ) activity. On the other hand, since there is a single buffer space, an Lb activity followed by a Ub activity means unloading a part from the buffer space just after loading it to there which indicates a redundant activity. Therefore, the cycles which contain this pair of activities will be eliminated from further consideration. Feasible cycles can be generated using an initial state approach. Note that the states are 2-tuples when B = 1. Without loss of generality, we can assume that the cycles start with taking a part from the input buffer (activity U0 ). Hence, there are a total of 4 possible initial states, namely (0,0), (0,1), (0,2) and (0,3). For example, starting with state (0,0), after performing U0 the state becomes (1,0) where the gripper has a part to be loaded on M1 and the buffer space is empty, if the next activity is Lb , the new state becomes (0,1) and if this is followed by U2 , B denote the j th 1-unit cycle derived using the ith initial state for the next state becomes (3,1). Let Ci,j B be the cycle time of C B . Figure 2 depicts the derivation of a cell with buffer capacity B, and let Ti,j i,j
all possible 1-unit cycles starting with all possible initial states. In this figure, the activity sequences and the resulting states (in parenthesis) are provided. As it is seen, there are a total of 20 feasible 1-unit cycles. In classical 2-machine robotic cells there are two 1-unit cycles named S1 and S2 . Using the current activity definition, S1 cycle can be represented as U0 L1 U1 L2 U2 L3 and S2 cycle can be represented as U0 L1 U2 L3 U1 L2 . As it can be seen 1 , C 1 , C 1 , C 1 , C 1 , C 1 , C 1 and C 1 ) have the same in Figure 2, 8 of these 20 feasible cycles (C1,6 1,8 2,1 2,2 3,1 3,4 4,1 4,3 1 : U L U L U L starting with activity sequences as S1 and S2 [17]. Let us now consider the cycle C2,2 0 1 2 3 1 2
the initial state (1, 1). The state sequence of this cycle is: (0, 1) − (1, 1) − (0, 1) − (3, 1) − (0, 1) − 1 cycle (2, 1) − (0, 1). Observe that the part in the buffer space (boldly written) has never moved. C1,6
has the same activity sequence but starting with a different initial state and having state sequence: (0, 0) − (1, 0) − (0, 0) − (3, 0) − (0, 0) − (2, 0) − (0, 0). The cycle times of these two cycles are identical but the former one carries the same part in the buffer space indefinitely. We eliminated all such cycles 1 , C 1 , C 1 , C 1 , C 1 and C 1 ) from further consideration. Note also that C 1 and C 1 cycles (C2,1 2,2 3,1 3,4 4,1 4,3 1,6 1,8
never use the buffer space. Therefore, a classical no-buffer robot is satisfactory to perform these two cycles. In this section, we first determine the best 1-unit robot move cycle that uses the buffer space at least once, later by comparing these cycles with the classical robot move cycles we determine the overall best 1-unit cycle in Theorem 2. For m = 2 and B = 1, the number of feasible cycles can also be calculated analytically by observing that the buffer space can be used only once during a cycle. Therefore, the buffer can be considered as an artificial machine which can be located in 3 different positions within the cell. There are 6 feasible 1-unit cycles in a 3-machine cell, but in 2 of these the buffer space is unloaded immediately after being loaded. After eliminating these, we find the total number of feasible cycles as 12 by multiplying the number of cycles (4) with the alternative positions of the buffer space (3). However, generalizing this 8
procedure to greater number of machines and/or greater buffer capacity is not straightforward since in these cases the buffer space can be used more than once during a 1-unit cycle. Finding the feasible cycles with more than one artificial machine is cumbersome. U1(2,1)
L2(0,1)
Ub(1,0)
L1(0,0) : C1,11
Ub(1,0)
L1(0,0)
U1(2,0)
L2(0,0) : C1,21
Ub(1,0)
L1(0,0)
U2(3,0)
L3(0,0) : C1,31
U2(3,1)
L3(0,1)
Ub(1,0)
L1(0,0) : C1,41
Lb(0,3)
U1(2,3)
L2(0,3)
Ub(3,0)
1 L3(0,0) : C1,5
L3(0,0)
U1(2,0)
L2(0,0)
: C1,61 (S2)
Lb(0,2)
U2(3,2)
L3(0,2)
Ub(2,0)
L2(0,0)
U2(3,0)
L3(0,0)
: C1,81 (S1)
U1(2,1)
L2(0,1)
U2(3,1)
L3(0,1)
: C2,11(S1)
U2(3,1)
L3(0,1)
U1(2,1)
L2(0,1)
: C2,21(S2)
U1(2,2)
L2(0,2)
U2(3,2)
L3(0,2)
: C3,11(S1)
U1(2,0)
Lb(0,2)
U2(3,2)
L3(0,2) : C3,21
U2(3,0)
L3(0,0)
U1(2,0)
1 Lb(0,2) : C3,3
U1(2,2)
L2(0,2)
: C3,41(S2)
Ub(2,0)
L2(0,0)
U1(2,0)
U2(3,3)
L3(0,3)
: C4,11(S1)
Ub(3,0)
L3(0,0)
U2(3,0)
U1(2,3)
L2(0,3)
: C4,31(S2)
U1(2,0)
L2(0,0)
U2(3,0)
Lb(0,3) : C4,41
U2(3,0)
Lb(0,3)
U1(2,3)
1 L2(0,3) : C4,5
U2(3,1)
L3(0,1)
Lb(0,1) U1(2,1)
L2(0,1)
U0(1,0) U2(3,0) L1(0,0) U1(2,0)
U0(1,1)
U0(1,2)
U0(1,3)
L1(0,1)
L1(0,2)
L1(0,3)
Ub(2,0)
L2(0,0)
U2(3,2)
L3(0,2)
U1(2,3)
L2(0,3)
U2(3,3)
L3(0,3)
Ub(3,0)
L3(0,0)
L2(0,0) : C1,71
1 Lb(0,2) : C3,5
1 Lb(0,3) : C4,2
Figure 2: Derivation of all possible 1-unit robot move cycles The cycle times of these cycles can be calculated by tracing the robot’s moves. As an example, 1 = U L U L U L U L . Initially, the robot is let us calculate the cycle time of robot move cycle C3,5 0 1 2 3 b 2 1 b
in front of the input buffer, M1 is idle and M2 is busy. The robot takes a new part from the input buffer, (ǫ); transports this part from the input buffer to M1 and loads it, (δ + ǫ); moves from M1 to M2 , (δ); waits for the processing of the part to be completed, (w2 ); unloads it, (ǫ); transports the part to the output buffer and drops the part, (δ + ǫ); returns back to M2 , (δ); takes a part from its buffer space, (µ); loads M2 , (ǫ); moves to M1 , (δ); waits for the processing to be completed, (w1 ); unloads
9
the machine, (ǫ); places the part to the buffer space, (µ) and finally moves back to the input buffer, (δ). The total time required for this cycle is: 1 T3,5 = 6δ + 6ǫ + 2µ + w1 + w2 .
(1)
Here wi denotes the waiting time of the robot in front of Mi for the remaining processing time of the part. This waiting time is called the partial waiting time and occurs if after loading Mi the robot travels to another machine and performs other activities, instead of waiting in front of Mi . When the robot returns back to Mi in order to unload it, if the processing is already completed, it unloads the part immediately. Otherwise, it waits for the remaining processing time. In Equation (1), w1 and w2 values can be calculated as follows: w1 = max{0, p1 − (4δ + 3ǫ + µ + w2 )},
w2 = max{0, p2 − (4δ + 3ǫ + µ + w1 )}.
The following property will be used extensively in order to simplify the cycle time expressions of the cycles. Property 1. Let w1 = max{0, p1 − (b + w2 )} and w2 = max{0, p2 − (c + w1 )}, where b and c are constants calculated from problem parameters, then w1 + w2 = max{0, p1 − b, p2 − c}. Proof. For the proof we need to consider the following four possible cases; • If p1 ≤ b and p2 ≤ c, then w1 + w2 = 0, • If p1 ≤ b and p2 > c, then w1 + w2 = p2 − c, • If p1 > b and p2 ≤ c, then w1 + w2 = p1 − b, • If p1 > b and p2 > c, then either w1 + w2 = p1 − b = p2 − c or one of w1 = 0 or w2 = 0 is valid. In order to prove this, let us first consider the w1 > 0 and w2 > 0 case. Therefore, w1 = p1 − b − w2 and w2 = p2 − c − w1 . From these two equations, we have w1 + w2 = p1 − b = p2 − c. Let us now consider w1 = 0. Since, p2 > c we have w2 = max{0, p2 − c} = p2 − c. Using this in the equation of w1 , we have w1 = max{0, p1 − b − w2 } = max{0, p1 − b − p2 + c}. Therefore, w1 = 0 can only be valid if p1 − b ≤ p2 − c. Hence, we can conclude that if p1 − b ≤ p2 − c, then w1 + w2 = p2 − c. Using similar arguments for the w2 = 0 case we can conclude that if p2 − c ≤ p1 − b, then w1 + w2 = p1 − b. All these cases are correctly formulated by w1 + w2 = max{0, p1 − b, p2 − c}.
1 can be rewritten as T 1 = 6(δ + ǫ) + 2µ + max{0, p − (4δ + Using Property 1, the cycle time of C3,5 1 3,5
3ǫ + µ), p2 − (4δ + 3ǫ + µ)}. The cycle times of the 12 remaining cycles are provided in Table 1. In order to determine the best cycle, we will rely on the following definition. 10
Definition 2. If cycle CA has a better throughput rate than cycle CB for all possible parameter values, then CA is said to dominate CB , and denoted as CA ≺ CB . In such a case, CB is not considered as a solution alternative any more. 1 and C 1 for which the cycle times are provided in Table 1. For example, let us consider cycles C3,2 1,5 1 and T 1 cycle time expressions have the same components except the last terms in maximum T3,2 1,5 1 has a lower value for this component, it can never be greater than T 1 . That operators. Since, T1,5 3,2 1 ≤ T 1 and C 1 ≺ C 1 . All dominance relations between the cycles are also shown in Table 1. is, T1,5 3,2 1,5 3,2
Cycle
Corresponding Cycle Time
Dominance Relation
1 C1,1
1 T1,1 =8δ + 6ǫ + 2µ + max{0, p1 − (6δ + 3ǫ + µ), p2 − (4δ + 2ǫ + 2µ)}
1 C1,2
1 T1,2
1 C1,3
1 T1,3 =8δ + 6ǫ + 2µ + max{0, p1 − (6δ + 3ǫ + µ), p2 − (2δ + ǫ + µ)}
1 1 C1,1 ≺ C1,3
1 C1,4
1 T1,4 =6δ + 6ǫ + 2µ + p2 + max{0, p1 − (2δ + ǫ + µ)}
1 1 C3,3 ≺ C1,4
1 C1,5
1 T1,5 =8δ
1 1 C4,5 ≺ C1,5
1 C1,7
1 T1,7 =6δ + 6ǫ + 2µ + p1 + max{0, p2 − (4δ + 3ǫ + µ + p1 )}
1 1 C3,5 ≺ C1,7
1 C3,2
1 T3,2 =8δ + 6ǫ + 2µ + max{0, p1 − (2δ + ǫ + µ), p2 − (2δ + ǫ + µ)}
1 1 C1,5 ≺ C3,2
1 C3,3
1 T3,3 =6δ + 6ǫ + 2µ + p2 + max{0, p1 − (4δ + 3ǫ + µ + p2 )}
1 1 C3,5 ≺ C3,3
1 C3,5
1 T3,5 =6δ + 6ǫ + 2µ + max{0, p1 − (4δ + 3ǫ + µ), p2 − (4δ + 3ǫ + µ)}
1 C4,2
1 T4,2 =6δ
+ 6ǫ + 2µ + p1 + max{0, p2 − (2δ + ǫ + µ)}
1 1 C1,7 ≺ C4,2
1 C4,4
1 T4,4 =8δ + 6ǫ + 2µ + p2 + max{0, p1 − (4δ + ǫ + µ)}
1 1 C3,3 ≺ C4,4
1 C4,5
1 T4,5 =8δ
=8δ + 6ǫ + 2µ + p1 + max{0, p2 − (4δ + ǫ + µ)}
+ 6ǫ + 2µ + max{0, p1 − (2δ + ǫ + µ), p2 − (6δ + 3ǫ + µ)}
+ 6ǫ + 2µ + max{0, p1 − (4δ + 2ǫ + 2µ), p2 − (6δ + 3ǫ + µ)}
undominated 1 1 C1,1 ≺ C1,2
undominated
undominated
Table 1: Cycle times of feasible robot move cycles
1 , C 1 , and C 1 are the remaining undominated cycles. These cycles can According to Table 1, C1,1 4,5 3,5
be compared with each other to determine the best alternative for each parameter input. In order to simplify the analysis let α = 4δ + 3ǫ + µ, β = 4δ + 2ǫ + 2µ, and γ = 6δ + 3ǫ + µ. Using these expressions, the undominated cycles can be rewritten as follows. 1 T3,5 = 2(α − δ) + max{0, p1 − α, p2 − α}.
(2)
1 = 2α + max{0, p1 − β, p2 − γ}. T4,5
(3)
1 T1,1 = 2α + max{0, p1 − γ, p2 − β}.
(4)
It’s clear that γ ≥ α. However, the relation between (α and β) and (β and γ) depends on the values of µ and ǫ. The following theorem compares these three undominated cycles with each other to determine the best 1-unit robot move cycle for the single buffer case. Proposition 1. For B = 1, among the cycles that use the buffer space at least once:
11
1 is optimal. 1. If µ ≤ ǫ, C3,5
2. If ǫ < µ ≤ 2δ + ǫ, 1 is optimal. 2.1 If 4δ + 2ǫ + 2µ ≤ p1 ≤ 6δ + 3ǫ + µ and p1 ≥ p2 and p1 ≥ p2 + 2δ + ǫ − µ, C1,1 1 is optimal. 2.2 Else if 4δ + 2ǫ + 2µ ≤ p2 ≤ 6δ + 3ǫ + µ and p2 > p1 and p2 ≥ p1 + 2δ + ǫ − µ, C4,5 1 is optimal. 2.3 Else C3,5
3. If µ > 2δ + ǫ, 1 is optimal, 3.1 If p1 ≤ 6δ + 3ǫ + µ and p2 ≤ 6δ + 3ǫ + µ, C3,5 1 is optimal, 3.2 Else if p1 ≥ p2 and p1 > 6δ + 3ǫ + µ, C4,5 1 is optimal. 3.3 Else if p1 < p2 and p2 > 6δ + 3ǫ + µ, C1,1
Proof. The theorem can be proved by analyzing the cycle times given in Equations (2), (3), and (4) under all possible parameter values. This analysis is presented in Table 10 in Appendix A.
As a consequence of this theorem, as long as the problem parameters are given, we can determine the best 1-unit robot move cycle that uses the buffer space at least once. In the sequel we compare these cycles with the classical robot move cycles. Note that a robot with a buffer space can perform every cycle that a classical robot can perform. In this respect, a robot with a buffer space always dominates classical robot move cycles. However, it requires more capital investment and physical space to use a robot with a buffer space. Therefore, if the buffer space is never used during a cycle, using robots with a buffer space may not be economically justifiable. We already mentioned that there are two 1-unit cycles (S1 and S2 ) in classical 2-machine robotic cells. The cycle time of S1 cycle is TS1 = 6δ + 6ǫ + p1 + p2 and the cycle time of S2 cycle is TS2 = 8δ + 6ǫ + max{0, p1 − (4δ + 2ǫ), p2 − (4δ + 2ǫ)}. Sethi et al. [17] compared these two cycles and proved the following theorem. Theorem 1. (Sethi et al. [17]) If p1 + p2 ≤ 2δ, S1 is optimal, otherwise S2 is optimal. We will now compare the classical cycles with the three non-dominated cycles for B = 1 case that use the buffer space at least once. The following definition will be useful in this comparison: Definition 3. Cycles CA and CB are said to be symmetric if their cycle times are TA = F +max{0, pi − u, pj − v} and TB = F + max{0, pi − v, pj − u}, where u, v, and F are constants denoted in terms of the cell parameters such as δ, ǫ, and µ. 1 and C 1 , for which the cycle times are given in Table 1 are According to this definition C1,1 4,5
symmetric. The following theorem combines the results of Proposition 1 and Theorem 1, which 12
can be proved by comparing the cycles under all possible parameter values similar to the proof of Proposition 1 and thus it is omitted here. In this theorem we assume that p1 ≥ p2 . The results for the 1 and p with C 1 and p in the theorem, respectively, case p1 < p2 can be attained by replacing C1,1 1 2 4,5 1 and C 1 are symmetric. since C1,1 4,5
Theorem 2. 1. If µ ≤ ǫ, 1.1 If p1 + p2 ≥ 2δ, 1.1.1 If µ > δ and p1 < 2δ + 2ǫ + 2µ, then S2 is optimal, 1 is optimal. 1.1.2 Otherwise, C3,5
1.2. Else if p1 + p2 < 2δ 1.2.1 If p1 + p2 < 2µ, then S1 is optimal, 1 is optimal. 1.2.2 Otherwise, C3,5
2. If ǫ < µ ≤ 2δ + ǫ 2.1 If µ > δ and p1 < 2δ + 2ǫ + 2µ, then S2 is optimal, 1 is optimal, 2.2 Else if p1 > 4δ + 2ǫ + 2µ and p1 > p2 + 2δ + ǫ − µ, C1,1 1 is optimal. 2.3 Else C3,5
3. If µ > 2δ + ǫ 3.1 if p1 + p2 ≤ 2δ, S1 is optimal, 3.2 Else if p1 + p2 > 2δ, S2 is optimal. An important observation resulting from this theorem is that under some parameter values, classical robot move cycles may still perform better than the robot move cycles that use the buffer space at least once, especially when the processing times of the machines are small with respect to δ, µ, and ǫ and also when µ is large with respect to δ. The idea is, if the loading/unloading time for the robot to its buffer space takes more time than moving to the input or output buffers, then there is no reason to use this buffer space. An important question is about the optimality of the 1-unit cycles. The following example shows that this is not necessarily valid for all parameter values. Example 1. Let p1 = 12, p2 = 5, δ = 16, ǫ = 3, and µ = 2. For these parameters, using Theorem 1 . The per unit cycle time of this cycle is 118. On the other hand, 2, the optimal 1-unit cycle is C3,5
consider the 2-unit cycle U0 Lb U0 L1 U1 L2 Ub L1 U2 Lb U1 L2 U2 L3 Ub L3 . Note that although the buffer space 13
is used twice during the cycle, only one part is stored in this space at any time instance. Therefore a single capacity buffer space is satisfactory. The per unit cycle time of this cycle can be calculated as follows: 1 5δ + 6ǫ + 2µ + (p1 + p2 + max{0, p1 − (2δ + ǫ + µ), p2 − (2δ + ǫ + µ)} 2 The corresponding per unit cycle time value for given parameters is 110.5, which proves that 1-unit cycles are not necessarily optimal even when B = 1. Although 1-unit cycles are not necessarily optimal, in Section 6 we test their performances through a computational study and show that for most of the instances they have higher throughput rates than more complicated cycles in which more than one part is produced. As already mentioned, the B = 1 case is not identical with a dual gripper robot. A dual gripper robot can perform all feasible cycles of the B = 1 case, but the reverse is not correct. However, as will be seen in Section 6, the B = 1 case still improves the cycle time of the classical robot move cycles more than 5% on the average and can improve nearly 22% depending on the parameter values. The next section investigates the effects of increasing the buffer capacity.
4
Double Capacity Buffer Space (B = 2)
In this section, we assume that there are two slots to hold two parts simultaneously in the robot’s buffer area. As the buffer capacity increases, the flexibility of the system, and thus the chance of increasing the throughput rate also increase. However, as will be seen in this section, the complexity of the problem also increases. We consider 1-unit cycles again and use the same state definition mentioned in the previous sections. This approach facilitates the process of tracking robot activities and moves of parts on the robot’s buffer space. Since the capacity of the buffer space is 2, the states are now denoted as 3-tuples. According to this state definition and with the assumption that the cycles start with taking a part from the input buffer (therefore the first element of all initial states start with 0), there is a total of ten possible initial states as listed in Table 2. The number of feasible 1-unit cycles resulting from each initial state and the total number of 1-unit cycles are provided in this table. As the buffer capacity increases from 1 to 2, the number of feasible 1-unit cycles increases from 20 to 118. The activity sequences of all feasible cycles are presented in Appendix B. Initial State (0, 0, 0) (0, 0, 1) (0, 0, 2) (0, 0, 3) (0, 1, 1) (0, 1, 2) (0, 1, 3) (0, 2, 2) (0, 2, 3) (0, 3, 3) Total # of cycles
24
5
28
27
2
5
5
5
12
5
118
Table 2: Possible initial states and number of feasible cycles for B = 2
There are some special issues for this case that differ from the B = 1 case. First of all, when 14
there is a single buffer space, a Ub activity can follow an Lb activity only if the activity sequence is Ui Lb Ub Li+1 for i = 0, 1, 2. In this activity sequence the robot loads a part to its buffer space and then unloads this same part which is already mentioned to be redundant and eliminated. However, when there are two buffer slots, there may be activity sequences in which the robot first drops a part to the empty slot (Lb ) and then takes the part from the other slot (Ub ) which is not redundant anymore. U1 Lb Ub L3 sequence can be given as an example. Let φ denote the time required for the robot to move from one buffer slot to another. We already defined µ as the time required to perform one Ub or Lb activity in which robot reaches to its buffer space and returns back to its initial position. However, if Lb Ub sequence is performed, the robot reaches to its buffer space once, moves between slots, and returns back to initial position. Therefore, the total time required for this sequence is not 2µ, but instead µ + φ. It is assumed that reaching to any one of the buffer slots requires the same amount of time. As a consequence, (0, 0, i) and (0, i, 0) states are identical in terms of their contribution to the cycle time, and thus only one of them is considered. Note also that similar to the B = 1 case, we eliminate all cycles in which the robot transports 2 : U L U L U L U L . As it is shown in the same part in its buffer space indefinitely, such as C7,1 0 1 1 2 b 3 2 b
Appendix B, this cycle starts with (0, 1, 3) state and the part in the first buffer slot is never unloaded. Furthermore, there are pairs of cycles having different activity sequences but identical cycle time 2 2 . One of these cycles is also eliminated from further consideration. expressions, e.g. C1,22 and C4,7
The eliminated cycles are presented in bold in Appendix B. After all such eliminations, the total number of 118 cycles is reduced to 55. These cycles are compared with each other in Table 13 in Appendix C and 15 cycles remained undominated. For different parameter values, each of these 15 cycles can be optimal. Two of these undominated cycles are the classical robot move cycles (S1 and S2 ) and three of them are the undominated cycles for B = 1 1 , C 1 , and C 1 ). The remaining 10 cycles require a buffer capacity of 2. In order to determine (C3,5 1,1 4,5
the regions of optimality for these 15 undominated cycles, their cycle times must be compared with each other for all possible parameter values. This analysis is cumbersome and includes many sub cases. Instead, whenever the parameter values are provided, one can compute the cycle time values of each of the undominated cycles and determine the best of them. However, this may not be needed 1 , are optimal for most 2 and C3,5 since in the sequel we show that two of the undominated cycles, C1,19
parameter values. Even if they are not optimal, we show that the cycle time of the best of these two cycles is less than (4/3)Topt in the worst case, where Topt denotes the optimal 1-unit cycle time value. We show this assuming that µ ≤ δ and φ is negligibly small (φ → 0), which are valid assumptions for most of the real life industrial practices. 1 is given in Equation (2) as T 1 = 6δ + 6ǫ + 2µ + max{0, p − The cycle time expression of C3,5 1 3,5 2 (4δ + 3ǫ + µ), p2 − (4δ + 3ǫ + µ)} and the cycle time of C1,19 is as follows (also given in Table 13 in
15
Appendix C): 2 T1,19 = 6δ + 6ǫ + 4µ + 2φ + max{0, p1 − (6δ + 4ǫ + 3µ + φ), p2 − (6δ + 4ǫ + 3µ + φ)}
(5)
2 1 for all possible parameter values. The following lemma determines the best of C1,19 and C3,5 1 1 dominates C 2 . Otherwise, C 2 Lemma 1. If max{p1 , p2 } ≤ 4δ + 3ǫ + 3µ, C3,5 1,19 dominates C3,5 . 1,19
Proof. Note that φ = 0 is assumed. We make the proof for p1 ≥ p2 . The other case can be proved similarly. We consider the following cases to complete the proof: 2 = 6δ + 6ǫ + 4µ and T 1 = 6δ + 6ǫ + 2µ. It is obvious Case 1: If p1 ≤ 4δ + 3ǫ + µ, then C1,19 3,5 1 dominates C 2 that C3,5 1,19 under this condition. 2 = 6δ + 6ǫ + 4µ and T 1 = p + 2δ + 3ǫ + µ. Case 2: If 4δ + 3ǫ + µ < p1 ≤ 6δ + 4ǫ + 3µ, then T1,19 1 3,5 1 = p + 2δ + 3ǫ + µ ≥ 6δ + 6ǫ + 4µ = T 2 . Otherwise, T 1 ≤ C 2 . If p1 ≥ 4δ + 3ǫ + 3µ, then T3,5 1 1,19 3,5 1,19 2 1 . Therefore, Case 3: If p1 > 6δ + 4ǫ + 3µ, then T1,19 = p1 + 2ǫ + µ ≤ p1 + 2δ + 3ǫ + µ = T3,5 1 . 2 ≺ C3,5 C1,19
To analyze the performance of these two cycles, we first develop a lower bound for the cycle time value of the 1-unit cycles. Lemma 2. The optimal 1-unit cycle time value of a buffered robotic cell cannot be less than LB1 , where LB1 = max{6δ + 6ǫ + min{2δ, 2µ, p1 + p2 }, max{p1 , p2 } + 2ǫ + min{µ + φ, 2ǫ + 4δ, ǫ + 2δ + µ}}. (6) Proof. The first part of the max{·} function considers robot’s moves during a cycle. In a 1-unit cycle, each machine is loaded and unloaded exactly once, one part is taken from the input buffer, and one part is dropped to the output buffer which takes 6ǫ of time in total. On the other hand, the robot must visit each machine including the input and the output buffers. Minimum time required for this is 3δ. In order to complete the cycle, the robot must return back to its initial position which requires an additional 3δ. Therefore, at least 6δ travel time is required. On the other hand, the robot must either wait in front of the machines during the processing or perform some other activities. All possible activities can be listed as follows: 1. If the robot waits in front of both machines without making any other activities during the processing, the required time is p1 + p2 . 2. If the robot does not wait in front of any one of the machines but move to another machine, the minimum required time is at least δ for one machine. For two machines total requirement is 2δ. 16
3. If the robot uses its buffer space to load at least one of the machines, then at least 2µ is required; one to load the part to the buffer space and one to unload that part back. Note that the robot may also wait in front of exactly one of the machines, which is not explicitly considered in the above cases. Because, waiting in front of exactly one of the machines implies that the robot has used its buffer space to load the other machine and this is handled in case 3 above. Minimum of these three alternatives is taken in the first part of the lower bound function above. The second term of the max{·} function considers the successive loadings of the machines; the cycle time must be greater than or equal to the time elapsed between two successive loadings of the same machine. In this term the maximum of this time among all machines is used. Just after loading Mi , until reloading it, the processing of the part must be completed which requires pi amount of time. The part must be unloaded from the machine which requires ǫ and a new part must be loaded which requires an additional ǫ. This part is common for all alternative moves. After unloading the part from Mi there are four possible alternatives that can be performed: 1. This alternative can be expressed by the activity sequence Ui Lb Ub Li . The robot loads the part to its buffer space, takes another part from the buffer space, and loads the machine. This requires φ + µ amount of time. 2. This alternative can be expressed with the activity sequence Ui Li+1 Ui−1 Li . The robot moves to Mi+1 , (δ); loads this machine with the part on its gripper, (ǫ); moves to Mi−1 , (2δ); unloads it, (ǫ); returns back to Mi , (δ). The total time required is 2ǫ + 4δ. This is the only possible alternative for the classical robotic cells. 3. This case can be explained with the activity sequence Ui Li+1 Ub Li . The robot moves to Mi+1 , (δ); loads this machine, (ǫ); returns back to Mi , (δ); takes a part from its buffer space, (µ).The total time for this case is ǫ + 2δ + µ. 4. This case can be explained with the activity sequence Ui Lb Ui−1 Li . After unloading Mi , the robot drops this part to its buffer space, (µ); moves to Mi−1 , (δ); unloads it, (ǫ); returns back to Mi , (δ). It is obvious that the total time required for this alternative is identical to the third alternative. The minimum of these alternatives is taken in the second part of the lower bound which completes the proof.
Note that this lower bound is valid for all 1-unit cycles independent of how many times a cycle uses its buffer space. Furthermore, it is developed for all possible values of parameters. As we mentioned
17
already, we will consider a practically relevant case (µ ≤ δ and φ = 0) to prove the efficiency of the two cycles. Under this case LB1 becomes the following: LB1 = max{6δ + 6ǫ + min{2µ, p1 + p2 }, max{p1 , p2 } + 2ǫ + µ}.
(7)
1 2 with LB1 in order to determine the and C3,5 The following series of lemmas compare C1,19
parameter regions where these cycles are optimal and the worst case performance bounds for the regions in which the optimality cannot be guaranteed. 1 ≤ 4/3(T Lemma 3. If p1 + p2 < 2µ, then T3,5 opt ). 1 = 6δ + 6ǫ + 2µ. The worst case Proof. When p1 + p2 < 2µ, we have LB1 ≥ 6δ + 6ǫ + p1 + p2 and T3,5 1 occurs when p + p = 0 and ǫ = 0. Therefore, we can write the following: performance of C3,5 1 2 1 T3,5 6δ + 6ǫ + 2µ 2µ ≤ ≤1+ . Topt 6δ + 6ǫ + p1 + p2 6δ
Therefore,
1 T3,5 2µ 1 ≤ 4Topt . . Since we assumed µ ≤ δ, we have T3,5 ≤1+ Topt 6δ 3
1 is optimal. Lemma 4. If p1 + p2 ≥ 2µ and max{p1 , p2 } ≤ 4δ + 3ǫ + µ, then C3,5 1 = 6δ + 6ǫ + 2µ which proves the optimality of C 1 . Proof. Under the given conditions, LB1 = T3,5 3,5
1 ≤ 5/4(T Lemma 5. If 4δ + 3ǫ + µ < max{p1 , p2 } ≤ 4δ + 3ǫ + 3µ, then T3,5 opt ). 1 = max{p , p } + 2δ + 3ǫ + µ. Proof. Under the given conditions, LB1 ≥ 6δ + 6ǫ + 2µ and T3,5 1 2 1 T3,5 max{p1 , p2 } + 2δ + 3ǫ + µ ≤ . Topt 6δ + 6ǫ + 2µ 1 T3,5 6δ + 6ǫ + 4µ 2µ ≤ = 1+ . This ratio Topt 6δ + 6ǫ + 2µ 6δ + 6ǫ + 2µ 1 ≤ 5Topt . increases as ǫ decreases. Letting ǫ = 0 and using µ ≤ δ we have T3,5 4
Since max{p1 , p2 } ≤ 4δ + 3ǫ + 3µ, we have
2 ≤ 5/4(Topt ). Lemma 6. If 4δ + 3ǫ + 3µ < max{p1 , p2 } < 6δ + 4ǫ + 3µ, then T1,19
Proof. We will complete the proof considering following cases: 2 = 6δ + 6ǫ + 4µ and LB1 = 6δ + 6ǫ + 2µ. 1. If 4δ + 3ǫ + 3µ ≤ max{p1 , p2 } ≤ 6δ + 4ǫ + µ, T1,19 2 T1,19 6δ + 6ǫ + 4µ 2µ ≤ ≤1+ . Topt 6δ + 6ǫ + 2µ 6δ + 6ǫ + 2µ
2 ≤ For the worst case performance, letting ǫ = 0 and using µ ≤ δ we have T1,19
18
5Topt . 4
2 2. If 6δ + 4ǫ + µ ≤ max{p1 , p2 } ≤ 6δ + 4ǫ + 3µ, T1,19 = 6δ + 6ǫ + 4µ and LB1 = max{p1 , p2 } + 2ǫ + µ. 2 T1,19 6δ + 6ǫ + 4µ ≤ . Topt max{p1 , p2 } + 2ǫ + µ
Since max{p1 , p2 } ≥ 6δ + 4ǫ + µ, we have 2 T1,19 6δ + 6ǫ + 4µ 2µ ≤ ≤1+ . Topt 6δ + 6ǫ + 2µ 6δ + 6ǫ + 2µ
2 ≤ Then, letting ǫ = 0 and using µ ≤ δ we have T1,19
5Topt . 4
2 is optimal. Lemma 7. If max{p1 , p2 } ≥ 6δ + 4ǫ + 3µ, then C1,19 2 . Therefore, C 2 Proof. Under this condition, LB1 = max{p1 , p2 } + 2ǫ + µ = T1,19 1,19 is optimal.
By these series of lemmas we determined the parameter regions where these two cycles are optimal and their worst case performance bounds in the remaining regions. In Figure 3 the results attained in Lemmas 3 through 7 are summarized. In this figure the regions of optimality and the worst case performance bounds of the two cycles are provided with respect to the value of max{p1 , p2 }.
0
p1 + p2 < 2µ
1 T3,5 ≤ 4/3 Topt
p1 + p2 ≥ 2µ
1 C3,5 is optimal
1 T3,5 ≤ 5/4 Topt
4δ+ 3Ɛ +µ
2 T1,19 ≤ 5/4 Topt
2 C1,19 is optimal
max{p1, p2} 4δ+ 3Ɛ +3µ
6δ+ 4Ɛ +3µ
1 and C 2 Figure 3: Performance summary of C3,5 1,19 cycles
Note that a robot with a buffer capacity of 2 can perform all feasible cycles that a dual 2 = gripper robot can perform, but the reverse is not correct. Consider the undominated cycle C9,3
U0 L1 Ub L3 U2 Lb Ub L2 U1 Lb as an example. If it is performed by a dual gripper robot, after performing U1 Lb both grippers of the robot are loaded (Lb means switching of the gripper for a dual gripper robot). Then, it cannot perform the U0 of the following repetition of the cycle. Therefore, this cycle cannot be performed by a dual gripper robot. In Section 6, we will compare the B = 2 case with the B = 1 case and the classical cycles to determine the benefits of the additional buffer space. The next section considers the unlimited buffer capacity case (B → ∞).
5
Infinite capacity buffer (B → ∞)
In this section, we consider the general case where the buffer capacity is assumed to be unlimited. In this way we will be able to see the effects of buffer capacity on the performance more easily. Although 19
having an infinite buffer capacity is practically impossible, a finite capacity buffer that is large enough to hold as many parts as required for a specific cycle can be thought as an infinite capacity buffer. Later in this section we show that most of the available benefits of using an infinite capacity buffer can be attained by a relatively small buffer capacity. There are a total of 212 feasible 1-unit cycles in a 2-machine robotic cell when B → ∞. Therefore, making the same analysis as previous sections is more difficult and cumbersome and getting sound analytical results is less probable. Furthermore, in an m-machine robotic cell any 1-unit cycle uses the buffer space at most m + 1 times: For a 2-machine cell a 1-unit cycle requires at most a 3capacity buffer. This means that the benefits of a very large buffer capacity is not fully utilized. As a consequence, we define a new class of robot move cycles named as q-accumulated cycles that are simple and practical and that better utilize the benefits of having a large buffer space. Definition 4. : In a q -accumulated cycle the robot takes q parts from the input buffer in a single visit. It produces the q parts by repeating the same activity sequence in which Li and Ui are used exactly once (similar to a 1-unit cycle) satisfying the feasibility conditions stated in Property 1. New parts are introduced from the robot’s buffer space instead of the input buffer and similarly, the produced parts are dropped to the robot’s buffer space. After repeating these activities q times, the robot drops q parts to the output buffer in a single visit. In q-accumulated cycles, a single repetition of the cycle produces q parts but the robot visits the input and the output buffers only once. Instead, the robot loads M1 by taking the unprocessed parts from its buffer space and by placing the completed parts again to its buffer space. Therefore, the total travel time of the robot reduces while the total time to reach its buffer space increases. However, as mentioned earlier, in most of the practical settings, µ ≤ δ is a valid assumption that favors the q-accumulated cycles. In the next section, we derive all possible q-accumulated cycles and their cycle times.
5.1
Feasible q-accumulated cycles and their cycle times
In this section we present the representation of the q-accumulated cycles and derive all feasible cycles and their cycle times. Other than visiting the input/output buffers once, the transportation and the production of the q parts are performed similar to the 1-unit cycles. After taking the parts from the input buffer, the robot repeats a sequence of activities where in each repetition one new part is taken from the robot’s buffer, both machines are loaded and unloaded exactly once, and one part is dropped to the robot’s buffer. After q parts are produced, the robot moves to the output buffer to drop the produced parts. If the first activity just after the robot’s visit of the input buffer is L1 , then, in order to eliminate unnecessary Ub and Lb activities (placing the part to the buffer space, moving 20
to M1 , taking the same part from the buffer space, and loading M1 ), the qth part is not placed to the robot’s buffer space but it is transported on the gripper of the robot. On the other hand, if the following activity is not L1 , then all q parts are placed to the buffer space. An identical situation occurs when dropping the parts to the output buffer. If the last activity before dropping the parts is U2 , in order to eliminate unnecessary Ub and Lb activities, this part is not placed to the robot’s buffer but transported on the gripper of the robot. In this section, Ck∞ will be used to denote the kth q-accumulated cycle. An example will be helpful in order to explain how these cycles are represented and the calculation of their cycle times. Let us consider q-accumulated cycle C8∞ = [U0 Lb ][q] −[U1 L2 U2 Lb Ub L1 ][q] −[Ub L3 ][q] . In this representation the first part states that U0 Lb activities are repeated q times, meaning that q parts are taken from the input buffer and placed to the robot’s buffer space. Then, the second block of activities (U1 L2 U2 Lb Ub L1 sequence) is repeated q times. After completing the execution of this block it moves to the final one to repeat Ub L3 activities q times and drop all the produced parts to the output buffer. The cycle time of this cycle can be calculated as follows, which can also be followed from Figure 4: 1. The robot takes (q) parts from the input buffer and places them to its buffer space q(ǫ + µ) (end of the first block). 2. It moves to M1 (δ) (start of the second block). 3. Second block is repeated q times, where one repetition takes 4ǫ + 2δ + µ + φ plus the waiting times in front of the machines. 4. The robot waiting times are identical in all repetitions except the first one. Note that the last activity of the second block is L1 (loading M1 ). This part will be unloaded from the machine in the following repetition of this block. This requires w1 = p1 amount of waiting time for the robot. In a q-accumulated cycle, we repeat this block q − 1 times. However, in the last repetition of the block, after loading M1 as the last activity of the block, before unloading it all q parts are dropped to the output buffer and a new set of q parts are taken from the input buffer. Therefore, the waiting time in the first repetition of the second block is different than the others. Since the value of this waiting time depends on q, it is denoted as w1 (q) and it is equal to max{0, p1 − (6δ + 2q(µ + ǫ))}. On the other hand, there is no such situation for the waiting times in front of M2 for which w2 = p2 . Therefore, in a single repetition of the cycle we have q times p2 . 5. After the last repetition of the second block, the robot moves to the output buffer (2δ) (start of the third block). 6. It drops all the parts (q(µ + ǫ)). 21
7. It returns back to the input buffer (3δ) (end of the cycle). In order to calculate the cycle time, the average time to produce a single part, we divide the total time to complete a cycle by q. For C8∞ we have the following cycle time as a function of q: 1 T8∞ = 6ǫ + 2δ + 3µ + φ + p1 + p2 + (w1 (q) − p1 + 6δ). q
p2
p2
[U0 Lb] [q] [ U1 L2 U2 Lb Ub L1 ] δ
p2
[ U1 L2 U2 Lb Ub L1 ]
1st repetition
(8)
....
qth repetition
2nd repetition
w1 = p1
w1 = p1
(1)
[Ub L3] [q]
[ U1 L2 U2 Lb Ub L1] 2δ
( q − 1)
3δ
w1 ( q) = max{0, p1 − (6δ + 2q ( µ + ε ))}
Figure 4: Activity sequence and waiting times for C8∞ Another example of a feasible q-accumulated cycle is the following: ∞ C15 = [U0 Lb ][q−1] − [U0 L1 U2 Lb U1 L2 ][1] − [Ub L1 U2 Lb U1 L2 ][q−1] − [Ub L3 ][q]
In this cycle the first block is repeated q −1 times instead of q. The next block is repeated only once and so on. This difference is a consequence of our earlier discussion stating that if the first activity of the second block is L1 , then the qth part is not placed to the robot’s buffer space but transported on the gripper. This results in a difference on the first repetition and the remaining repetitions of the second block as well. Therefore, the second block is separated into two in the activity sequence. By enumerating all possible activity sequences satisfying the feasibility conditions, it can be shown that there are a total of 26 feasible q-accumulated cycles. The activity sequences of all these cycles and their cycle time values are presented in Tables 14, 15, and 16 in Appendix D. In Table 14 observe that there are two cycles, C1∞ and C2∞ , in which both the first activity of the second block is L1 and the last activity of the second block is U2 which results in a third structure for cycle time representations. For all the cycle time functions presented in Tables 15 and 16, after some algebraic operations on ∞, C ∞, the waiting times, it is possible to have closed form expressions as in Equation (8), except C23 24 ∞ , and C ∞ cycles. Because of their different cycle time structures resulting from the waiting time C25 26
expressions, it is not obvious how to calculate their cycle times even when the parameter values are ∞ and for better understanding let q = 2. If w j denotes the jth given. As an example consider C23 i
22
waiting time in front of Mi (j = 1, 2, . . . , q), the activity sequence and the corresponding waiting times for this cycle are as follows: 1 w2
2 w1
2 w2
1 w1
U0 Lb U0 L1 ↑ U2 Lb Ub L2 ↑ U1 Lb Ub L1 ↑ U2 Lb Ub L2 ↑ U1 Lb Ub L3 Ub L3 where, w11 = max{0, p1 − (2δ + 2ǫ + µ + w21 )}, w12 = max{0, p1 − (2δ + 2ǫ + µ + w22 )}, w21 = max{0, p2 − (8δ + 2q(µ + ǫ) + 2ǫ − µ + w12 )}, and w22 = max{0, p2 − (2δ + 2ǫ + µ + w11 )}. Generalizing these to q ≥ 2, the waiting times have the following structure: w1j = max{0, p1 − (2δ + 2ǫ + µ + w2j )},
j = 1, . . . , q.
(9)
w21 = max{0, p2 − (8δ + 2q(µ + ǫ) + 2ǫ − µ + w1q )}.
(10)
w2j = max{0, p2 − (2δ + 2ǫ + µ + w1j−1 )},
(11)
j = 2, . . . , q.
" # q q P P 1 j j ∞ = 6ǫ + 5µ + 2δ + The resulting cycle time is T23 w + w21 + w2 + 6δ − 3µ as presented q j=1 1 j=2 in Table 16. We suggest the use of an iterative algorithm, presented as Algorithm 1, to calculate the waiting times in these equations. In this algorithm, wij (k) denotes the jth waiting time in front of Mi in the kth iteration. Algorithm starts with initializing w11 (0) = 0 and w21 (1) = 0 (Line 1). Then it calculates the corresponding values for wij (1) for all j (Lines 2-6). Starting from k = 2, all wij (k) are recalculated by setting w11 (k) = w11 (k − 1) in the following iterations (Lines 9-16). This procedure continues until all wij values remain unchanged from one iteration to the other. Since the wij values depend on one another, as soon as one of the wij values remains unchanged from its previous value, then all the others will also remain unchanged. Therefore any one of these waiting times can be used to check for the stopping condition. The algorithm uses w11 for this purpose (Line 8). Note that assuming all parameter values are integers, Algorithm 1 always converges, meaning that after a finite number of iterations it stops. The reason is, the waiting times given in Equations (9)-(11) are bounded below and above as follows: 0 ≤ w1j ≤ p1 − (2δ + 2ǫ + µ)
j = 1, . . . , q.
0 ≤ w21 ≤ p2 − (8δ + 2q(µ + ǫ) + 2ǫ − µ). 0 ≤ w2j ≤ p2 − (2δ + 2ǫ + µ),
j = 2, . . . , q.
The algorithm starts with setting w21 = 0 which is the lower bound. When w1j and w2j values are calculated using this starting value, w1j ’s have their highest possible values and w2j ’s have their lowest possible values. Because of the structure of the waiting times, an increase in w21 does not cause a decrease in none of the w2j values and does not cause an increase in none of the w1j values in the next
23
iteration. On the other hand, an increase in the value of w21 in one iteration increases its own value in the next iterations until it finally remains the same and stops. Since w21 is bounded above, the algorithm stops after a finite number of iterations. Similar procedures can be used to calculate the ∞ , C ∞ , and C ∞ for given parameter values which have similar structures. cycle times of C24 26 25 ∞ Algorithm 1 Algorithm to calculate waiting times for C23 Input: ǫ, δ, µ p1 , p2 , and q 1: w11 (0) ← 0, w21 (1) ← 0 2: Calculate w11 (1) using Equation (9) 3: for j=2 to q do 4: Calculate w2j (1) using Equation (11) 5: Calculate w1j (1) using Equation (9) 6: end for 7: k ← 1 8: while w11 (k) 6= w11 (k − 1) do 9: k ←k+1 10: w11 (k) ← w11 (k − 1) 11: for j=2 to q do 12: Calculate w2j (k) using Equation (11) 13: Calculate w1j (k) using Equation (9) 14: end for 15: Calculate w21 (k) using Equation (10) 16: Calculate w11 (k) using Equation (9) 17: end while j j j j 18: w1 ← w1 (k) and w2 ← w2 (k), ∀j Output: w1j and w2j , ∀j
Another important issue is the buffer space requirements of the q-accumulated cycles. In the next section we develop a methodology to find the optimal buffer capacity for the q-accumulated cycles.
5.2
Optimal buffer capacity for q-accumulated cycles
A q-accumulated cycle is not the one that requires a buffer capacity of q, but it is a cycle that produces q parts in a single repetition. During a repetition some cycles may require additional space to place the parts that were already on the machines at the beginning of the cycle. For example, in C7∞ (see Table 14) the robot takes q parts from the input buffer and places them to its buffer space. Then it unloads M2 and places this part also to its buffer space. As a consequence, this cycle requires a total buffer capacity of B7 = q + 1, where Bk denotes the total buffer capacity requirement for Ck∞ . The buffer space requirement of different q-accumulated cycles can be different. If rk denotes the extra buffer space requirement of Ck∞ over q, then we can write Bk = q + rk . These requirements for all q-accumulated cycles are presented in Table 3. For an existing robotic cell where the robot has an infinite capacity buffer space, these total requirement values may be irrelevant. However, if we consider this as a design problem where the total cost is an important criteria or there are constraints 24
on the available physical space, then the required buffer capacity becomes important. k
1
2 3
4
5 6
7
8
9 10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
rk
0
1 1
1
1 1
1
1
0
2
1
2
2
0
1
1
2
2
2
2
2
1
1
1
2
1
Table 3: rk values for all q-accumulated cycles Furthermore, having an infinite capacity buffer means that q can also be infinite (or at least takes very large values). However, when the criteria is the minimization of the per unit cycle time, this is not true for all q-accumulated cycles. Because the per unit cycle time for some cycles may be better for relatively small values of q (which, in turn, results in smaller buffer capacity requirements). In order to determine the optimal q values for the cycles, their cycle time functions must be analyzed. Let qk∗ denote the optimal q value for cycle Ck∞ . Let us consider C7∞ as an example which has the cycle time function T7∞ = 6ǫ + 2δ + 3µ + p1 + 1 p2 + (w2 (q) − p2 + 6δ). In this equation, w2 (q) = max{0, p2 − (6δ + 2q(µ + ǫ))}. If we rearrange the q 1 terms, we get T7∞ = 6ǫ + 2δ + 3µ + p1 + p2 + max{6δ − p2 , −2q(µ + ǫ)}. It is satisfactory to consider q only the fractional term since the remaining part is constant with respect to q: 1. If 2q(µ + ǫ) ≤ p2 − 6δ, the fractional part reduces to −2(µ + ǫ) which is a constant with respect to q. Therefore, all q values provide the same per unit cycle time. However, since a smaller q value means a smaller buffer capacity, we can state that q7∗ = 1 under these parameter conditions. 1 (6δ − p2 ). If p2 = 6δ, this becomes q constant with respect to q. Therefore, q7∗ = 1. Else if p2 > 6δ, it is a monotonically increasing
2. Else if 2q(µ + ǫ) > p2 − 6δ, the fractional part reduces to
function of q and we again have q7∗ = 1. On the other hand, if p2 < 6δ, it is a monotonically decreasing function and q7∗ → ∞. Let us consider the case where q7∗ → ∞ in the above example in more detail. If we use this optimal value, the fractional part becomes 0. However, if we choose to use the minimum possible buffer capacity (q = 1) instead, then the fractional part becomes 6δ − p2 . The maximum available benefit that can be attained by increasing the buffer capacity is the difference between these two values: 6δ − p2 . However, we can observe that the marginal benefit of increasing the value of q decreases. For example, half of the available benefit can be attained by increasing the buffer capacity by 1 (q = 2), and 2/3 of the available benefit can be attained when q = 3. It is possible for all cycles to determine the value of q corresponding to a certain percentage of the maximum available benefit. We can make similar analyses as C7∞ on all feasible q-accumulated cycles. However, a number of observations yield to an efficient procedure to determine the behavior of any cycle with respect to q. If the cycle time functions of the q-accumulated cycles given in Tables 15 and 16 are investigated, it 25
is seen that q either appears in the denominator or inside the waiting time functions, wi (q). We can write the general form of the cycle times except the last four cycles in Table 16 as follows: 1 Tk∞ = ak + (b1k w1 (q) + b2k w2 (q) + ck ), q
(12)
where b1k , b2k ∈ {0, 1}, ak ≥ 0, and ck (unrestricted) are constants calculated from problem parameters not involving q. Note that wi (q) values in all cycle time functions are nonincreasing with respect to q. In conclusion, depending on the problem parameters the cycle time functions of the form presented in Equation (12) are either monotonically decreasing or nondecreasing with respect to q. Although the excluded last four cycles seem to have a different form than Equation (12), the same conclusion is valid for them, too. Then, by evaluating a cycle time function for two different q values (e.g. q = 1 and q = 2), its behavior with respect to q can easily be determined. If it is a nondecreasing function, then qk∗ = 1, otherwise, qk∗ → ∞. When the optimal q values are determined, the corresponding buffer capacity requirements can also be determined using the relation Bk = qk∗ + rk . Although the optimal q value can be infinite when the cycle time is a monotonically decreasing function, most of the available benefit of increasing the buffer capacity can be attained by a relatively small one. In order to show this, let σ denote a percentage of the maximum available benefit, qmax denote the q value that provides the minimum cycle time, and qˆ denote the minimum possible value that is necessary to attain σ percentage of the maximum available benefit. As an example, let us consider C7∞ . Since the cycle time is a monotonically decreasing function, it takes its largest value when q = 1 and it decreases as q is increased. The difference in cycle time when q = 1 and q = qmax is (6δ − p2 )(1 − 1/qmax ) and the difference when q = 1 and q = qˆ is (6δ − p2 )(1 − 1/ˆ q ). We want to determine the value of qˆ such that
1 (6δ − p2 ) 1 − qˆ
≥ σ(6δ − p2 ) 1 −
1 qmax
,
which results in the following:
qˆ ≥
qmax . (1 − σ)qmax + σ
In order to get 80% of the maximum available benefit, if qmax → ∞, qˆ must be at least 5 and if qmax = 10, then qˆ must be at least 3.57. Bounds for the remaining q-accumulated cycles having a monotonically decreasing cycle time function can be found similarly, and their values are identical, too. We will demonstrate this by the experimental study in Section 6. This is an important observation since a robot with a larger buffer capacity usually requires more capital investment, as well as more physical space.
26
In conclusion, when the parameter values are given, one can easily evaluate all q-accumulated cycles using the developed procedures and a computer. For each cycle it is possible to determine its optimal per unit cycle time value and the corresponding buffer capacity requirements using these procedures. Then these cycles can be compared with each other to determine the one minimizing the per unit cycle time. On the other hand, it is also possible to evaluate and compare the cycles for a given fixed buffer capacity. Both versions of the problem have theoretical and practical importance. In the next section we will investigate the performance of self-buffered robots through a computational study.
6
Performance of Self Buffered Robots
In this section we investigate the performance of 1-unit cycles for self-buffered robotic cells, compare the self-buffered robots with the dual gripper robots and with the swap ability robots, and investigate the benefits of the buffer space. In order to analyze the performance of the 1-unit cycles for the self-buffered robots, in the following lemma, we generalize the lower bound derived for the cycle time of the 1-unit cycles in Equation (8) to account for any cycle with a buffer space of capacity b. Lemma 8. The optimal cycle time value for a buffered robotic cell with B = b cannot be less than LB b , where b
LB = max
6δ + b(min{4δ, 4µ} + 2δ) + 6ǫ + min{2δ, 2µ, p1 + p2 }, b+1 max{p1 , p2 } + 2ǫ + min{µ + φ, 2ǫ + 4δ, ǫ + 2δ + µ} .
(13)
Proof. Observe that this lower bound value is very similar to LB1 , the lower bound restricted for 1-unit cycles given in Equation (8). The only difference is in the first max{.} term which calculates the minimum possible activity time for the robot that has to be performed in order to produce a single part. 6δ + b(min{4δ, 4µ} + 2δ) The difference is in the calculation of the robot’s travel time where there is b+1 in LB b instead of 6δ in LB1 . The proof follows the same series of arguments as the proof of Lemma 2. Since the rest of the arguments in that proof are still valid, we only need to justify this difference. Let us divide the cell into three segments: The input buffer and M1 , M1 and M2 , and M2 and the output buffer. In any cycle, the robot must visit the input buffer at least once, travel through the output buffer and visit it at least once and return back to the input buffer (Each segment is travelled twice). This takes a total of 6δ amount of time. Besides this, for any part, the robot can either visit the input buffer to start processing of that part or use its buffer space for this purpose. In the former one, the first segment is travelled two times which takes at least 2δ. As a second alternative, if the robot uses its buffer space, then it must have loaded the part to its buffer space (that requires µ) 27
during its visit of the input buffer and instead of using the first segment again, the robot takes the part from its buffer space to load M1 . Therefore, this alternative requires 2µ amount of time. In order to find the minimum possible travel time, we take the minimum of these two alternatives (min{2δ, 2µ}). Same situation arises in order to drop the part to the output buffer after unloading from M2 . Hence, the total time becomes min{4δ, 4µ}. Lastly, for any part, the second segment must be travelled at least twice which takes 2δ. Note that if δ ≤ µ, then the robot visits the input and the output buffers for all parts and never uses its buffer space. In this case, the travel time per single part becomes 6δ. Otherwise, for each part the robot uses it buffer space and the input and the output buffers are visited only once in one cycle. Assume that the robot visited the input buffer once and took k + 1 parts (loaded k parts to its buffer space and took the last part to its gripper, k ≤ b), then the minimum 6δ + k(4µ + 2δ) . Note that this value is minimized as k increases and since total travel time will be k+1 k ≤ b, in order to find a lower bound we can replace k with b. Combining δ ≤ µ and δ > µ cases into 6δ + b(min{4δ, 4µ} + 2δ) a single equation we have which completes the proof. b+1 For the computational study we use δ, (ǫ/δ), (µ/δ), (p1 /δ), and (p2 /δ) as the factors of the experimental design related with the self-buffered robots. The problem parameters are not used individually as factors, but instead their ratios are used. The reason behind is that it is not the magnitude of a single parameter that affects the cycle time values, but it is the magnitude of a parameter with respect to the other parameters, especially with respect to δ. This is evident from all the lemmas and the theorems in the previous sections where the results depend on the comparison of the processing times, ǫ, µ, and δ with each other. In order to compare the self-buffered robots with the dual gripper robots we include the gripper switch time, θ, as another factor. After unloading a part from one of the machines, if the robot immediately reloads it with a new part which is already in the other gripper, then a switch time is required. The same activity sequence takes µ + φ amount of time for the self-buffered robots. Additionally, in order to include the robots with swap ability in the analysis, a swap time, ǫˆ, is defined as another factor. This involves the unloading of the processed part from the machine and immediately reloading the new part. For the self-buffered robots, the corresponding activities take 2ǫ + µ + φ amount of time. We assume the robot travel time from one buffer slot to another (φ) is negligible which is the situation in most of the industrial applications. Additionally, the effects of this parameter on the performances of the cycles are easily predictable, and thus it is not necessary to consider this parameter as an additional factor. Three levels are used for (p1 /δ), and (p2 /δ) and two levels are used for the remaining factors leading to 288 combinations for a full factorial design as can be seen in Table 4. 10 instances are generated for each combination which makes a total of 2880 problems.
28
Factor
Level 1
Level 2
Level 3
δ ǫ/δ µ/δ θ ǫˆ p1 /δ p2 /δ
U (1, 10) 0.5 0.4 [U (0.6, 1)]µ U (ǫ, 2ǫ + µ) U (0.1, 0.5) U (0.1, 0.5)
U (10, 25) 2 0.9 µ 2ǫ + µ U (0.5, 2) U (0.5, 2)
U (2, 10) U (2, 10)
Table 4: Parameter levels for the computational study
Note that for all combinations µ ≤ δ which is relevant in real industrial settings. In the other case, using a self-buffered robot may not be meaningful. Level 1 for θ and level 1 for ǫˆ assumes that the gripper switch time and the swap time are less than the corresponding times for the self-buffered robots and Level 2 assumes that they are the same. These are the interesting values to investigate. We start our analysis by investigating the performance of the 1-unit cycles and the q-accumulated cycles with respect to the lower bound. For each parameter combination, we determine the best 1-unit cycle for the B = 1 and the B = 2 cases, and the best q-accumulated cycle. We compare their cycle time values with LB 1 , LB 2 , and LB ∞ , respectively. The optimality gaps are calculated using the following formula: b } mini,j {Ti,j 1− LB b
!
× 100
(14)
The results are provided in Table 5. Note that in this table deviations are from the lower bound but not from the true optimum. Hence, they can be considered as the worst case performances. The last row of the table provides the results for the overall minimum of the self-buffered cycles (MinSB=min{B = 1, B = 2, q-accumulated}).
Self-buffered cycles B=1 B=2 q-accumulated MinSB
Compared LB LB 1 LB 2 LB ∞ LB ∞
Optimality Gap (%) Mean Max 9.1 23.7 21.1 17.9
36.0 53.0 50.0 48.5
Table 5: Optimality gaps for 1-unit and q-accumulated cycles for self-buffered robots
Next, we compare the performances of the robots with different capacities of buffer space and determine the benefits of the additional buffer space. We use the classical 1-unit cycles S1 and S2 , the undominated cycles for the B = 1 and the B = 2 cases, and the q-accumulated cycles for the B → ∞ case for this analysis. For each problem instance we determine the best classical robot move cycle, the best 1-unit cycles 29
for the B = 1 and the B = 2 cases and the best q-accumulated cycle. We already showed that the best performance of each q-accumulated cycle may be attained with a buffer capacity different from each other. In this analysis, for each cycle we determine its own optimal buffer capacity by the procedure explained in Section 5 and use this value in the analysis. Also recall that in some cases some of the cycles may require an infinite capacity buffer space. For these cycles, we determine the buffer capacity that provides 80% of the total available cycle time reduction and use these in the analysis. We compare the cycle time values of the self-buffered robotic cells with the classical 1-unit robot move cycles. The performance improvement over the classical cycles is calculated by changing the denominator in Equation (14) with (minh∈{1,2} {TSh }). The cycle time comparisons can easily be converted to a comparison in terms of the throughput rate. For example, a λ% reduction in cycle time is equivalent to ((1/(1 − (λ%)) − 1) × 100 percent increase in the throughput rate. According to the results summarized in Table 6, the cycle time of the robots with a single capacity buffer space is on the average 5.8% smaller than the cycle time of the no-buffer robots (6.2% increase in the throughput rate). Since the classical cycles are also feasible for the B = 1 and the B = 2 cases, they cannot be better than these two alternatives. However, in 580 of the 2880 instances the classical cycles provided the same cycle time value with the single capacity as well as with the double capacity buffer cases. The maximum reduction in the cycle time over all instances for a single-buffer robot appeared to be 21.4%. The last column of Table 6, (n∗ ) provides the number of instances in which the corresponding buffer capacity provided the best cycle time value. That is, in 875 out of 2880 instances, the single capacity buffers provided the best cycle time values. Since alternative cases can provide the same best cycle time value, the summation of the number of instances for the B = 1, the B = 2, and the q-accumulated alternatives exceeds 2880. Since the B = 2 case involves all cycles that are feasible for the B = 1 case, the results for this alternative are better. The q-accumulated cycles are also compared with the classical ones and they have the best mean cycle time reduction value among the three alternatives. Furthermore, they provided the best cycle time values in 1626 out of 2880 instances. However, in 723 instances the classical cycles provided a better cycle time value than the q-accumulated cycles. In the best case, the classical cycles were 4,73% better than the q-accumulated cycles. The last row of Table 6 compares the overall minimum of the cycles with a buffer space with the no-buffer cycles, which appeared to be 13.1% better on the average.
30
Reduction in Cycle Time (%) Mean Max B=1 B=2 q-accumulated MinSB
5.8 8.1 10.2 13.1
21.4 45.8 39.0 45.8
Increase in Throughput (%) Mean Max 6.2 8.8 11.3 15.1
27.4 84.4 63.9 84.4
n∗ 875 1262 1626 2880
Table 6: Performance improvement with respect to buffer space over classical cycles
Although 26 q-accumulated cycles exist, 17 of them never became the best in any one of the 2880 instances. Table 7 provides the 9 cycles and the number and percentage of instances that each of ∞ (q), C ∞ (q), and C ∞ (q), became the best them became the best. Three of these cycles, namely C24 2 1
q-accumulated cycle in 2720 (94%) of the instances. Cycle
# of Instances
Percentage
∞ C24 (q) C2∞ (q) C1∞ (q) C7∞ (q) ∞ C23 (q) C4∞ (q) ∞ C16 (q) ∞ C18 (q) ∞ C10 (q)
1552 841 327 63 53 33 9 1 1
53.9 29.2 11.3 2.2 1.8 1.1 0.4 0.04 0.04
Total
2880
100
Table 7: The number and the percentage of instances each q-accumulated cycle became the best
∞ (q) is the best q-accumulated cycle. In As can be seen from Table 7, in most of the instances, C24
this cycle, the robot unloads M1 , loads the part to its buffer space, and takes a new part from its buffer space to reload the same machine. The required time to perform these activities is µ + φ + 2ǫ. When µ and φ are smaller than δ, which is the case in most practical situations, this is the minimum possible time between two consecutive loadings of a machine. The same procedure is repeated to unload and reload M2 . If (p1 /δ) and (p2 /δ) are large, this cycle performs better. In 841 instances, C2∞ (q) is the best q-accumulated cycle, in which all machines are first loaded and then unloaded in the same sequence. This cycle performs better when p1 , p2 , and µ are relatively smaller with respect to δ. In 327 instances, C1∞ (q) is the best q-accumulated cycle, in which, after loading a machine the robot waits in front of it to complete the processing. Therefore, this cycle performs better when p1 and p2 are too small with respect to δ. Consistent with our theoretical findings, these experiments also revealed that more than 80% of the available benefit from increasing the buffer capacity can be attained by a capacity of at most 4. As the extra buffer space increases the investment cost, this result suggests to use a relatively small 31
buffer capacity. Finally, we will compare the self-buffered robots with the dual gripper robots and with the robots with swap ability. However, it is better to remember that although there are some industrial settings in which all of these robots can be used, there are also some other settings in which only one of them is suitable. For example, if there is no physical space for the buffer, a self buffered robot cannot be used. However, if the produced parts are relatively large in terms of volume, then a dual gripper robot may not be able to grip two parts simultaneously. Similarly, if the parts are too heavy, the robot arm may not be able to hold two such parts. In these situations, a dual gripper robot cannot be used, but instead, a self-buffered robot must be used. In the following analysis, we assume that each of them can be used alternatively. Using the same parameter combinations as in Table 4 we compared the self buffered cycles with the dual gripper and swap alternatives. For this purpose, we used the 52 feasible 1-unit cycles derived by Sethi et al. [16]. However, in their study, the authors assumed that the cell has a circular layout in which the input and the output buffers are located at the same place. Furthermore, they assumed the travel times for the robot to be constant, which means, it takes δ amount of time to travel between any pair of machines in the system. In order for the comparisons to be meaningful, we recalculated the cycle times of the 52 cycles under the settings of the current study. For each parameter combination, we computed the cycle times of all 52 cycles and determined the best one. On the other hand, the robots with swap ability are considered for reentrant robotic cells in the literature [12]. Similar to the dual gripper robots, we recalculated the cycle times for the 5 feasible 1-unit cycles corresponding to the settings of the current study and used these in our analysis. The results are provided in Tables 8 and 9. Since, θ and ǫˆ parameters are critical for the dual gripper and the swap alternatives, respectively, these tables show all possible factor combinations for these parameters (L1 and L2 indicate the levels of the parameters given in Table 4). Table 8 analyzes the performance of all alternative cycles. The values in this table are the mean and the maximum percent deviations of the cycle times from the best alternative (overall best among all cycles). As it can be seen, MinSB has the best performance in terms of both the mean and the maximum deviations for all parameter combinations which indicates the overall performance of the self-buffered robots. q-accumulated cycles have the second best mean deviation performance but the maximum deviations are relatively high. As expected, the dual gripper robots perform better for smaller θ values (L1) and the robots with swap ability are better for smaller ǫˆ values. We already mentioned that the dual gripper robots can perform any feasible cycle for the B = 1 case. Furthermore, since θ ≤ µ in all factor combinations, the dual gripper robots perform better than the B = 1 case under all combinations. Similarly, we mentioned that a robot with double capacity buffers can perform all feasible cycles that a dual gripper robot can perform. If the switch time, θ, is equal to the corresponding time for the 32
B = 2 case, µ, then the robots with double capacity buffer perform better than the dual gripper robots. However, if θ ≤ µ, then the dual gripper robots perform better.
θ
ˆǫ
B=1 Mean Max
B=2 Mean Max
q-accumulated Mean Max
MinSB Mean Max
Dual Gripper Mean Max
Swap Mean Max
L1 L2 L1 L2
10.8 9.4 10.4 8.6
37.9 37.0 37.3 31.3
7.8 6.1 7.7 5.2
25.1 26.5 24.0 23.7
6.2 4.1 5.5 3.4
37.9 50.0 38.4 24.7
3.3 1.3 2.6 0.5
25.1 26.5 21.6 10.9
6.3 4.4 7.8 5.3
24.2 24.0 24.0 23.7
14.8 19.7 14.0 19.6
76.7 94.6 78.2 79.4
Average
9.8
35.9
6.7
24.8
4.8
37.8
1.9
21.0
6.0
24.0
17.0
82.2
L1 L2
Table 8: Percent deviation of cycle times from the best alternative
Table 9 lists the number of instances in which each of these alternative cycles provided the best cycle time value. In this table NB represents the total number of best instances which includes the alternative bests, whereas UB represents the number of instances in which the corresponding cycle became the unique best. According to this table, MinSB has the best performance again in terms of both NB and UB. Since MinSB is the minimum of the self-buffered robots, it can never be the unique best. For this alternative UB represents the number of instances where MinSB happened to be better than the dual gripper and the swap cycles. The second best alternative according to this table is the q-accumulated cycles. Although, the swap cycles have large deviations from the best cycle according to the previous table, in 658 instances they provided the unique best cycle time value. Most of these cases occurred when ǫˆ is smaller. Since the cycles for the B = 1 case are involved in the B = 2 case, they never became the unique best. Furthermore, as explained above, when θ = µ, the B = 2 cycles perform better than the dual gripper cycles. Therefore, the dual gripper cycles never became the unique best for this case.
θ L1 L2
ǫ ˆ L1 L2 L1 L2
Total ∗
B=1 NB UB
B=2 NB UB
q-accumulated NB UB
MinSB NB UB∗
Dual Gripper NB UB
Swap NB UB
0 7 122 153
0 0 0 0
4 15 179 249
4 7 20 21
270 360 291 383
270 360 291 375
274 375 470 624
274 374 311 396
210 269 159 228
210 269 0 0
236 77 250 103
236 76 250 96
282
0
447
52
1304
1296
1743
1355
866
479
666
658
This shows the difference of minimum of self-buffered cycles from the dual gripper and the swap alternatives
Table 9: Number of instances each alternative became the best
33
7
Conclusion
In this study, we considered a robotic cell scheduling problem where the robot has a buffer space attached to it and moves with it. As this is the first study to consider the use of such a robot and the former definition of robot activities and cycles is insufficient for the current study, we developed the necessary framework to analyze such robotic cells. We considered single, double, and infinite capacity buffer cases separately. For the single capacity case we derived all 1-unit cycles and proved that there are three potentially optimal cycles. We determined the parameter regions where each of these cycles is the best alternative. For the double capacity case, we derived all 1-unit cycles, determined the undominated ones, and proved that there are 15 potentially optimal cycles. We showed that two of these cycles perform efficiently by determining their optimality regions and their worst case performance bounds. When the buffer capacity is assumed to be limitless, we defined a new class of robot move cycles, named as q-accumulated cycles that fully utilize the benefits of the buffer space and perform efficiently. We derived all such cycles and developed procedures to determine the optimal buffer capacities to be used with each of them for all possible parameter values. Since this is the first study to consider a robot with a buffer space, we analyzed the performances of 1-unit cycles for self-buffered robotic cells and the benefits of using such robots. We performed a computational study to compare the no-buffer robots with the robots having different buffer capacities. Our results indicate that having a robot with a buffer space can reduce the cycle time significantly depending on problem parameters. Additionally, most of the available benefit is attained by a relatively small buffer size. We also compared the performances of the self-buffered robots, the dual gripper robots, and the robots with swap ability. The results indicate that the best self-buffered cycle performs more efficiently than the other two alternatives. The newly defined q-accumulated cycles also performs efficiently. In this study, we considered 1-unit and q-accumulated cycles. Although the theoretical and the computational analyses showed that these cycles perform efficiently, considering larger classes of cycles and developing exact and heuristic solution procedures that determine the optimal buffer capacity and the optimal robot move sequence will contribute to the literature. Considering the same problem with multiple parts is another important extension. In this case, part sequencing becomes another issue to be solved which complicates the problem. Finally, the problem can be extended to involve dual gripper robots and buffer space simultaneously.
34
Appendix A
1 1 1 Comparison of C3,5 , C4,5 , and C1,1 for the Proof of
Proposition 1 Condition
µ
p1 vs p2
Optimal Cycle
p1
p2
1
p1 ≤ β
p2 ≤ γ
1 C3,5
2
p1 ≤ β
p2 ≥ γ
1 = C1 C3.5 4,5
3
β ≤ p1 ≤ α
p2 ≤ β
1 C3,5
4
β ≤ p1 ≤ α
β ≤ p2 ≤ α
1 C3,5
5
β ≤ p1 ≤ α
β ≤ p2 ≤ α
p2 ≤ p1 + γ − β
6
β ≤ p1 ≤ α
β ≤ p2 ≤ α
p1 ≤ p2 + β − γ
1 C3,5 1 C3,5 1 C3,5
1 = C4,5
7
β ≤ p1 ≤ α
p2 ≥ α
p2 ≥ p1 + γ − β
8
β ≤ p1 ≤ α
p2 ≥ α
p1 ≥ p2 + β − γ
9
α ≤ p1 ≤ γ
p2 ≤ β
1 C3,5
10
α ≤ p1 ≤ γ
β ≤ p2 ≤ α
1 C3,5
α ≤ p1 ≤ γ
α ≤ p2 ≤ γ
1 C3,5
α ≤ p1 ≤ γ
p2 ≥ γ
11 12
µ≤ǫ
13
α ≤ p1 ≤ γ
p2 ≥ γ
14
p1 ≥ γ
p2 ≤ β
15
p1 ≥ γ
β ≤ p2 ≤ α
p1 ≥ p2 + β − γ p2 ≥ p1 + γ − β
1 C3,5
1 C3,5 1 C3,5 1 C3,5
1 = C4,5 1 = C1,1
1 C3,5 1 C3,5
1 = C1,1
16
p1 ≥ γ
α ≤ p2 ≤ γ
p1 ≥ p2 + γ − β
17
p1 ≥ γ
α ≤ p2 ≤ γ
p2 ≥ p1 + β − γ
1 C3,5
18
p1 ≥ γ
p2 ≥ γ
p1 ≥ p2 & p1 ≥ p2 + γ − β
1 = C1 C3,5 1,1
19
p1 ≥ γ
p2 ≥ γ
p1 ≥ p2 & p2 ≥ p1 + β − γ
1 C3,5
20
p1 ≥ γ
p2 ≥ γ
p2 ≥ p1 & p2 ≥ p1 + β − γ
1 C3,5
21
p1 ≥ γ
p2 ≥ γ
p2 ≥ p1 & p2 ≥ p1 + γ − β
1 = C1 C3,5 4,5
22
p1 ≤ α
p2 ≤ α
1 C3,5
23
p1 ≤ α
α ≤ p2 ≤ β
1 = C1 C3,5 4,5
24
α ≤ p1 ≤ β
β ≤ p2 ≤ γ
1 C3,5 1 C3,5
1 = C4,5
25
α ≤ p1 ≤ β
p2 ≥ γ
26
β ≤ p1 ≤ γ
p2 ≤ α
1 C3,5
27
β ≤ p1 ≤ γ
α ≤ p2 ≤ β
1 C3,5
28
β ≤ p1 ≤ γ
β ≤ p2 ≤ γ
p1 ≥ p2 & p1 − p2 ≥ γ − β
1 C1,1
29
β ≤ p1 ≤ γ
β ≤ p2 ≤ γ
p1 ≥ p2 & p1 − p2 ≤ γ − β
1 C3,5
β ≤ p1 ≤ γ
β ≤ p2 ≤ γ
p2 ≥ p1 & p2 − p1 ≥ γ − β
1 C4,5
β ≤ p1 ≤ γ
β ≤ p2 ≤ γ
p2 ≥ p1 & p2 − p1 ≤ γ − β
1 C3,5
32
β ≤ p1 ≤ γ
p2 ≥ γ
1 C3,5
33
p1 ≥ γ
p2 ≤ α
1 = C1 C3,5 1,1
34
p1 ≥ γ
α ≤ p2 ≤ β
1 = C1 C3,5 1,1
35
p1 ≥ γ
β ≤ p2 ≤ γ
p2 ≥ p1 + β − γ
1 C3,5
36
p1 ≥ γ
β ≤ p2 ≤ γ
p1 ≥ p2 + γ − β
1 = C1 C3,5 1,1
37
p1 ≥ γ
p2 ≥ γ
p1 ≥ p2 & p1 ≥ p2 + γ − β
1 = C1 C3,5 1,1
38
p1 ≥ γ
p2 ≥ γ
p1 ≥ p2 & p2 ≥ p1 + β − γ
1 C3,5
39
p1 ≥ γ
p2 ≥ γ
p2 ≥ p1 & p2 ≥ p1 + γ − β
1 = C1 C3,5 4,5
40
p1 ≤ 6δ + 3ǫ + µ
p2 ≤ 6δ + 3ǫ + µ
30 31
41 42
ǫ < µ ≤ 2δ + ǫ
2δ + ǫ < µ
p1 > 6δ + 3ǫ + µ p2 > 6δ + 3ǫ + µ
1 C3,5
p1 ≥ p2
1 C4,5
p1 < p2
1 C1,1
Table 10: Comparison of the undominated cycles for the proof of Proposition 1 35
Appendix B
Feasible 1-unit cycles for B = 2
(0, 0, 0)
(0, 2, 0)
(0, 3, 0)
1 C2 1,1 = C1,5 = U0 L1 U2 Lb U1 L2 Ub L3
2 = U L U L U L U L U L U L C3,1 0 b b 2 b 1 2 b 1 b b 3
1 C2 4,1 = C4,5 = U0 L1 Ub L3 U2 Lb U1 L2
2 = U L U L U L U L U L C1,2 0 1 2 b 1 b b 3 b 2
2 = U L U L U L U L U L C3,2 0 1 b 2 2 b 1 b b 3
2 = U L U L U L U L U L C4,2 0 b b 3 b 1 2 b 1 2
1 C2 1,3 = C1,3 = U0 Lb U1 L2 Ub L1 U2 L3
2 = U L U L U L U L U L C3,3 0 b b 2 b 1 2 3 1 b
1 C2 4,3 = C4,2 = U0 L1 U1 L2 Ub L3 U2 Lb
2 = U L U L U L U L U L C1,4 0 b 1 b b 1 b 2 2 3
1 C2 3,4 = C3,3 = U0 L1 Ub L2 U2 L3 U1 Lb
2 = U L U L U L U L U L C4,4 0 1 1 b b 3 b 2 2 b
C2 1,5 = S1 = U0 L1 U1 L2 U2 L3
2 = U L U L U L U L U L C3,5 0 b b 2 2 3 1 b b 1
1 C2 4,5 = C4,4 =U0 L1 Ub L3 U1 L2 U2 Lb
C2 1,6 = S2 = U0 L1 U2 L3 U1 L2
2 = U L U L U L U L U L C3,6 0 b b 2 2 3 b 1 1 b
2 = U L U L U L U L U L C4,6 0 b 1 2 b 1 b 3 2 b
1 C2 1,7 = C1,1 = U0 Lb U2 L3 U1 L2 Ub L1
2 = U L U L U L U L U L U L C3,7 0 b b 2 2 b b 1 1 b b 3
2 = U L U L U L U L U L C4,7 0 b 1 2 b 3 b 1 2 b
2 = U L U L U L U L U L C1,8 0 b 2 3 1 b b 1 b 2
2 = U L U L U L U L U L U L C3,8 0 b b 2 2 b b 1 b 3 1 b
2 =U L U L U L U L U L U L C4,8 0 b b 3 1 b b 1 b 2 2 b
C2 1,9 = S1 = U0 L1 U1 L2 U2 L3
2 = U L U L U L U L U L C3,9 0 1 2 b b 2 1 b b 3
2 = U L U L U L U L U L C4,9 0 b b 3 1 2 b 1 2 b
1 C2 1,10 = C1,4 = U0 Lb U1 L2 U2 L3 Ub L1
2 C3,10 = U 0 Lb U b L1 U 2 Lb U b L2 U b L3 U 1 Lb
2 C4,10 = U 0 Lb U b L3 U b L1 U 1 L2 U 2 Lb
1 C2 1,11 = C1,2 = U0 Lb U2 L3 Ub L1 U1 L2
1 C2 3,11 = C4,5 = U0 L1 Ub L3 U2 Lb U1 L2
C2 4,11 = S2 = U0 L1 U2 L3 U1 L2
2 C1,12 = U 0 Lb U 2 Lb U 1 L2 U b L3 U b L1
1 C2 3,12 = C1,5 = U0 L1 U2 Lb U1 L2 Ub L3
2 C4,12 = U 0 Lb U b L3 U 2 Lb U 1 L2 U b L1
2 C1,13 = U 0 Lb U 2 Lb U 1 L2 U b L1 U b L3
C2 3,13 = S1 = U0 L1 U1 L2 U2 L3
2 C4,13 = U 0 Lb U b L3 U 2 Lb U b L1 U 1 L2
2 C1,14 = U 0 Lb U 2 Lb U b L1 U 1 L2 U b L3
1 C2 3,14 = C3,2 = U0 L1 Ub L2 U1 Lb U2 L3
2 C4,14 = U 0 Lb U 1 L2 U b L3 U 2 Lb U b L1
2 C1,15 = U 0 Lb U 2 Lb U b L1 U 1 Lb U b L3 U b L2
1 C2 3,15 = C1,3 = U0 Lb U1 L2 Ub L1 U2 L3
2 C4,15 = U 0 Lb U b L3 U 1 L2 U 2 Lb U b L1
2 C1,16 = U 0 Lb U 2 Lb U b L1 U b L3 U 1 L2
2 C3,16 = U 0 Lb U b L2 U 1 Lb U b L1 U 2 L3
2 = U 0 L1 U 1 Lb U b L3 U 2 Lb U b L2 C4,16
2 C1,17 = U 0 Lb U 1 L2 U 2 Lb U b L1 U b L3
2 C3,17 = U 0 Lb U b L2 U b L1 U 1 Lb U 2 L3
2 C4,17 = U 0 L1 U b L3 U 1 Lb U 2 Lb U b L2
2 C1,18 = U 0 L1 U 1 Lb U 2 Lb U b L2 U b L3
C2 3,18 = S2 = U0 L1 U2 L3 U1 L2
2 C4,18 =U0 Lb Ub L3 U1 Lb Ub L1 U2 Lb Ub L2
2 C1,19 = U 0 Lb U 1 Lb U b L1 U 2 Lb U b L2 U b L3
1 C2 3,19 = C3,5 = U0 L1 U2 L3 Ub L2 U1 Lb
2 C4,19 = U 0 Lb U b L3 U b L1 U 1 Lb U 2 Lb U b L2
2 C1,20 = U 0 Lb U 1 Lb U b L1 U 2 L3 U b L2
1 C2 3,20 = C4,4 = U0 L1 Ub L3 U1 L2 U2 Lb
C2 4,20 = S1 = U0 L1 U1 L2 U2 L3
1 C2 1,21 = C1,7 = U0 L1 U1 Lb U2 L3 Ub L2
1 C2 3,21 = C1,1 = U0 Lb U2 L3 U1 L2 Ub L1
1 C2 4,21 = C1,3 = U0 Lb U1 L2 Ub L1 U2 L3
C2 1,22 = U0 Lb U1 Lb U2 L3 Ub L1 Ub L2
1 C2 3,22 = C1,2 = U0 Lb U2 L3 Ub L1 U1 L2
C2 4,22 = S2 = U0 L1 U2 L3 U1 L2
1 C2 1,23 = C3,5 = U0 L1 U2 L3 Ub L2 U1 Lb
1 C2 3,23 = C1,4 = U0 Lb U1 L2 U2 L3 Ub L1
1 C2 4,23 = C1,5 = U0 L1 U2 Lb U1 L2 Ub L3
2 C1,24 = U 0 Lb U 1 Lb U 2 L3 U b L2 U b L1
2 C3,24 = U 0 Lb U b L2 U 1 Lb U 2 L3 U b L1
1 C2 4,24 = C1,1 = U0 Lb U2 L3 U1 L2 Ub L1
2 C3,25 = U 0 Lb U 2 L3 U b L1 U b L2 U 1 Lb
1 C2 4,25 = C1,2 = U0 Lb U2 L3 Ub L1 U1 L2
1 C2 2,1 = C1,3 = U0 Lb U1 L2 Ub L1 U2 L3
2 C3,26 = U 0 Lb U 2 L3 U b L2 U 1 Lb U b L1
1 C2 4,26 = C1,4 = U0 Lb U1 L2 U2 L3 Ub L1
1 C2 2,2 = C1,1 = U0 Lb U2 L3 U1 L2 Ub L1
2 C3,27 = U 0 Lb U 2 L3 U b L2 U b L1 U 1 Lb
1 C2 4,27 = C1,7 = U0 L1 U1 Lb U2 L3 Ub L2
1 C2 2,3 = C1,4 = U0 Lb U1 L2 U2 L3 Ub L1
1 C2 3,28 = C1,7 = U0 L1 U1 Lb U2 L3 Ub L2
(0, 1, 0)
1 C2 2,4 = C1,2 = U0 Lb U2 L3 Ub L1 U1 L2 1 C2 2,5 = C1,7 = U0 L1 U1 Lb U2 L3 Ub L2
(0, 1, 1)
(0, 1, 2) 1 C2 6,1 = C1 = U0 L1 Ub L2 U2 L3 U1 Lb
C2 5,1 = S1 = U0 L1 U1 L2 U2 L3
2 = U L U L U L U L U L C6,2 0 b b 2 2 3 b 1 1 b
C2 5,2 = S2 = U0 L1 U2 L3 U1 L2
C2 6,3 = S1 = U0 L1 U1 L2 U2 L3 1 C2 6,4 = C3,2 = U0 L1 Ub L2 U1 Lb U2 L3
C2 6,5 = S2 = U0 L1 U2 L3 U1 L2
Table 11: Feasible cycles for B=2 for given initial states 36
(0, 1, 3)
(0, 2, 3)
(0, 3, 3)
1 C2 7,1 = C4,2 = U0 L1 U1 L2 Ub L3 U2 Lb
2 = U L U L U L U L U L C9,1 0 1 b 2 b 3 2 b 1 b
1 C2 10,1 = C4,2 = U0 L1 U1 L2 Ub L3 U2 Lb
1 C2 7,2 = C4,4 = U0 L1 Ub L3 U1 L2 U2 Lb
2 = U L U L U L U L U L C9,2 0 1 b 3 b 2 2 b 1 b
1 C2 10,2 = C4,4 = U0 L1 Ub L3 U1 L2 U2 Lb
1 C2 7,3 = C4,5 = U0 L1 Ub L3 U2 Lb U1 L2
2 = U L U L U L U L U L C9,3 0 1 b 3 2 b b 2 1 b
1 C2 10,3 = C4,5 = U0 L1 Ub L3 U2 Lb U1 L2
C2 7,4 = S1 = U0 L1 U1 L2 U2 L3
2 = U L U L U L U L U L C9,4 0 1 b 3 b 2 1 b 2 b
C2 10,4 = S1 = U0 L1 U1 L2 U2 L3
C2 7,5 = S2 = U0 L1 U2 L3 U1 L2
1 C2 9,5 = C4,2 = U0 L1 U1 L2 Ub L3 U2 Lb
C2 10,5 = S2 = U0 L1 U2 L3 U1 L2
(0, 2, 2)
2 = U L U L U L U L U L C9,6 0 1 b 2 1 b b 3 2 b
1 C2 8,1 = C1 = U0 L1 Ub L2 U2 L3 U1 Lb
2 = U L U L U L U L U L C9,7 0 1 b 2 b 3 1 b 2 b
C2 8,2 = S1 = U0 L1 U1 L2 U2 L3
1 C2 9,8 = C1 = U0 L1 Ub L2 U2 L3 U1 Lb
1 C2 8,3 = C3,2 = U0 L1 Ub L2 U1 Lb U2 L3
C2 9,9 = S1 = U0 L1 U1 L2 U2 L3
C2 8,4 = S2 = U0 L1 U2 L3 U1 L2
1 C2 9,10 = C3,2 = U0 L1 Ub L2 U1 Lb U2 L3
1 C2 8,5 = C3,5 = U0 L1 U2 L3 Ub L2 U1 Lb
C2 9,11 = S2 = U0 L1 U2 L3 U1 L2 1 C2 9,12 = C3,5 = U0 L1 U2 L3 Ub L2 U1 Lb
Table 12: Feasible cycles for B=2 for given initial states (continued)
37
Appendix C
Feasible cycles for B=2 and their dominance relations
Cycle
Cycle Time
Dominance Relation
2 C1,2 2 C1,4 2 C1,8 2 C1,12 2 C1,13 2 C1,14 2 C1,15 2 C1,16 2 C1,17 2 C1,18 2 C1,19 2 C1,20 2 C1,24 2 C3,1 2 C3,2 2 C3,3 2 C3,5 2 C3,6 2 C3,7 2 C3,8 2 C3,9 2 C3,10 2 C3,16 2 C3,17 2 C3,24 2 C3,25 2 C3,26 2 C3,27 2 C4,2 2 C4,4 2 C4,6 2 C4,7 2 C4,8 2 C4,9 2 C4,10 2 C4,12 2 C4,13 2 C4,14 2 C4,15 2 C4,16 2 C4,17 2 C4,18 2 C4,19 2 C6,2 2 C9,1 2 C9,2 2 C9,3 2 C9,4 2 C9,6 2 C9,7 1 C3,5 1 C4,5 1 C1,1 S1 S2
8δ + 6ǫ + 4µ + φ + max{0, p1 − (2δ + ǫ + µ), p2 − (4δ + 2ǫ)} 6δ + 6ǫ + 3µ + φ + p2 + max{0, p1 − (6δ + 4ǫ + 2µ + p2 )} 8δ + 6ǫ + 3µ + φ + max{0, p1 − (8δ + 4ǫ + 2µ), p2 − (4δ + ǫ + µ)} 8δ + 6ǫ + 4µ + max{0, p1 − (4δ + 2ǫ + 2µ), p2 − (6δ + 3ǫ + 3µ)} 10δ + 6ǫ + 4µ + max{0, p1 − (8δ + 3ǫ + 3µ), p2 − (8δ + 3ǫ + 3µ)} 8δ + 6ǫ + 3µ + p1 + φ + max{0, p2 − (6δ + 2ǫ + 2µ)} 8δ + 6ǫ + 4µ + 2φ + p1 + max{0, p2 − (4δ + ǫ + µ)} 10δ + 6ǫ + 3µ + φ + max{0, p1 − (4δ + ǫ + µ)} + max{0, p2 − (4δ + ǫ + µ)} 8δ + 6ǫ + 3µ + φ + max{0, p1 − (6δ + 2ǫ + 2µ)} + p2 6δ + 6ǫ + 3µ + φ + p1 + max{0, p2 − (6δ + 4ǫ + 2µ + p1 )} 6δ + 6ǫ + 4µ + 2φ + max{0, p1 − (6δ + 4ǫ + 3µ + φ), p2 − (6δ + 4ǫ + 3µ + φ)} 6δ + 6ǫ + 3µ + φ + max{0, p1 − (6δ + 4ǫ + 2µ), p2 − (4δ + 3ǫ + 3µ + φ)} 6δ + 6ǫ + 4µ + max{0, p1 − (2δ + ǫ + µ), p2 − (4δ + 3ǫ + 3µ)} 10δ + 6ǫ + 4µ + 2φ + max{0, p1 − (2δ + ǫ + µ), p2 − (2δ + ǫ + µ)} 8δ + 6ǫ + 3µ + p2 + φ + max{0, p1 − (2δ + 2ǫ + 2µ + p2 )} 8δ + 6ǫ + 3µ + φ + max{0, p1 − (4δ + 2ǫ), p2 − (2δ + ǫ + µ)} 6δ + 6ǫ + 2µ + 2φ + p2 + max{0, p1 − (6δ + 4ǫ + µ + p2 )} 6δ + 6ǫ + 3µ + p1 + p2 + φ 8δ + 6ǫ + 3µ + 3φ + p1 + p2 8δ + 6ǫ + 4µ + 2φ + p2 + max{0, p1 − (4δ + ǫ + µ)} 8δ + 6ǫ + 2µ + 2φ + max{0, p1 − (2δ + 2ǫ + µ + φ), p2 − (8δ + 4ǫ + µ + φ)} 6δ + 6ǫ + 4µ + 2φ + max{0, p1 − (4δ + 3ǫ + 2µ + 2φ), p2 − (6δ + 4ǫ + 3µ + φ)} 8δ + 6ǫ + 2µ + 2φ + max{0, p1 − (8δ + 4ǫ + µ + φ), p2 − (2δ + 2ǫ + µ + φ)} 8δ + 6ǫ + 3µ + φ + p1 + max{0, p2 − (2δ + 2ǫ + 2µ + p1 )} 8δ + 6ǫ + 3µ + φ + max{0, p1 − (4δ + 2ǫ + 2µ), p2 − (2δ + ǫ + µ)} 8δ + 6ǫ + 4µ + max{0, p1 − (2δ + ǫ + µ), p2 − (4δ + 2ǫ + 2µ)} 6δ + 6ǫ + 3µ + φ + max{0, p1 − (6δ + 4ǫ + 2µ), p2 − (4δ + 3ǫ + 2µ + φ)} 6δ + 6ǫ + 4µ + p1 + max{0, p2 − (4δ + 3ǫ + 3µ + p1 )} 10δ + 6ǫ + 3µ + φ + max{0, p1 − (2δ + ǫ + µ), p2 − (8δ + 3ǫ + 2µ + φ)} 6δ + 6ǫ + 3µ + φ + p2 + p1 8δ + 6ǫ + 4µ + max{0, p1 − (6δ + 3ǫ + 3µ), p2 − (4δ + 2ǫ + 2µ)} 8δ + 6ǫ + 4µ + max{0, p1 − (4δ + 2ǫ + 2µ), p2 − (4δ + 2ǫ + 2µ)} 8δ + 6ǫ + 4µ + 2φ + p2 + max{0, p1 − (8δ + 4ǫ + 3µ + φ + p2 )} 10δ + 6ǫ + 3µ + φ + max{0, p1 − (8δ + 3ǫ + 2µ + φ), p2 − (2δ + ǫ + µ)} 8δ + 6ǫ + 3µ + φ + p1 + p2 8δ + 6ǫ + 3µ + φ + max{0, p1 − (6δ + 3ǫ + 2µ + φ), p2 − (6δ + 3ǫ + 2µ + φ)} 8δ + 6ǫ + p1 + 2µ + 2φ + max{0, p2 − (6δ + 2ǫ + µ + φ)} 6δ + 6ǫ + 4µ + max{0, p1 − (2δ + ǫ + µ)} + max{0, p2 − (2δ + ǫ + µ)} 8δ + 6ǫ + 2µ + 2φ + p2 + max{0, p1 − (6δ + 2ǫ + µ + φ)} 6δ + 6ǫ + 2µ + 2φ + p1 + max{0, p2 − (6δ + 4ǫ + µ + φ + p1 )} 8δ + 6ǫ + 3µ + φ + max{0, p1 − (4δ + ǫ + µ), p2 − (8δ + 4ǫ + 2µ)} 8δ + 6ǫ + 3µ + 3φ + max{0, p1 − (8δ + 4ǫ + 2µ + 2φ), p2 − (8δ + 4ǫ + 2µ + 2φ)} 8δ + 6ǫ + 4µ + 2φ + p1 + max{0, p2 − (8δ + 4ǫ + 3µ + p1 + φ)} 6δ + 6ǫ + 3µ + φ + p1 + p2 6δ + 6ǫ + 4µ + max{0, p1 − (4δ + 3ǫ + 3µ), p2 − (2δ + ǫ + µ)} 6δ + 6ǫ + 4µ + p2 + max{0, p1 − (4δ + 3ǫ + 3µ + p2 )} 6δ + 6ǫ + 3µ + φ + max{0, p1 − (4δ + 3ǫ + 2µ + φ), p2 − (6δ + 4ǫ + 2µ)} 8δ + 6ǫ + 4µ + max{0, p1 − (4δ + 2ǫ + 2µ), p2 − (2δ + ǫ + µ)} 8δ + 6ǫ + 3µ + φ + max{0, p1 − (2δ + ǫ + µ), p2 − (4δ + 2ǫ + 2µ)} 8δ + 6ǫ + 4µ + max{0, p1 − (4δ + 2ǫ + 2µ), p2 − (4δ + 2ǫ + 2µ)} 6δ + 6ǫ + 2µ + max{0, p1 − (4δ + 3ǫ + µ), p2 − (4δ + 3ǫ + µ)} 8δ + 6ǫ + 2µ + max{0, p1 − (4δ + 2ǫ + 2µ), p2 − (6δ + 3ǫ + µ)} 8δ + 6ǫ + 2µ + max{0, p1 − (6δ + 3ǫ + µ), p2 − (4δ + 2ǫ + 2µ)} 6δ + 6ǫ + p1 + p2 8δ + 6ǫ + max{0, p1 − (4δ + 2ǫ), p2 − (4δ + 2ǫ)}
1 ≺ C2 C3,5 1,2 2 2 C1,20 ≺ C1,4 2 2 C1,20 ≺ C1,8 1 ≺ C2 C4,5 1,12 1 ≺ C2 C3,5 1,13 2 2 C1,18 ≺ C1,14 2 2 C4,19 ≺ C1,15 2 2 C1,20 ≺ C1,16 2 2 C3,26 ≺ C1,17 2 ≺ C2 C9,3 1,18 undominated undominated 1 ≺ C2 C3,5 1,24 1 ≺ C2 C1,1 3,1 2 2 C1,20 ≺ C3,2 1 ≺ C2 C3,5 3,3 undominated 2 S1 ≺ C3,6 2 S1 ≺ C3,7 2 2 C9,2 ≺ C3,8 undominated 2 ≺ C2 C9,3 3,10 undominated 2 2 C4,17 ≺ C3,17 1 2 C1,1 ≺ C3,24 1 ≺ C2 C4,5 3,25 undominated 1 ≺ C2 C3,5 3,27 1 ≺ C2 C3,5 4,2 2 S1 ≺ C4,4 1 ≺ C2 C3,5 4,6 2 ≺ C2 C4,6 4,7 2 2 C3,16 ≺ C4,8 2 2 C9,1 ≺ C4,9 2 ≺ C2 C4,4 4,10 1 ≺ C2 C3,5 4,12 2 ≺ C2 C3,9 4,13 undominated 2 2 C3,16 ≺ C4,15 undominated 2 ≺ C2 C9,3 4,17 undominated 2 2 C3,10 ≺ C4,19 2 S1 ≺ C6,2 1 ≺ C2 C3,5 9,1 1 ≺ C2 C3,5 9,2 undominated 1 ≺ C2 C4,5 9,4 2 2 C1,20 ≺ C9,6 1 ≺ C2 C4,5 9,7 undominated undominated undominated undominated undominated
µ≤δ & φ=0
2 ≺ C2 C9,3 3,9 2 2 C1,20 ≺ C3,16
2 2 C1,20 ≺ C3,26
2 2 C1,19 ≺ C4,18
2 ≺ C1 C9,3 4,5 2 1 C1,20 ≺ C1,1
Table 13: Cycle times of feasible cycles for B=2 and their dominance relations
38
Appendix D
Activity sequences and cycle times of q-accumulated cycles
C1∞ C2∞ C3∞ C4∞ C5∞ C6∞ C7∞ C8∞ C9∞ ∞ C10 ∞ C11 ∞ C12 ∞ C13 ∞ C14 ∞ C15 ∞ C16 ∞ C17 ∞ C18 ∞ C19 ∞ C20 ∞ C21 ∞ C22 ∞ C23 ∞ C24 ∞ C25 ∞ C26
: [U0 Lb ][q−1] [U0 L1 U1 L2 U2 Lb ][1] [Ub L1 U1 L2 U2 Lb ][q−2] [Ub L1 U1 L2 U2 L3 ][1] [Ub L3 ][q−1] : [U0 Lb ][q−1] [U0 L1 Ub L2 U1 Lb U2 Lb ][1] [Ub L1 Ub L2 U1 Lb U2 Lb ][q−2] [Ub L1 Ub L2 U1 Lb U2 L3 ][1] [Ub L3 ][q−1] : [U0 Lb ][q−1] [U0 L1 Ub L2 U2 Lb U1 Lb ][1] [Ub L1 Ub L2 U2 Lb U1 Lb ][q−1] [Ub L3 ][q] : [U0 Lb ][q] [Ub L2 Ub L1 U1 Lb U2 Lb ][q−1] [Ub L2 Ub L1 U1 Lb U2 L3 ][1] [Ub L3 ][q−1] : [U0 Lb ][q] [Ub L2 Ub L1 U2 Lb U1 Lb ][q] [Ub L3 ][q] : [U0 Lb ][q] [Ub L2 U2 Lb Ub L1 U1 Lb ][q] [Ub L3 ][q] : [U0 Lb ][q] [U2 Lb Ub L1 U1 L2 ][q] [Ub L3 ][q] : [U0 Lb ][q] [U1 L2 U2 Lb Ub L1 ][q] [Ub L3 ][q] : [U0 Lb ][q] [U1 L2 Ub L1 U2 Lb ][q−1] [U1 L2 Ub L1 U2 L3 ][1] [Ub L3 ][q−1] : [U0 Lb ][q−1] [U0 L1 U1 Lb U2 Lb Ub L2 ][1] [Ub L1 U1 Lb U2 Lb Ub L2 ][q−1] [Ub L3 ][q] : [U0 Lb ][q] [Ub L2 U2 Lb U1 Lb Ub L1 ][q] [Ub L3 ][q] : [U0 Lb ][q] [U1 Lb Ub L1 Ub L2 U2 Lb ]q−1 [U1 Lb Ub L1 Ub L2 U2 L3 ][1] [Ub L3 ][q−1] : [U0 Lb ][q] [U2 Lb Ub L1 Ub L2 U1 Lb ][q] [Ub L3 ][q] : [U0 Lb ][q] [U2 Lb Ub L2 Ub L1 U1 Lb ][q] [Ub L3 ][q] : [U0 Lb ][q−1] [U0 L1 U2 Lb U1 L2 ][1] [Ub L1 U2 Lb U1 L2 ][q−1] [Ub L3 ][q] : [U0 Lb ][q] [U2 Lb U1 L2 Ub L1 ][q] [Ub L3 ][q] : [U0 Lb ][q−1] [U0 L1 U2 Lb U1 Lb Ub L2 ][1] [Ub L1 U2 Lb U1 Lb Ub L2 ][q−1] [Ub L3 ][q] : [U0 Lb ][q] [Ub L2 U1 Lb U2 Lb Ub L1 ][q] [Ub L3 ][q] : [U0 Lb ][q] [U1 Lb U2 Lb Ub L1 Ub L2 ][q] [Ub L3 ][q] : [U0 Lb ][q] [U1 Lb U2 Lb Ub L2 Ub L1 ][q] [Ub L3 ][q] : [U0 Lb ][q] [U2 Lb U1 Lb Ub L1 Ub L2 ][q] [Ub L3 ][q] : [U0 Lb ][q] [U2 Lb U1 Lb Ub L2 Ub L1 ][q] [Ub L3 ][q] [q−1] : U0 L b [U0 L1 U2 Lb Ub L2 U1 Lb ][1] [Ub L1 U2 Lb Ub L2 U1 Lb ][q−1] [Ub L3 ][q] [q] : U0 Lb [U1 Lb Ub L1 U2 Lb Ub L2 ][q] [Ub L3 ][q] [q] : U0 Lb [Ub L2 U1 Lb Ub L1 U2 Lb ][q−1] [Ub L2 U1 Lb Ub L1 U2 L3 ][1] [Ub L3 ][q−1] [q] : U0 Lb [U2 Lb Ub L2 U1 Lb Ub L1 ][q] [Ub L3 ][q]
Table 14: Activity sequences of all possible q-accumulated cycles
39
Cycle Times
Waiting Times
T1∞ : 6ǫ + 2δ + 3µ + p1 + p2 + (4δ − 3µ)/q w1 = max{0, p1 − (2δ + ǫ + µ)}
T2∞ : 6ǫ + 4δ + 5µ + w1 + w2 + (4δ − 3µ)/q
w2 = max{0, p2 − (2δ + ǫ + µ + w1 )}
T3∞ : 6ǫ + 2δ + 5µ + w1 + p2 + (6δ − 2µ)/q
w1 = max{0, p1 − (2δ + 2ǫ + 2µ + p2 )}
T4∞ : 6ǫ + 2δ + 5µ + p1 + w2 + (6δ − µ)/q
w2 = max{0, p2 − (2δ + 2ǫ + 2µ + p1 )} w1 = max{0, p1 − (2δ + ǫ + µ + w2 )}
T5∞ : 6ǫ + 4δ + 5µ + w1 + w2 + (6δ − µ)/q
w2 = max{0, p2 − (2δ + ǫ + µ)}
T6∞ : 6ǫ + 2δ + 4µ + p1 + p2 + (6δ − µ)/q T7∞ : 6ǫ + 2δ + 3µ + p1 + p2 + (w2 (q) + 6δ − p2 )/q
w2 (q) = max{0, p2 − (6δ + 2q(µ + ǫ))}
T8∞
w1 (q) = max{0, p1 − (6δ + 2q(µ + ǫ))}
: 6ǫ + 2δ + 4µ + p1 + p2 + (w1 (q) + 6δ − p1 )/q
w2 = max{0, p2 − (2δ + ǫ + µ)} T9∞
: 6ǫ + 4δ + 4µ + w1 + w2 + (w1 (q) − w1 + 4δ − 2µ)/q
w1 = max{0, p1 − (2δ + ǫ + µ + w2 )} w1 (q) = max{0, p1 − (6δ + ǫ − µ + w2 + 2q(ǫ + µ))}
∞ T10 : 6ǫ + 2δ + 5µ + p1 + w2 + (w2 (q) − w2 + 4δ − 2µ)/q
∞ T11 : 6ǫ + 2δ + 6µ + p2 + w1 + (w1 (q) − w1 + 6δ − µ)/q
∞ T12 : 6ǫ + 2δ + 5µ + p2 + w1 + (w1 (q) − w1 + 4δ − 2µ)/q
w2 = max{0, p2 − (2ǫ + 2δ + 2µ + p1 )} w2 (q) = max{0, p2 − (6δ + 2ǫ + p1 + 2q(ǫ + µ))} w1 = max{0, p1 − (2δ + 2ǫ + 2µ + φ + p2 )} w1 (q) = max{0, p1 − (8δ + (2q + 1)(µ + ǫ) + φ + p2 )} w1 = max{0, p1 − (2δ + 2ǫ + 2µ + p2 )} w1 (q) = max{0, p1 − (6δ + 2ǫ + p2 + 2q(µ + ǫ))} w1 = max{0, p1 − (2δ + ǫ + µ)}
∞ T13 : 6ǫ + 4δ + 5µ + w1 + w2 + (w2 (q) − w2 + 6δ)/q
w2 = max{0, p2 − (2δ + ǫ + µ + w1 )} w2 (q) = max{0, p2 − (8δ + (2q + 1)(ǫ + µ) + w1 )}
∞ T14 : 6ǫ + 2δ + 5µ + φ + p1 + w2 + (w2 (q) − w2 + 6δ)/q
w2 = max{0, p2 − (2δ + 2ǫ + 2µ + p1 )} w2 (q) = max{0, p2 − (8δ + p1 + (2q + 1)(µ + ǫ))} w1 = max{0, p1 − (2δ + ǫ + µ + w2 )}
∞ T15 : 6ǫ + 4δ + 4µ + w1 + w2
w2 = max{0, p2 − (2δ + ǫ + µ)}
+(w1 (q) + w2 (q) − w1 − w2 + 4δ − 2µ)/q
w1 (q) = max{0, p1 − (2δ + ǫ + µ + w2 (q))} w2 (q) = max{0, p2 − (6δ + 2ǫ + (2q − 1)(ǫ + µ))} w1 = max{0, p1 − (2δ + ǫ + µ + w2 )}
∞ T16
: 6ǫ + 4δ + 4µ + w1 + w2
w2 = max{0, p2 − (2δ + ǫ + µ)}
+(w1 (q) + w2 (q) − w1 + w2 + 6δ)/q
w1 (q) = max{0, p1 − (8δ + (2q + 1)(ǫ + µ) + w2 (q))} w2 (q) = max{0, p2 − (8δ + (2q + 1)(ǫ + µ))} w1 = max{0, p1 − (2δ + ǫ + µ + w2 )}
∞ T17 : 6ǫ + 4δ + 5µ + w1 + w2
w2 = max{0, p2 − (2δ + ǫ + µ)}
+(w1 (q) + w2 (q) − w1 − w2 + 4δ − 2µ)/q
w1 (q) = max{0, p1 − (2δ + ǫ + µ + w2 (q))} w2 (q) = max{0, p2 − (6δ + 2ǫ + (2q − 1)(µ + ǫ))}
Table 15: Cycle Times for q-accumulated cycles
40
Cycle Times
Waiting Times w1 = max{0, p1 − (2δ + ǫ + µ)}
∞ T18
:6ǫ + 4δ + 5µ + w1 + w2
w2 = max{0, p2 − (2δ + ǫ + µ + w1 )}
+(w1 (q) + w2 (q) − w1 − w2 + 6δ − µ)/q
w1 (q) = max{0, p1 − (8δ + (2q + 1)(µ + ǫ))} w2 (q) = max{0, p2 − (2δ + ǫ + µ + w1 (q))} w1 = max{0, p1 − (2δ + ǫ + µ)}
∞ T19
: 6ǫ + 4δ + 5µ + w1 + w2
w2 = max{0, p2 − (2δ + ǫ + µ + w1 )}
+(w1 (q) + w2 (q) − w1 − w2 + 4δ)/q
w1 (q) = max{0, p1 − (6δ + (2q + 1)(µ + ǫ))} w2 (q) = max{0, p2 − (6δ + (2q + 1)(µ + ǫ) + w1 (q))}
∞ T20 : 6ǫ + 2δ + 5µ + φ + p1 + w2
w1 (q) = max{0, p1 − (6δ + 2q(µ + ǫ))}
+(w1 (q) + w2 (q) − p1 − w2 + 6δ)/q
w2 = max{0, p2 − (2δ + 2ǫ + 2µ + p1 )} w2 (q) = max{0, p2 − (8δ + (2q + 2)(ǫ + µ) + w1 (q))}
∞ T21 : 6ǫ + 2δ + 5µ + p2 + w1
w1 = max{0, p1 − (2δ + 2ǫ + 2µ + p2 )}
+(w1 (q) + w2 (q) − p2 − w1 + 6δ)/q
w1 (q) = max{0, p1 − (8δ + (2q + 2)(ǫ + µ) + w2 (q))} w2 (q) = max{0, p2 − (6δ + 2q(ǫ + µ))} w1 = max{0, p1 − (2δ + ǫ + µ + w2 )}
∞ T22 : 6ǫ + 4δ + 5µ + w1 + w2
w2 = max{0, p2 − (2δ + ǫ + µ)}
+ q1 (w1 (q) + w2 (q) − w1 − w2 + 6δ)/q
w1 (q) = max{0, p1 − (8δ + (2q + 1)(µ + ǫ) + w2 (q))} w2 (q) = max{0, p2 − (8δ + (2q + 1)(ǫ + µ))}
∞ T23
1 : 6ǫ + 2δ + 5µ + q
"
1 q
"
q P
j=1
w1j
+
w21
+
q P
j=2
w2j
#
+ 6δ − 3µ
w1j = max{0, p1 − (2δ + 2ǫ + µ + w2j )}, j = 1, . . . , q w21 = max{0, p2 − (8δ + 2q(µ + ǫ) + 2ǫ − µ + w1q )} w2j = max{0, p2 − (2δ + 2ǫ + µ + w1j−1 )}, j = 2, . . . , q w11 = max{0, p1 − (6δ + (2q + 2)(ǫ + µ) − µ + w2q )}
∞ T24 : 6ǫ + 2δ + 4µ +
∞ T25
q P
j=2
1 : 6ǫ + 2δ + 4µ + q
"
1 q
"
q P
j=1
w1j + w11 + w21 +
w2j + w11 +
q P
j=2
q P
j=2
w2j + 4δ
#
#
w1j + 6δ − 2µ
(i−1)
w1j = max{0, p1 − (2δ + 2ǫ + µ + w2 w21 w2j
)}, j = 2, . . . , q
= max{0, p2 − (6δ + (2q + 2)(µ + ǫ) − µ + w11 )} = max{0, p2 − (2δ + 2ǫ + µ + w1j )}, j = 2, . . . , q
w11 = max{0, p1 − (8δ + 2q(µ + ǫ) + 2ǫ − µ + w2q )} w1j = max{0, p1 − (2δ + 2ǫ + µ + w2j−1 )}, j = 2, . . . , q w2j = max{0, p2 − (2δ + 2ǫ + µ + w1j )}, j = 1, . . . , q w21 = max{0, p2 − (8δ + (2q + 2)(µ + ǫ) − µ + w1q )}
∞ T26 : 6ǫ + 2δ + 4µ +
q P
j=2
w2j + w21 + w11 +
q P
j=2
w1j + 6δ
#
w2j = max{0, p2 − (2δ + 2ǫ + µ + w1j−1 )}, j = 2, . . . , q w11 = max{0, p1 − (8δ + (2q + 2)(µ + ǫ) − µ + w21 )} w1j = max{0, p1 − (2δ + 2ǫ + µ + w2j )}, j = 2, . . . , q
Table 16: Cycle Times for q-accumulated cycles (continued)
Acknowledgements The authors would like to thank the Associate Editor and the anonymous referees for their helpful comments and suggestions. The first author is partially supported by the Scientific and Technological Research Council of Turkey under grant #2210. 41
References [1] Brauner, N. (2008) Identical part production in cyclic robotic cells: Concepts, overview and open questions. Discrete Applied Mathematics, 156: 2480-2492. [2] Brauner, N., and Finke, G. (2001) On cycles and permutations in robotic cells. Mathematical and Computer Modeling, 34: 565-591. [3] Brauner, N., Finke, G., and Gueguen C. (1997) Optimal cyclic production in robotic flow shops with buffer. Technical Report RR982-I, Laboratoire LEIBNIZ, Institut IMAG, Grenoble, France [4] Crama, Y., Kats, V., Van de Klundert, J., and Levner, E. (2000) Cyclic scheduling in robotic flowshops. Annals of Operations Research, 96: 97-124. [5] Crama, Y. and van de Klundert, J. (1997) Cyclic scheduling of identical parts in a robotic cell. Operations Research, 45(6): 952-965. [6] Crama, Y. and van de Klundert, J, (1999) Cyclic scheduling in 3-machine robotic flow shops. Journal of Scheduling, 2: 35-54. [7] Dawande, M., Geismar, N. and Sethi, S. (2005) Dominance of cyclic solutions and some open problems in scheduling bufferless robotic cells. SIAM Review, 47(4):709-721. [8] Dawande, M., Geismar, H.N., Sethi, S.P., and Sriskandarajah, C. (2005)
Sequencing and
scheduling in robotic cells: recent developments. Journal of Scheduling, 8: 387-426. [9] Dawande, M.W., Geismar, H. N., Sethi, S.P., and Sriskandarajah, C. (2007)
Throughput
optimization in robotic cells, Springer, New York, NY. [10] Drobouchevitch, I.G., Geismar, H.N., and Sriskandarajah, C. (2010) Throughput optimization in robotic cells with input and output machine buffers: A comparative study of two key models. European Journal of Operational Research, 206: 623-633. [11] Drobouchevitch, I.G., Sethi S.P., and Sriskandarajah C. (2006) Scheduling dual gripper robot cell: one unit cycles. European Journal of Operations Research , 171(2): 598-631. [12] Foumani, M., and Jenab K. (2012) Cycle time analysis in reentrant robotic cells with swap ability. International Journal of Production Research , 50(12): 6372-6387. [13] Geismar, H.N., Pinedo, M., and Sriskandarajah, C. (2008) Robotic cells with parallel machines and multiple dual gripper robot: a comparative overview. IIE Transactions, 40(12): 1217-1227.
42
[14] Hall, N.G., Kamoun, H., and Sriskandarajah C. (1997) Scheduling in robotic cells: classification two and three machine cells. Operation Research, 45(3): 421-439. [15] Jung, K.S., Geismar, H.N., Pinedo, M., and Sriskandarajah, C. (2015) Approximations to optimal sequences in single-gripper and dual-gripper robotic cells with circular layouts. IIE Transactions, 47(6): 634-652. [16] Sethi, S.P., Sidney J.B., and Sriskandarajah C. (2001) Scheduling in Dual Gripper Robotic Cells for Productivity Gains. IEEE Transactions on Robotics and Automation, 17: 324-341. [17] Sethi, S.P., Sriskandarajah, C., Sorger, G., Blazewicz J., and Kubiak, W. (1992) Sequencing of parts and robot moves in a robotic cell. The International Journal of Flexible Manufacturing Systems, 4:351-358. [18] Sriskandarajah, C., Drobouchevitch, I.G., Sethi, S., and Chandrasekaran, R. (2004) Scheduling multiple parts in a robotic cell served by a dual gripper robot. Operations Research, 52(1):65-82. Biographies Emine Gundogdu is a research & teaching assistant and a PhD candidate at the Department of Industrial Engineering at Middle East Technical University in Ankara, Turkey. She received her MS degree from the Department of Industrial Engineering at TOBB University of Economics and Technology (TOBB ETU) in Ankara where she worked as a research & teaching assistant from 2011 to 2013. Her research interests include robotic cell scheduling, discrete optimization, applications of conic programming, large scale optimization under uncertainty.
Hakan Gultekin is an Associate Professor at the Department of Industrial Engineering at TOBB University of Economics and Technology (TOBB ETU) in Ankara, Turkey. He received his B.S., M.S., and Ph.D. degrees in Industrial Engineering from Bilkent University in Turkey, in 2000, 2002, and 2007, respectively. Before joining TOBB ETU, he has visited the University of Liege in Belgium for postdoctoral studies in 2007. His research interests include scheduling, optimization modeling and exact and heuristic algorithm development especially for the problems arising in modern manufacturing systems, energy systems, and wireless sensor networks.
43