## 2 Materials and Methods
### Multi-Objective Genetic Algorithms (GAs) Based on the Dynamic Regression Model  
The study has developed a multi-objective GA based on the dynamic regression model. The dynamic regression (DR) model differs from the ordinary regression model in that it can handle both contemporaneous and time-lagged relationships [24]. A dynamic model is a family of functions of the data, of relatively simple form and devised by a researcher to produce more realistic results. In addition, this model emphasizes the ripple effect which the input variables can have on the dependent variables. Therefore, the DR model is one of the interspersing models to be compared with the ARIMA model as one of the most popular models for forecasting. The developed GA consists of the following levels: (1) a multi-objective GA based on the DR model and used to forecast cost data, and (2) a multi-objective GA based on multiple functions for measuring the forecasting accuracy for the purpose of validating the forecasted data. The multi-objective GA is applied to the cost data objects (labour and material) for 15 different generations for four different populations to forecast data for the next level. Then the forecasted data for the two cost objects are validated.  
We use the same steps as those applied in the first level of the GA based on the ARIMA model, applying them on the same data with the same method for every step. However, the fitness function step is based on the regression model, as clarified below.  
Step 3: Fitness function  
The multi-objective fitness function is based on the DR model function, as expressed in the fitness Equation (11) [24]. The fitness function is applied to a 20-month forecast. The data have been normalized before calculating the fitness function. The purpose of the normalization is to decrease the computation complexity, since the cost data values are huge. The equation used for the normalization \(\overline{Y}\) as in the Equation (10) [25]:  
\[\overline{Y}=\left(Y_{t}-min_{Y_{t}}\right)/\left(max_{Y_{t}}-min_{Y_{t}}\right) \tag{10}\]The fitness equation is as the Equation (11) [24]:  
\[\text{fitness}(Y_{t})=C+b_{1}Y_{t-1}+b_{1}Y_{t-2}+WN \tag{11}\]  
where the notation is as follows:  
\(C\): constant value calculated with the normal equation, where \(X^{T}XA=X^{T}b\);  
\(b_{1}\) and \(b_{2}\): calculated with the normal equation, where \(X^{T}XA=X^{T}b\);  
\(Y_{t}\): related to \(Y_{t-1}\) and \(Y_{t-2}\);  
\(WN\): white noise.  
The results of the fitness function for the 20-month forecast are denormalized to the original data using the Equation (12) [25]. The denormalization values are used to evaluate the forecasting accuracy using the second level.  
\[Y_{t}=\overline{Y}*(max_{Y_{t}}-min_{Y_{t}})+min_{Y_{t}} \tag{12}\]  
The forecasting accuracy for every generation for every population is validated using the multi-objective GA based on multiple functions for measuring the forecasting accuracy. The mean absolute percentage error (MAPE), the median absolute percentage error (MdAPE), the root mean square percentage error (RMSPE), the root median square percentage error (RMdSPE), and the mean absolute scaled error (MASE) are different fitness functions used to evaluate the selected forecasting data from the previous step [23]. The method used for validating the forecasting accuracy of the GA based on the ARIMA model is used to validate the forecasting accuracy of the GA based on the DR model.