# Linear Project-Scheduling Optimization Considering a Reverse Construction Scenario
## 4 Design of a Solving Algorithm for the LSM-CBPS Model
### Improved Grey Wolf Optimization Algorithm Design
The decoding process consists of the following steps. Step 1: Start with activity \(1\) and read the selected crews for each section. Obtain the set of selected crews and the construction sequence for each crew;

Step 2: For each crew \(c\) in the selected crew set, read the encoded information to determine the construction mode \(cm_{1,c}=m\), construction direction \(cd_{1,c}=dr\), and construction start time \(ct_{i,c}=t\);

If \(dr\) is \(1\), that is, the construction direction is positive, then the crew continues constructing from small miles to large miles during the construction process of activity \(1\); hence, the construction sequence is traversed from left to right. For the first subactivity \(i_{k}\) in the

Figure 7: Coding method. sequence, \(dir_{i,k}=1\), \(st_{i,k}=t\), \(xm_{i,k,m}=1\) and \(et_{i,k}=st_{i,k}+d_{i,k}\). For the second subactivity \(i_{h}\) in the sequence, \(dir_{i,h}=1\), \(st_{i,h}=et_{i,k}\), \(xm_{i,h,m}=1\), and \(et_{i,h}=st_{i,h}+d_{i,h}\), and so on. If \(dr\) is 0, that is, the construction direction is inverse, then the crew keeps working from large to small miles during the construction process of activity 1; thus, the same calculation was performed by traversing the construction sequence from right to left. Finally, the coding method can cover the information of all decision variables in the model. Step 3: According to the method in the second step, the construction situation of each crew in each section of the collection is determined in turn;

Step 4: The construction situation for each activity in the project is determined to obtain the overall construction process. #### 4.2.4 Discrete Location Update Operator

As discussed above, discrete processing strategies were introduced in the improved algorithm. The following discrete location update operators were proposed. \[X_{i}^{d}(t+1)=\left\{ \begin{array}{l}X_{i,a}^{d}(t),if\ r1<\frac{1}{3}\ and\ r2>c\\ X_{i,b}^{d}(t),if\ r1<\frac{2}{3}\ and\ r1>\frac{1}{3}\ and\ r2>c\\ X_{i,b}^{d}(t),if\ r1<1\ and\ r1>\frac{2}{3}\ and\ r2>c\\ X_{i}^{d}(t),if\ r2\leq c\end{array} \right., \tag{76}\]

\[c=\frac{T-t}{T}, \tag{77}\]

where \(c\) is the control factor that decreases linearly from 1 to 0 as the number of iterations increases; and \(r1\) and \(r2\) are random numbers in the range [0,1]. If \(r2\) is greater than \(c\), the \(d\)th dimension position information \(X_{i}^{d}(t)\) of the \(i\)th grey wolf individual is updated based on the guidance of the best three grey wolves. In particular, the probability that \(X_{i}\) is updated to the value of one of the best grey wolves is \(1/3\). As the number of iterations increases, the guidance from the best three grey wolves to the group deepens, and the population gradually converges. #### 4.2.5 Dynamic Constraint Processing

In addition, herein, a dynamic constrained processing method [58] was introduced to effectively solve the constrained optimization problem. This method transforms the single-objective constrained optimization problem into a double-objective unconstrained optimization problem. For grey wolves outside the feasible domain, their primary goal is to enter the feasible domain rather than searching for the optimal solution. When a grey wolf enters the feasible region, the goal is to approach the optimal solution. To compare any two grey wolves, the following rules are applied:

1. When grey wolves \(x_{1}\) and \(x_{2}\) are not feasible, the one with a small constraint violation value is better;
2. When both the grey wolves \(x_{1}\) and \(x_{2}\) are feasible, the one with a small objective function value is better;
3. When the grey wolf \(x_{1}\) is feasible and \(x_{2}\) is not, \(x_{1}\) is superior. #### 4.2.6 Cross-Mutation Strategy

In the original GWO, the position update of each individual is only influenced by the three optimal grey wolves. This restriction limits the information sharing among the population, thereby leading to limited exploration ability and a higher likelihood of getting trapped in local optimal solutions.