## 2 Materials and Methods
### Two-Level System of Multi-Objective Genetic Algorithms
#### 2.3.1 Level 1: Multi-Objective GA Based on the ARIMA Model  
The proposed multi-objective GA method uses a particular optimization based on the principle of natural selection of the optimal solution and applies this optimization on a wide range of forecasting populations. The multi-objective GA creates populations of chromosomes as possible answers to  
Figure 1: Two-level system of multi-objective GAs. estimate the optimum forecasting [6]. This algorithm is robust, generic and easily adaptable because it can be broken down into the following steps: initialization, evaluation, selection, crossover, mutation, update and completion. The evaluation (fitness function) step creates the basis for a new population of chromosomes. The new population is formed using specific genetic operators, such as crossover and mutation [19; 20]. The fitness function is derived from the ARIMA forecasting model. A GA with automated optimization avoids the weakness of the ARIMA model by estimating the parameters for forecasting [10]. The multi-objective GA is a global optimization technique that can be used to achieve an accurate forecasting based on the ARIMA model. The GA is known to help in solving complex nonlinear problems that often lead to cases where the search space shows a curvy landscape with numerous local minima. Moreover, the multi-objective GA is designed to find the optimal forecasting solution through automated optimization of the ARIMA model. In addition, the multi-objective GA can evaluate the forecasting accuracy using multiple fitness functions based on statistical models. The first level utilises a multi-objective GA which is based on the ARIMA model and is implemented four different times using a cross-validation randomization technique. The technique aims to select the best time series data for forecasting. The process is the following: a random number of cost data are selected based on encoding in each of the four implementations; the modified random cost data are generated 15 times. The modifications are used to find the optimal cost data for forecasting. The following steps are implemented when applying the multi-objective GA in level 1. Step 1: Initial population  
A longitudinal study of each cost object (\(Z^{labur}\), \(Z^{material}\)) is used to forecast data using the multi-objective GA for the two objects in parallel. Step 2: First GA generation and selection  
The first generation is performed by selecting each cost object and checking whether the data are stationary (i.e., trend-stationary) or non-stationary using a Dickey-Fuller test as in the Equation (2) [21]. To apply the ARIMA model, the data should be stationary, i.e., the null hypothesis of stationarity should not be rejected. When applying the Dickey-Fuller test equation, the hypothesis \(p=1\) means that the data are non-stationary and \(p<1\) that the data are stationary [21]. The Dickey-Fuller test equation is as in the Equation (2):  
\[\text{Dickey}-\text{Fuller test }(y_{t})=\alpha+px_{t-k}+\varepsilon_{t} \tag{2}\]  
where the notation is as follows:  
\(y_{t}\): the actual data over time;  
\(a\): constant estimated value of the time series data;  
\(p\): the hypothesis is either \(p=1\) or \(p<1\);  
\(t\): time \(\{1,\dots,k\}\);  
\(\varepsilon\): the white noise of the time series data. Step 3: Encoding  
Random values, either ones or zeros, are generated for each cost data object. Encoding is the process of transforming from the phenotype to the genotype space before proceeding with multi-objective GA operators and finding the local optima. Step 4: Fitness function  
The fitness function in the Equation (3) is based on the ARIMA model for the forecasting of time series cost data objects individually, as seen in the equation below. The fitness function consists of an autoregression (AR) part and a moving average (MA) part [1]. The ARIMA model uses AR and MA polynomials to estimate \((p)\) and \((q)\)[1].