## 4 Development Stages of the Proposed Approach
### Development Process of Smoothing Constant Simulator  
To determine the optimal values of the trios (\(\alpha\), \(\beta\), \(\gamma\)) as the smoothing constants within a range of [0, 1], having an incremental step of 0.1, an algorithm is formulated and a program coded in MATLAB, the main steps of which are stated below:  
The Pseudo code of Smoothing Constant Simulator is given as follows:1. Input: dataset
2. Initialize parameters
3. FOR \(\alpha=0\) to 1 step 0.1
4. FOR \(\beta=0\) to 1 step 0.1
5. FOR \(\gamma=0\) to 1 step 0.1
6. Calculate first step ahead forecast:
7. Multiplicative Holt-Winters
8. Calculate mean absolute deviation: _MAD_
9. END FOR
10. END FOR
11. END FOR
12. Find optimum \(\alpha\), \(\beta\) and \(\gamma\) correspond to minimum value of _MAD_
13. OUTPUT: Optimum \(\alpha\), \(\beta\) and \(\gamma\).  
### Development Process of Smoothing Constant Simulator  
In fuzzy logic-based prediction model the knowledge base, as shown in Figure 2, comprises two components--the data base and the rule base. Usually, the data base is represented by the formulated membership functions, whereas the fuzzy IF-THEN rules form the rule base of the intended knowledge base design. However, the core of this kind of knowledge-based model is the inference engine that employs a set of fuzzy IF-THEN rules to conduct the reasoning mechanism. Generally, the fuzzy reasoning mechanism is defined as a structured procedure for quantifying the conclusion from a given set of rules and conditions.  
Nevertheless, a number of fuzzy inference-engine modelling approaches are readily available in literature e.g., the Takagi-Sugeno-Kang (TSK), the Mamdani, etc. Among these, the Mamdani has advantages over others in terms of choosing particular fuzzification and defuzzification procedures, relaxation in representing the membership functions, as well as the wide range of logical operators [55]. Hence, by featuring computational and modelling flexibilities, the Mamdani system is adopted for our research work.  
In the process of embedding the defuzzified values of level in the MHW model, computation begins with conversion of the numerical inputs into 'linguistic variables' and fixation of their ranges. Upon defining the linguistic variables for fuzzification, the membership functions are also formulated and allocated to each of the variables. By depending on the nature of the models different types of membership functions e.g., triangular, trapezoidal, Gaussian etc. are used in practice. The triangular membership function is adopted for our model due to its simplified features. However, for validation purposes of the developed model in the fuzzy logic tool box, Equation (7) is used to articulate the fuzzification process by representing the input-output membership functions in mathematical form [42; 56].  
\[\mu_{triangle}(x,c_{1},c_{2},c_{3})=\left\{\begin{array}{l}0;x\leq c_{1}\\ (x-c_{1})/(c_{2}-c_{1});c_{1}<x<c_{2}\\ (c_{3}-x)/(c_{3}-c_{2});c_{2}<x<c_{3}\\ 0;x\geq c_{3}\end{array}\right. \tag{7}\]  
In Equation (7), \(x\) represents the value of the input or output variables, whereas \(c_{1}\), \(c_{2}\), \(c_{3}\) are the coefficients of the membership functions. Besides, to build the relationships among input-output variables, several, 'If-Then' logical rules are developed for the inference engine. Meanwhile, the fuzzy outputs are derived by aggregating the fuzzy inputs through the logical operators \"AND\", where the inference engine brings the compositional effects by incorporating the 'If-Then' rules. Then the non-fuzzy values of the desired output are obtained by Equation (8) [56; 57].  
\[L^{crisp}_{Tpred}=(\sum_{i}\mu_{i}a_{i})/\sum_{i}\mu_{i} \tag{8}\]where \(a_{i}\) represents the position of the respective singleton in the respective universe and \(\mu_{i}\) stands for the firing strength of the truth degree of the respected rules.