4.1. Description of the PERT/CPM Algorithm A
This algorithm considers the case where the processing times of operations are flexible and bounded by their low bounds. In addition, the time required to complete the sequence of operations in the HTS system is limited by the specified screening time constraints, which will be presented below. We show that for any given robot route, this problem reduces to the parametric critical path problem, which is a well-solvable special case of a general linear programming problem. Unlike linear programming, the parametric critical path algorithm is executed in a time that is strongly polynomial in the number of operations.
Consider a 1-cyclic robot route, and let
T be its (unknown) cycle length. The completion time of operation
Ok performed in interval [0,
T),
k = 0, 1, …, 5 is denoted by
tk. Let us take
t0 = 0, i.e., assume that the cycle [0,
T) starts when the robot takes a microplate from workstation
M0 (Cytomat2C). The time in the cycle [0,
T) when the (next instance of) operation
O0 starts is denoted using
t6. Note that the microplate, having completed its operation
O0 at time
t0 = 0 starts this instance of this operation at time
t6 −
T. The cyclic robot route is denoted using
R = (
O0,
O[1],
O[2],
O[3],
O[4]). This means that at time
t0 = 0, the robot picks up the microplate from workstation
M0 and moves it to workstation
M1. If operation
O[1] is performed on workstation
M1, i.e., [1] = 1, then the robot waits for operation
O1 to complete at time
t1. If [1] ≠ 1, then the unloaded robot moves to the workstation performing operation
O[1] and waits there for operation
O[1] to complete at time
t[1]. At time
t[1], the robot picks up the microplate and moves it to the next workstation in the screening process sequence
S, as defined in
Section 2. If this workstation does not perform operation
O[2], then the unloaded robot moves to another workstation that performs operation
O[2]. Similar robot actions are associated with operations
O[2],
O[3], and
O[4]. At time
T, the robot takes the next microplate from workstation
M0 and repeats the same steps as in the previous cycle.
We can now reformulate our cyclic scheduling problem as the following special-type parametric linear programming problem P with t0 = 0 and variables T, t1, …, t6 defined for any specific robot route and introduced below:
Problem P: Minimize T
subject to
The robot move constraints:
The processing time constraints:
Screening time constraints:
The robot-move constraints (1) ensure that the robot has enough time to complete all its movements without delay. Inequalities (2a) take into account the case when the operation Ok starts and ends within the cycle [0, T). Inequalities (2b) consider the case where the operation Ok starts in the cycle [0, T) and ends in the next cycle [T, 2T). Inequalities (2c,d) take into account the case where the processing time of microplates at workstation M3 exceeds the cycle time T. The parameter β determines the number of simultaneously processed microplates at workstation M3. In the case where t3 = t2 + d2 in inequality (2d), the robot simultaneously unloads the microplate from workstation M3 and loads the next microplate onto it. Inequalities (2e,f) determine the processing time of operations O0 and O5, respectively. Inequality (3a) requires that the interval between the starts of operations O0 and O2 does not exceed the specified value of 152 s.
Inequality (3b) requires that the interval between the starts of operations O1 and O2 should not exceed 44 s. Inequalities (3c,d) require that the interval between the starts of operations O1 and O4 of the same microplate should not exceed 369 s. Constraint (4a) ensures that operations O0 and O5 do not overlap in time on workstation M0. Constraints (4b,c) ensure that operations O2 and O4 do not overlap in time on workstation M2.
At this stage we need to modify the parametric critical path approach originally proposed by the authors in [
21]. We reformulate Problem P above as a parametric critical path model as follows. A graph,
GP, is constructed, in which each
t-variable in constraints (1)–(4c) corresponds to a node of the graph. Next, each constraint in problem
P is presented in the form
tj ≥
ti + (
a +
bT), where
i,
j ∈ (1, 2, …, 6),
a is a real number, and
b is an integer. To this constraint we associate a directed arc
eij in the graph
GP leading from node
i to node
j and having length
wij =
a +
bT (see
Figure 4). Thus, problem
P reduces to the following parametric critical path problem, denoted Problem
Q:
Problem Q. For any specific robot route, find the minimum value of parameter T in the constructed graph GP, such that the graph does not contain cycles of positive length.
The proof of this reduction is given in [
21]. The parameter
β in (2c,d) and (3c,d), although it expands the problem formulation in [
21], does not violate the proof. Note that as soon as a specific robot’s path is chosen and fixed, the logical (disjunctive) conditions in Problem
P acquire only one possible outcome; that is, they cease to be disjunctive. As a result, for each fixed robot route, Problem P is transformed into a special type of a linear programming problem, which reduces to a parametric shortest path problem as proven by the authors in [
21].
Now we can solve Problem Q for all robot routes repeatedly using the parametric critical path algorithm [
21]. This part of the algorithm requires a routine repeated computation of a cycle time in graph
GP for each available robot route, the total number of which is a small constant. Omitting the intermediate routine calculations for each candidate robot’s routes, we obtain the minimum 1-cyclic time
T = 200.5, which is obtained for the robot route
R = (
O0,
O4,
O1,
O2,
O3) and
β = 2. In this case, the constraints (1)–(4) have the following form:
The robot move constraints:
The processing time constraints:
Screening time constraints:
The corresponding parametric PERT/CPM graph
GP, which has positive and negative operation durations, some of which may depend on the parameter
T, is presented in
Figure 4. The nodes in the graph correspond to six operations,
Ok, performed in the interval [0,
T),
k = 0, 1, …, 5. Constraints of type (1) are represented by arcs of length
dk leading from node
k to node k + 1; constraints of the form
ti +
di +
T −
tj ≤
aj are represented by arcs leading from node
i to node
j and having length
di −
aj +
T. The cycle time
T plays the role of a parameter in this scheduling problem. The corresponding Gantt chart depicting the optimal 1-cyclic schedule was presented earlier in
Figure 2. The optimal 1-cyclic time
T = 200.5.
The corresponding critical path in the graph
GP, depending on the value of the parameter
T, can be found quickly, in strongly polynomial time O(
m3), where
m is the number of operations. This fact was proved in [
21]. The only difference in the modified algorithm described above is that the original parametric algorithm must be repeated for all feasible robot routes and all values of integer parameter
β equal to 1, 2, or 3. We carried out the necessary intermediate computations, and found that the best schedule is obtained when
β = 2.
The resulting solution to problem
Q is the following:
T = 200.5,
t1 = 39,
t2 = 116,
t3 = 145.5,
t4 = 19,
t5 = 73, and
t6 = 168.5. For reader convenience, this is presented in
Figure 2 in
Section 2. This 1-cyclic solution is exactly the same as the optimal 1-cyclic solutions for the considered benchmark problem obtained by Wu et al. [
14], who used the Petri net method.
Remark 1. In the next section, we will show that this computational result can be improved: using the modified prohibited intervals method (subalgorithm B), we will find a whole set of different optimal 2-cyclic schedules, such that the above 1-cyclic schedule is just a special case among them, and prove their robustness.
Remark 2. Inequalities (3c,d) restrict the possible values of the input parameter β. We can directly solve the examples of problem Q for all robot routes and all possible β values, which, as follows from the problem formulation in the considered HTS system, are 1, 2, and 3.
Remark 3. It should be noted that the considered PERT/CPM subalgorithm works efficiently not only for the considered HTS system with six operations, but also it can be employed for scheduling more complex biochemical processes with a larger number of workstations and operations.
4.2. The Prohibited Intervals Method B
Once the optimal processing times of screening operations have been found by the PERT/CPM subalgorithm in the previous subsection, these values are then used as inputs for subalgorithm B, described below. The main goal of this subalgorithm is to find an optimal 2-cyclic solution whose average cycle time is no less than the optimal 1-cyclic time and which, in addition, is robust, a useful property which will be discussed below.
Let us start with a brief description of the corresponding method for solving scheduling problems, called the prohibited intervals method, which was discovered in the early 1960s by a group of Byelorussian mathematicians [
28,
29,
30]. In [
15], we improved this method and obtained a modification that optimally solves the problem in polynomial time. In this work, we develop and modify this method to highlight the features of HTS scheduling.
Description of the prohibited intervals. Consider the processing sequence
O = (
O0,
O1,
O2,
O3,
O4,
O5) for microplates, which was discussed in the problem definition in
Section 2. The completion time for operation
Ok for a microplate starting at time 0 is denoted by
Zk. Evidently, the following relations hold:
where the timing parameters
dk and
pk are as defined in
Section 2.
Suppose that some workstation performs an operation
Oj, and that this workstation carries out this operation sequentially on two microplates, one of which starts at time 0, and the other of which starts at time
T. This workstation can sequentially perform the considered operation on these two microplates without time overlapping in the case when
Suppose now that some microplate begins the screening process at time
T. Then the operation
Ok of this microplate is completed at time
Consider a pair of operations, denoted i and j, where i < j. Let operation i be carried out by the microplate starting at time T, and operation j carried out by the microplate starting at time 0. Two cases are possible:
Case 1: T + Zi ≤ Zj.
In this case, the robot can transport the microplate that has completed operation Oi, and then transport the microplate that has completed operation Oj, if T + Zi + di ≤ Zj.
Case 2: Zj ≤ T + Zi. In this case, the robot can transport the microplate that has completed operation Oj, and then transport the microplate that has completed operation Oi, if Zj + dj ≤ T + Zi.
Combining the above inequalities
T +
Zi +
di ≤
Zj and
Zj +
dj ≤
T +
Zi, we obtain that the time interval between any two microplates introduced into the screening process must satisfy the following resulting condition:
The resulting intervals (Zj − Zi − di, Zj − Zi + dj), for all pairs i, j are called prohibited. The points within any of these intervals correspond to unfeasible values of the cycle time T.
Recall that after operation O5 is completed at workstation M0 (Cytomat2C), the microplate is delivered to the storage center by a special auxiliary device, and not by a robot. Therefore, the intervals in (6) do not include the variable Z5.
Workstation
M0 performs operations
O0 and
O5. These operations do not overlap in time on workstation
M0 if: (1) a previous microplate has completed operation
O5 earlier than the next microplate starts operation
O0, i.e.,
Z5 ≤
T +
Z0 −
p0; or (2) a previous microplate has started operation
O5 after the next microplate has completed operation
O0,
T +
Z0 ≤
Z5 −
p5. These two inequalities give the following prohibited interval with respect to
T:
T ∉ (
Z5 −
Z0 −
p5,
Z5 −
Z0 +
p0). Because
Z0 =
p0, we obtain that
Workstation
M2 performs operations
O2 and
O4. Using the same arguments as described above, we obtain the following prohibited interval:
The Prohibited Intervals Rule for the 1-cycle case. The set of the prohibited intervals (5)–(8) is denoted by F. The main idea of the Prohibited Intervals Method is as follows: According to the definition of the set F, and due to the periodicity of the screening process under study, a schedule is feasible (that is, a real number T satisfying inequalities (5)–(8) exists) if the time interval between any two microplates introduced into the screening process does not belong to the set F. Formally, this rule is as follows:
Since all microplates enter the screening system periodically at equal time period
T, it follows that the interval between them must be one of the numbers
T, 2
T, 3
T, …,
mT. The Prohibited Intervals Rule can now be re-formulated as follows: A cyclic schedule with cycle time
T exists if the values
T, 2
T, …,
mT do not belong to any of the prohibited intervals of the set
F. The minimum
T, such that
T, 2
T, 3
T, …,
mT do not belong to any of the prohibited intervals in the set
F, is the optimal 1-cyclic time [
15].
The set
U is defined as a complementary set to the set
F:
U = (−
∞, ∞)\
F, and it is known as the set of allowed intervals. Let
T be the cycle time of a one-cyclic schedule, and
m be the number of workstations. Then a one-cyclic schedule is feasible if
The Modified Prohibited Intervals Rule for the 2-
cycle case. Since we are searching for an optimal two-cyclic schedule, instead of the conditions described in (9), we will have the following:
where
T =
T1 +
T2 is the cycle time and
Tavr = (
T1 +
T2)/2.
The proof directly follows from the periodicity of the screening process under study.
Numerical example. Consider the set of numerical data used in subalgorithm
A, corresponding to the real-world HTS system in [
14]. The processing times of the operations are the following numbers, obtained as the optimal one-cyclic solution of the corresponding critical path problem
Q, solved above by the PERT/CPM subalgorithm
A:
p0 = 32,
p1 = 20,
p2 = 54,
p3 = 210,
p4 = 54, and
p5 = 34. The completion times
Zk are the following:
Z0 = 32,
Z1 = 71,
Z2 = 148,
Z3 = 378,
Z4 = 452, and
Z5 = 506. According to Expression (6), we obtain the following prohibited intervals:
Set S1 = {(20, 62), (54, 97), (210, 250), (54, 94), (97, 136), (284, 327), (284, 324), (327, 366), (358, 401), (401, 440)}.
According to Expressions (5), (7) and (8), we obtain, in addition, the following prohibited intervals:
Set S2 = {(−∞, 54), (440, 506), (250, 358)}.
At the next step, we merge the prohibited intervals for the sets S1 and S2 and finally obtain:
F = {(−∞, 97), (97,136), (210, 250), (250, 401), (401, 440), (440, 506)}.
Thus, the set of allowed intervals U = (−∞, ∞)\F has the following form:
U = {[97, 97], [136, 210], [250, 250], [401, 401], [440, 440], [506, ∞).
Remark. Using the Prohibited Intervals Rule formulated above and the polynomial algorithm of the authors in [
15], we can find the optimal 1-cyclic solution. However, in this study, there is no need to use this algorithm for finding such a 1-cyclic solution, since this value has already been found by Algorithm A, namely,
T = 200.5. Instead, we will now focus on finding an optimal 2-cyclic solution, which can, in general, be better than an optimal 1-cyclic schedule.
Proposition 1. A 2-cyclic schedule with time intervals T1 = 151 and T2 = 250 is feasible.
Proof. It is easy to see that conditions (10) are satisfied. Indeed, we have:
which proves the feasibility of the considered 2-cyclic schedule. □
The average cycle time of this 2-cyclic schedule, Tavr, is (T1 + T2)/2 = (151 + 250)/2 = 200.5.
Proposition 2. (i). All 2-cyclic schedules obtained by choosing time intervals T1 = 191 + x and T2 = 210 − x, where 0 ≤ x ≤ 9.5, are feasible.
(ii). Any of these 2-cyclic schedules is optimal.
(iii). The 2-cyclic schedule with cycle times (T1, T2) = (151, 250) is optimal.
Proof. (i). It is evident that the conditions in (10) for a schedule with (
T1,
T2) = (191 +
x, 210 −
x), where 0 ≤
x ≤ 9.5 are satisfied. This is proven by the below:
Hence, any two-cyclic schedule in the considered set is feasible. The average cycle time of these schedules is: Tavr = (T1 + T2)/2 = [(191 + x) + (210 − x)]/2 = 200.5.
(ii). Suppose that there is a two-cyclic schedule with a cycle time T′ = T′1 + T′2 < 401. Then, from the definition of U, it follows that:
T′ = T′1 + T′2 either belongs to the allowed interval [97, 97], the allowed interval [136, 210], or the allowed interval [250, 250].
Assume that
T′1 ≤
T′2, then
T′1 ≤ 250/2 = 125, and
T′ +
T′1 ≤ 250 +125 = 375. From the definition of
U, it also follows that 97 ≤
T′1 and 97 ≤
T′2, therefore
Thus, T′ + T′1 ∉ U, i.e., a feasible two-cyclic schedule with cycle time T′ < 401 does not exist, which proves the Proposition, specifically cases (ii) and (iii). □
Computing two-cyclic robot route. For a given two-cyclic schedule with time intervals (
T1,
T2) and cycle time
T =
T1 +
T2, let us calculate completion times for operations
Oi (
i = 0, 1, 2, 3, 4) in the time interval [0,
T). Note that in the two-cyclic schedule each operation
Oi appears twice,
Recall that, given two numbers a and b, the modulo operation a mod b returns the remainder after dividing a by b. For example, 10 mod 3 = 1.
The following Proposition 3 determines the optimal two-cyclic robot route R = (O[1], O[2], …, O[10]).
Proposition 3. Given real numbers T and T1, arrange the numbers ti and t′i in increasing order:where the symbol t*i denotes either ti or t′i. The following sequence of operations
induced by the above ordering of the numbers
t*i is the only possible optimal 2-cyclic robot route with period
T. This fact immediately follows from two observations: (i) the robot handles not more than one microplate at a time, and (ii) the robot starts its
kth move within [0,
T), exactly at time
t =
t*
k,
k = 1, …, 10 computed above. More details are given in [
21].
In our numeric example in
Figure 2 T1 =
T2 = 200.5,
T =
T1 +
T2 = 401, which gives the sequence of operation completion times as follows:
Thus we obtained the following robot route:
This sequence of robot moves is the same for any of the two-cyclic schedules defined by time intervals T1 = 191 + x and T2 = 210 − x, where 0 ≤ x ≤ 9.5.
Now consider the 2-cyclic schedules defined by the time intervals (
T1,
T2)
= (151, 250) and
T =
T1 +
T2 = 401. In this case, the sequence of operation completion times differs from the previous case:
The Gantt chart of this 2-cyclic schedule is presented in
Figure 5.
The Gantt chart in
Figure 5 has the same notations as
Figure 2. The main difference between the two diagrams is that
Figure 5 shows the optimal 2-cyclic schedule of the robot. In this notation, the corresponding periodic route of the loaded robot is as follows:
As seen previously in
Figure 2, the robot’s movement is shown with a red dotted line. The numbers in the chart indicate the time the robot arrives at and leaves the corresponding workstations. The processing life of microplates is indicated by horizontal lines highlighted with small triangles, squares, and diamonds, respectively. The optimal two-cyclic schedule shown in
Figure 5 is (
T1,
T2) = (151, 250).
Complexity of the proposed PERT/CPM/PIM algorithm. In concluding this section, we note that the worst-case complexity of the parametric PERT/CPM algorithm in
Section 4 is the same as the complexity of the corresponding critical path-finding algorithm in [
21], that is, O(
m3), while the complexity of the prohibited interval method is O(
m3log
m) [
15]. Therefore, the complexity of the combined PERT/CPM/PIM algorithm, in the worst case, is
O(
m3log
m).
Discussion. The main practical purpose of this work is twofold. First, we propose an algorithm that efficiently—in polynomial time—generates a set of optimal schedules with cycle times (
T1,
T2) = (191 +
x, 210 −
x), where
x ∈ [0, 9.5], which includes, as particular cases, the optimal solutions obtained by methods [
11,
12,
13,
14]. Indeed, if
x = 9.5, we obtain the one-cyclic schedule
T =
T1 =
T2 = 200.5 found in [
14]; if we set
x = 0, then we obtain a 2-cyclic schedule with
T1 = 191 and
T2 = 210, the same as in [
11]. Note that the 2-cyclic optimal schedule defined by times (
T1,
T2) = (151, 250) and the corresponding robot route
R presented above have not been discovered by the algorithms [
11,
12,
13,
14].
Another important feature of the proposed method is that it significantly generalizes existing MIP and Petri net methods in the sense that it generates robust optimal two-cyclic schedules. Indeed, recall that a schedule is said to be robust if its cycle time T is insensitive to unexpected disturbances and/or can be easily corrected by a predetermined control policy. Let the resulting 2-cyclic schedule with times (T1, T2) = (191 + x, 210 − x) be fixed for some x ∈ (0, 9.5). Assume that due to unforeseen variations in the processing times of operations, a certain microplate, instead of the planned cycle time T1, will be delayed by some fixed deviation δ, that is, it will have a cycle time T1 + δ. The controller will then select the next scheduled microplate to start δ time units earlier, i.e., the next cycle time will be T2 − δ. This simple control strategy ensures that the average cycle time Tavr remains stable: Tavr = (T1 + δ + T2 − δ)/2 = (T1 + T2)/2, that is, the resulting schedule is optimal and robust.