# Project Robust Scheduling Based on the Scattered Buffer Technology
## 4 Unit activity Slack Algorithm (UAS)
### Resource Allocation Algorithm with Maximum Use of the Precedence Relations (MPRRA)
#### 4.2.2 Resource Allocation Strategy  
To maximize the use of precedence relations to allocate resource, in the first process of this algorithm, the zero interval activity pairs with the precedence relation are executed with the saturated resource allocation strategy. The following example of a certain project schedule is illustrated in Figure 4.  
To reduce the impact of additional constraints on the project robustness, people should not only allocate the resource among the activity pairs with the precedence relations, but also achieve the saturated resource allocation as much as possible. To achieve the saturated resource allocation, people need to use certain resource allocation strategies and algorithms. This paper proposes an allocation algorithm of repeated cyclic searching for the single activity pair. (1) Beginning from the receiving activity \(j\), look for the activity pair that has the only one immediate predecessor, taking \(q_{i,j}=\min\limits_{i\in P_{j}}(c_{i},\,c_{j})\) (the minimum value of the resource amount (or the remaining resource amount) of the receiving activity \(j\) and the immediate predecessor \(i\)) as the amount of resources allocated through the precedence relation mentioned above, and then deleting the sending activity that has finished allocating resource or the receiving activity that has satisfied the requirement of the resource, which means that there is no need to allocate the resource for these two kinds of activities. (2) Once again starting from the sending activity \(i\), look for the activity pair that has only one receiving activity, taking \(q_{i,j}=\min\limits_{j\in S_{i}}(c_{i},\,c_{j})\) (the minimum value of the resource amount (or the remaining resource amount) of the sending activity \(i\) and the immediate successor \(j\)) as the amount of resources allocation distributed through this precedence relation, and then delete the sending activity that has finished allocating resource or the receiving activity that has satisfied the demand of the resource, which means that there is no need to allocate the resource for these two kinds of activities. (3) Repeat (1) and (2) until there are no activity pairs in which the resources can be allocated, and so the amount of resources is saturated at this stage. Figure 5a is the baseline schedule corresponding to the project schedule in Figure 1. The maximum resource availability \(R\) in this schedule is 14 units in the third stage (i.e., the third time point), the sending activities of the activity pairs with the precedence relation are Activity 2 and Activity 4, and the receiving activities are Activities 5, 6, and 7. The amount of the saturated resource is eight units in this stage. As shown in Figure 5b, this schedule uses the general allocation method in the third stage to allocate resources, and the amount of these resource allocated through the activity pairs with  
Figure 4: A project schedule. precedence relation is six units, which is obviously the unsaturated resources allocation. As shown in Figure 5c, this schedule adopts the saturated resource allocation strategy in the third stage. In the third stage, there are three receiving activities, namely, Activities 5, 6 and 7. First, beginning from the receiving Activity 5 that only has an immediate predecessor Activity 2, the amount of resource that Activity 5 needs is two units, while Activity 2 is four units. Take their minimum value (two units) as the amount of resource allocation between the activity pair \((2,5)\), namely \(q_{2,5}=2\). Since the resource requirement for Activity 5 has been satisfied after allocation, it should be deleted and its resource allocation is no longer considered. In turn, choose the receiving Activity 7 that only has an immediate predecessor Activity 4. The resource amount of Activity 4 and Activity 7 is six units and one unit, respectively, thus their minimum value is one unit, so the amount of resource allocation between activity pair \((4,7)\) is \(q_{4,7}=1\).