## 3 The MOFOA-HS for the Multi-Objective F-MSRCPSP
### Schedule Generation Scheme
#### 3.2.2 Flexible Serial Schedule Generation Scheme (FSSGS)  
In each iteration, the current partial schedule is extended by scheduling one activity. Each iteration is a decision point of \(A_{j}\) with the latest end time period \(T_{pl}\) and the earliest time period \(T_{re}\) of each activity. The remaining parameters are the same as FPSGS. The pseudo code of the FSSGS is shown in Algorithm 2. Step 1: Initialize \(\lambda,A^{e}\). Select the first activity in order from the activity sequence list \(\lambda\) as \(A_{j}\) and delete it from \(\lambda\). Then, initialize the set \(A^{e}\): select the activities without predecessor activity constraints or whose predecessor activities have been completed from \(\lambda\) and add them to \(A^{e}\). Step 2: Find the earliest start time without violating the constraints. The \(A_{j}\) must be started after all its predecessor activities are completed if there are predecessor activities. Since the quantity of available resources should not be less than the lower usage bound, the earliest start time of \(A_{j}\) should be the largest of the next time period of the latest end time period of all the predecessor activities. Meanwhile, the earliest time period should also meet the lower usage bound. Step 3: Resource allocation. Judge whether the activity has been completed. If not, resources are allocated to activities in different ways. (a) Greedy selection strategy. For the \(A_{j}\) that adopts the GSS, judge whether the quantity of \(\varphi_{kt}\) is not less than \(\underline{q}_{j}\). If so, obtain the set \(\Omega\), which consists of all possible combinations whose quantity of resources is in the range of \(\underline{q}_{j}\) and \(min(n_{\varphi_{kt}},\ \overline{q}_{j})\) from \(\varphi_{kt}\). Filter the \(p\) whose \(\xi_{pk}\) is less than \(\xi_{jkt}\) when the activity could be completed, then allocate \(p_{j}\) from \(\Omega\) to \(A_{j}\). Otherwise, abandon all previous resource allocation of \(A_{j}\) and reallocate the resource profile from the next time period. (b) Non-greedy allocation strategy. For the \(A_{j}\) adopting the NGSS, allocate the \(\underline{p}_{j}\) to \(A_{j}\) after ensuring that all resources in \(\underline{p}_{j}\) are available. If there are any resources in \(\underline{p}_{j}\) occupied by other activities, abandon all previous resource allocation of \(A_{j}\), and reallocate resource profile from the next time period. Figure 3: The Gantt chart generated by the FPSGS. To further illustrate the FSSGS, take the example in Section 2.2 again. Firstly, resource scheduling is carried out for \(A_{2}\) due to its position in \(\lambda\). In the Step 2, the latest end time period \(T_{pl}\) of all the predecessor activities is 1, and the earliest time period \(T_{re}\) to meet the lower usage bound is 1, so the earliest start time \(T_{t}=max(T_{pl},T_{re})\) is 1. As \(\sigma(2)=1\), allocate \(R_{3}\) to \(A_{2}\) from \(R_{2}\), \(R_{3}\), and \(\ [R_{2},R_{3}]\\) with the NGSS. Then, repeat Step 3a until the \(A_{2}\) is completed in time period 6. Then, for \(A_{4}\), \(T_{t}\) is also 0, and allocate \(R_{2}\) to \(A_{4}\) with NGSS, because \(\sigma(4)=1\). Repeat Step 3b until the \(A_{4}\) is completed in time period 4. For \(A_{3}\), allocate \(R_{1}\) in time period 1-6, and then allocate \(R_{3}\), because the occupation of \(R_{3}\) is released in time period 7, and \(R_{3}\) is considered the optimal combination among \(R_{1}\), \(R_{3}\), and \(\ [R_{1},R_{3}]\\) with the NGSS. After \(A_{3}\) is completed, \(A_{1}\) starts in \(T_{t}\) which is 5. Allocate \(R_{2}\) in time periods 5-6, and then allocate \(\ [R_{2},R_{3}]\\), because the occupation of \(R_{3}\) is released in time period 7. Finally, the \(A_{5}\) starts in time period, 7 because \(T_{re}\) is 7 and \(T_{pl}\) is 5 due to precedence constraints between \(A_{4}\) and \(A_{5}\). Similarly, only allocate \(R_{1}\) in time period 7-10, and then allocate \(\ [R_{1},R_{3}]\\), because the occupation of \(R_{3}\) is released in time period 11.