## 3 Numerical Framework
### Artificial Neural Network  
The backpropagation neural network was applied due to the complex optimization problem. Back-prop algorithm executes iteratively, so the change in weights is carried out incrementally. Figure 1 explains the basic architecture of ANN model adopted in this research. There are three essential operations of the neutron. The synaptic weights \(w\) with a positive value make an excitatory connection and negative value an inhibitory connection. The summation function sums up the entire input signals \(y\). The subscript \(a\) denotes the output layer; \(b\) is the hidden layer; and \(c\) is the input layer. \(w_{ba}\) represents the weight from the hidden to the output layer; \(w_{cb}\) is the weight from the input to the hidden layer; \(y\) is the actual activation value; \(t\) is the targeted value (desired activation); and \(x_{b}\) is the net input. In a multi-layered feedforward network, the accuracy of a solution is measured by taking the mean-square-error which is the difference between targeted output and the actual output. Let, \(b^{th}\) be the output layer, then the error is calculated as [31]:  
\[E=\frac{1}{2}\sum_{b=1}^{B}{(t_{b}-y_{b})^{2}}, \tag{11}\]  
where \(b\) {0,1,...,\(B\)} means the \(b^{th}\) layer has a total \(B\) nodes, \(y_{b}\) is the actual activation of the output nodes, and \(t_{b}\) is the desired activation (target). The error \(E\) propagates backward towards the input layer. Since the mean square error (\(E\)) generates a two-dimensional surface, the gradient descent approach is applied to explore the grand minima. A change in weight for a node connecting the layer c to the layer \(b\) is given by [48]:  
\[\Delta W_{cb}=-\alpha\frac{\partial E}{\partial W_{cb}}, \tag{12}\]  
where \(\alpha\) represents the learning rate. By applying the chain rule, a derivative of the mean square error \(E\) with respect to \(w\) can be expanded as [48]:  
\[\frac{\partial E}{\partial W_{cb}}=\frac{\partial E}{\partial y_{b}}\frac{ \partial y_{b}}{\partial x_{b}}\frac{\partial x_{b}}{\partial W_{cb}}, \tag{13}\]  
Derivative of the net input with respect to the weight is given by:  
\[x_{b}=\sum_{c=1}^{C}{w_{cb}y_{c}}\Rightarrow\frac{x_{b}}{w_{cb}}=y_{c}, \tag{14}\]  
where \(c\) {0,1,...,\(C\)}, \(y_{c}\) is the actual activation of nodes, and \(w_{cb}\) is the weight from input to the hidden layer. The first two terms of Equation (13) are replaced with:  
\[\beta_{b}=\frac{\partial E}{\partial y_{b}}\frac{\partial y_{b}}{\partial x_ {b}}, \tag{15}\]  
Figure 1: Basic architecture of an ANN.  
The output is obtained by employing the sigmoid function, which is expressed as [41]:  
\[y_{b}=\frac{1}{1+e^{-x_{b}}}, \tag{16}\]  
Change in weight is calculated by considering the nodes connecting the input layer \(c\) to the layer \(b\):  
\[\Delta w_{cb}(N)=\alpha\beta_{b}y_{c}+\eta\Delta w_{cb}(N-1), \tag{17}\]  
where \(y_{c}\) is the activation of the node at layer \(c\), \(N\) and \((N-1)\) are the iterations (epoch), \(\eta\) represents the momentum (a real value 0, 1), and \(\beta_{b}\) is the error term. The momentum was introduced by [PERSON] [48] to incorporate the influence of past iterations in updating the weight.