## 3 Approximation Solution Algorithm  
Let \(x_{j}\in\{0,\,1\}\) represent the \(j\)-th wafer (also called Wafer-\(j\)) loaded into a cluster tool in a cycle. If \(x_{j}=1\), it represents a virtual wafer, otherwise it is a real one. Let \(\pi=(x^{\prime}{}_{1},\,x^{\prime}{}_{2},\,\ldots,\,x^{\prime}{}_{d})\) denote a PVS for a cluster tool, \(x^{\prime}{}_{j}\in\{0,1\}\). Thus, \(\pi=(x^{\prime}{}_{1},\,x^{\prime}{}_{2},\,\ldots,\,x^{\prime}{}_{d})\) indicates a repeated sequence of real and virtual wafers loaded into the tool, where \(q\) is the number of wafers in a cycle and \(x^{\prime}{}_{j}\) represents a wafer at the \(j\)-th position in the wafer loading sequence, \(j\)\(\in\)N\({}^{+}\)\({}_{q}\). Further, if \(x^{\prime}{}_{j}=1\), it represents a virtual wafer, and otherwise it is a real one. \(\pi=(x^{\prime}{}_{1},\,x^{\prime}{}_{2},\,\ldots,\,x^{\prime}{}_{d})\) is called the wafer loading sequence for a cluster tool under a PVS.  
In a cluster tool, there may be several parallel PMs serving for a step. Since \(\pi\) is a repeated sequence of wafers loaded into a tool, there must exist a sequence of wafers being repeatedly processed by a PM at a Step that is different from \(\pi\). Let \(k_{i}\), \(i\)\(\in\)N\({}^{+}\)\({}_{n}\), denote the number of wafers in a repeated sequence being processed by a PM at Step \(i\) of a cluster tool. Then, we have  
\[k_{i}=\left\{\begin{array}{ll}\frac{q}{n_{i}},&\quad\text{if }\frac{q}{n_{i}} \text{ is an integer}\\ q,&\quad\text{otherwise}\end{array}\right.,\ i\in\text{N}^{+}\text{${}_{n}$} \tag{6}\]  
We explain the meaning of Expression (6) as follows. Assume that a cluster tool is operated under a PVS \(\pi=(x^{\prime}{}_{1},\,x^{\prime}{}_{2},\,\ldots,\,x^{\prime}{}_{q})\) and \(q/n_{i}\) is an integer. After \(q\) wafers are sequentially loaded into Step \(i\) for being processed according to the PVS, this implies that each PM at Step \(i\) has just processed \(q/n_{i}\) wafers since there are \(n_{i}\) parallel PMs at the step. Note that \(q\) is the number of wafers in a repeated wafer loading sequence under the PVS. This means that the sequence of \(q/n_{i}\) wafers (including virtual and real ones) being processed at a PM forms a wafer processing sequence that is continuously repeated as the tool operates. Therefore, \(k_{i}=q/n_{i}\) if \(q/n_{i}\) is an integer for this case.  
Assume that an SACT is operated under a PVS \(\pi=(x^{\prime}_{1},x^{\prime}_{2},\ldots,x^{\prime}_{q})\) and \(q/n_{i}\) is not an integer. For this case, after \(q{\times}n_{i}\) wafers are sequentially loaded into Step \(i\) for being processed according to the PVS, each PM at Step \(i\) has just processed \(q\) wafers since there are \(n_{i}\) parallel PMs at the step. Since \(q\) is the number of wafers in a repeated wafer loading sequence under the PVS, the sequence of \(q\) wafers (including virtual and real ones) being processed at a PM forms a wafer processing sequence that is continuously repeated as the tool operates. Therefore, \(k_{i}=q\) if \(q/n_{i}\) is not an integer for this case.  
A solution \(\pi\) for the addressed problem can be treated as a bit-string. Thus, a genetic algorithm (GA) with a binary encoding is applied to find an optimal or near optimal solution for the addressed problem. GA is a meta-heuristic and inspired by [PERSON]'s theory of natural evolution. Many studies have shown that GA can achieve a promising solution for optimization problems [24; 25; 26].