## 2 Description of the Problem
The Project Evaluation Review Technique (PERT) and the Critical Path Method (CPM) are often used by project managers and decision makers to break complex, large-scale projects into individual activities, identify the logical dependencies between them, and then manage them to minimize the overall project cost and time [17; 18]. In summary, PERT and CPM are operational research and scheduling techniques with important advantages in practice, including clarity, user-friendliness, rigor and flexible mathematical modeling, and computational efficiency. These techniques are widely used in many industries, sectors, and services [18; 19]. The PERT/CPM method is successfully used in this study to solve the practical problem considered in [11; 14], and, as we will show below, this mathematical model has significant computational and practical advantages over existing MIP and Petri net methods. In this section, we recall several basic definitions in scheduling theory [5; 6; 20; 21]. A cyclic schedule can be defined as a schedule that repeats itself at fixed intervals of time; these fixed intervals are called cycle time. If \(k\) microplates enter and leave the robotic cell during a cycle, such a schedule is called a \(k\)-degree cyclic schedule, or a \(k\)-cyclic schedule. It is required to find a schedule of robot moves that minimizes the average cycle time \(T_{\text{avr}}\), and thus maximizes the productivity of the cell. During each cycle, the robot can serve different microplates, which start the screening process at times \(\ldots\) - \(T\), \(0\), \(T\), \(2T\), \(\ldots\), respectively. The Gantt chart in Figure 2 illustrates the optimal 1-cyclic screening schedule which will be obtained below. The durations of operations at the workstations for the benchmark problem in [11; 14] are the same as shown in Figure 1. The detailed calculation of this schedule will be presented in Section 4. Let us formulate the HTS cyclic problem in standard scheduling theory terms. Denote by \(M_{0}\), \(M_{1}\), \(M_{2}\), \(M_{3}\) the workstations Cytomat2C, Multidrop-384, Envision, and Teleshake, respectively. In the screening process under consideration, the microplate passes through the same predetermined technological sequence of workstations, denoted by \(\mathbf{S}\), that starts from workstation \(M_{0}\) and continues as follows: \(\mathbf{S}=(M_{0}\), \(M_{1}\), \(M_{2}\), \(M_{3}\), \(M_{2}\), \(M_{0})\), where workstations \(M_{0}\) and \(M_{2}\) are re-entered. Recall that the sequence of operations performed on the workstations is denoted \(\mathbf{O}=(O_{0}\), \(O_{1}\), \(O_{2}\), \(O_{3}\), \(O_{4}\), \(O_{5})\). The following conditions are imposed:  
* The time, denoted \(p_{k}\), that a microplate spends on a workstation before the robot moves it to another workstation is unknown, but the lower bound, \(l_{k}\), of this time is known in advance. * Workstations \(M_{0}\), \(M_{1}\), \(M_{2}\), and the robot can only hold one microplate at a time. * The number of microplates simultaneously processed at workstation \(M_{3}\) can be greater than one. Let us denote by \(\beta\) the maximum number of microplates that can be simultaneously served at workstation \(M_{3}\). The capacity \(\beta\) of the Teleshake is flexible; that is, \(\beta\) is a variable whose optimal value must be found. Each operation \(O_{k}\), \(k=0\), \(1\), \(\ldots\), \(5\), of the processing sequence \(\mathbf{O}\) is characterized by the following parameters:  
* \(p_{k}\), the processing time of operation \(O_{k}\), \(k=0\), \(1\), \(\ldots\), \(5\);
* \(d_{k}\), the time required for a robot to deliver a microplate from a workstation performing operation \(O_{k}\) to the next workstation in technological sequence \(\mathbf{S}\), \(k=0\), \(1\), \(\ldots\), \(5\);
* \(l_{k}\), the lower bound for the processing time of operation \(O_{k}\), i.e., \(p_{k}\geq l_{k}\), \(k=0\), \(1\), \(\ldots\), \(5\). In this model, all \(p_{k}\) are assumed to be unknown (decision variables) while the \(l_{k}\) and \(d_{k}\) values are given input data.