1 Introduction

Providing energy on a global scale is a responsibility and commitment towards development of various industries. Reliable energy is essential to support expanding industry, modern agriculture, increased trade and improved transportation in ASEAN developing countries. However, according to the official infographic obtained by the ASEAN Centre of Energy in 2020 report, electrification rates in certain ASEAN countries remain low. Among them, the electrification rate of Cambodia is 68%, and that of Myanmar is only 44%. Rio Jon Piter Silitonga also pointed out this fact in his paper published by the ASEAN Energy Center [1]: Nearly half of Cambodia’s population has lack of access to electricity. In Cambodia, the country’s energy prices are among the highest in the region, mainly due to the high cost of energy imports. Such energy sector is characterized by unreliable supply, insufficient supply and high electricity prices. All these factors resulted in a supply shortage of approximately 442.5 MW.

For a more sustainable energy solution to the energy shortage in some ASEAN countries, we turned our attention to photovoltaic (PV) systems. It is a power framework that provides renewable solar energy by converting sunlight energy into electricity in PV cells. Due to its beneficial low maintenance cost [2], environmental sustainability [3], economic viability [4] and long life span [5, 6], PV systems can be and have been commercialized in many ASEAN countries. PV system has indeed achieved the greatest success. As a well-developed solar technology, more research works have been done on its future development. More developments have been suggested regularly to enhance the capabilities of PV systems [7, 8].

PV system requires parameter optimization during the Maximum Power Point Tracking (MPPT) process to maximize the power extraction from PV panel under all given conditions [9, 10]. The main difficulty of this study is due to its nonlinear characteristic and environmental dependence [11]. In theory, only a fraction of PV cells that receive uniform radiation and temperature will operate at ideal efficiency [12]. Furthermore, the maximum power varies primarily with radiation levels and operating temperature, which in practice are strongly influenced by environmental changes. For better efficiency, a high-quality MPPT solution that can efficiently track the maximum power in response to environmental changes is required. Difficulty rises when MPPT is primarily executed in partially shaded conditions, where PV panels are shaded to specified levels to create more complex MPPT problems [13, 14]. Under partial shading conditions, a PV system produces multiple peaks in its Power-Voltage (P–V) curve, the number of which depends on the number of series-connected PV arrays with varying degrees of shading level inside the PV panel. Note that the highest peak in the P–V curve is also represented as the optimization objective, the so-called Maximum Power Point (MPP). From an optimization point of view, MPP is the global optimum representing the maximum extractable power, while the remaining peaks are local optima that slow down or possibly terminate the optimization process in MPPT. The problem is exacerbated when some local optima yield roughly the same power extraction close to MPP. As MPPT problems become more challenging tasks, so do the quality requirements for MPPT solutions.

In a recent trend, the development of various optimization algorithms has made a breakthrough in MPPT. Looking back at the background and history of optimization algorithms, they can basically be classified into three broad categories: evolutionary, physics-based, and bio-inspired. Evolutionary algorithm is a probabilistic search method that simulates natural selection processes based on biological evolution, such as reproduction, mutation, recombination, and selection, so that populations share and inherit optimal optimization information in the process of generations (iterations). Some well-known evolutionary algorithms include Evolutionary Programming (EP) [15], Genetic Programming (GP) [16], Differential Evolution (DE) [17], Genetic Algorithm (GA) [18] and Evolutionary Strategies (ES) [19]. Physics-based algorithms mimic the laws of physics in the universe and are often suitable for hybridizing with other optimization techniques. The relatively popular physics-based algorithms include Gravitational Search Algorithm (GSA) [20], Space Gravitational Algorithm (SGA) [21] and Electromagnetism-like algorithm (EMA) [22]. Bio-inspired algorithms imitate the social behavior of a group of creatures and are mostly considered swarm intelligence algorithms. Popular bio-inspired algorithms include Ant Colony Optimization (ACO) [23], Artificial Fish Swarm Algorithm (AFSA) [24], Artificial Bee Colony (ABC) [25], and Particle Swarm Optimization (PSO) [26]. Throughout the investigation, we learned that some bio-inspired optimization algorithms such as Whale Optimization Algorithm (WOA) [27, 28] and Particle Swarm Optimization (PSO) [29,30,31] have been successfully applied to simulate PV systems to solve several complex MPPT problems. This shows that evolutionary development of various optimization algorithms has pushed the application of MPPT in PV systems to a higher level.

So far, we have noticed that powerful (fast convergence and high accuracy) optimization algorithms can effectively track the maximum power point in any PV system. It is strongly believed that this is the best solution to the shortage of energy supply in some ASEAN countries. According to the renewable energy policy, energy efficiency will be the key to establishing a reliable and sustainable energy system for the future of Southeast Asia [32]. While most Southeast Asian countries have their own energy efficiency targets, ASEAN follows the ASEAN Action Plan for Energy Cooperation (APAEC) policy from 2016 to 2025, which covers the energy component of the ASEAN Economic Community (AEC) Blueprint for 2025 [33]. In terms of energy efficiency and energy conservation, this policy targets to reduce ASEAN's energy intensity by 20% and 30%, respectively, as a medium-term target for 2020 and a long-term target for 2025. In terms of renewable energy, this policy aims to increase the component of renewable energy in ASEAN's energy to the desired target of 23% by 2025. Hence, improving the effectiveness and efficiency of MPPT technique in PV systems may be the key to elevate the status of renewable energy.

The research work takes up the challenge to optimize the power extraction efficiency of PV systems through the MPPT process based on an improved optimization algorithm. From a related work in 2017, the Comprehensive Improved Artificial Fish Swarm Algorithm (CIAFSA), as an evolutionary variant of the fish swarm algorithm, was applied to MPPT for PV application systems [11]. Although CIAFSA achieved good results on the maximum power extraction for designated PV model, our analysis discovers that the application of CIAFSA in MPPT is not convincing enough due to the lack of flexibility in determining the search direction. CIAFSA still needs to be improved to comprehensively address MPPT issues. Therefore, in this research work, we propose modified Normative Fish Swarm Algorithm (mNFSA) to surpass CIAFSA in solving MPPT problems for photovoltaic application systems. This becomes the main contribution of this research work. Note that Normative Fish Swarm Algorithm (NFSA) was proposed as a novel AFSA variant in 2019 [34]. It is an effective global and local search technique that can obtain effective global optima at superior convergence speed. Attracted by its compatibility, we consider modifying NFSA for MPPT applications. Significant modifications have been made to the original NFSA, including the removal of unnecessary features, the formulation of modified behaviors, the refinement of adaptive parameters and settings, and the implementation of the MPPT architecture. Two modified behaviors greatly enhance the effectiveness and accuracy of global exploration and local exploitation operations, respectively, and the refined adaptive parameters fine-tune the variable bounds and step range of search agents to speed up convergence in early iterations and improve global optimum achievement in later iterations. In the work of [31], NFSA was shown to outperform CIAFSA in single-objective optimization. Therefore, it is highly expected that mNFSA can replace CIAFSA in MPPT application, and it is also convincing that mNFSA can achieve better maximum output power than CIAFSA during simulation. With confidence, this research will undoubtedly serve ASEAN society with better energy efficiency, thereby reducing energy supply shortages.

For pre-experimental tests, we model a complete PV system (framework) capable of generating non-convex multimodal MPPT problems in MATLAB-SIMULINK R2021a to simulate the feasibility of NFSA in practical applications. All settings and structures are clearly explained, making it easy for the reader to reconstruct the PV model system for further in-depth simulations. We also describe the step-by-step concepts in PV cells, arrays, panels, and systems to support all statements and explanations about PV modeling. This can be another contribution of this research work. Overall, this research work focuses on the development of the proposed algorithm (mNFSA) and the design of the PV framework to obtain a superior MPPT solution. This is the strength of this research work, where the knowledge gained can further refine the application of MPPT in realistic setups. However, the downside is that the proposed algorithm may be suitable for MPPT solutions, but is expected to perform poorly in other applications if applied directly without further modification, as mNFSA fully integrates strategies that benefit MPPT applications.

This article is outlined as follows: Sect. 1 presents the introduction of research work, describing the problem statement, motivation, background overview, comparable sources, brief analysis, proposed methods, and contributions. Section 2 reviews NFSA in terms of methodology, mathematical expressions, and strategic benefits. This section also prepares a table summarizing all mathematical notations used in NFSA for readers’ convenience. Section 3 explains the methodology of the proposed mNFSA, where its subsections describe the corresponding modified behaviors and the refined adaptive method in terms of mathematical expressions and strategic theories. A complete flowchart is shown to illustrate the step-by-step process of mNFSA execution. The parameter settings for mNFSA are also displayed in a table. Section 4 describes the PV modeling in preparation for the simulation. This section first introduces the software used in this research work, and in-depth introduces the implementation and modeling methods of PV arrays, PV panels, and PV model systems in each subsection. Section 5 analyzes the results and discussion. This section is important for validating all our contributions from the proposed mNFSA and evaluating the potential of other state-of-the-art algorithms for future MPPT applications by examining their respective strengths and weaknesses in direct implementation. Section 6 concludes the research work. This section put an end on this research work by summarizing all the obtained research materials, results and discussions, and predicting the future development of MPPT solutions.

2 Overview of NFSA

The related works of NFSA were previously proposed by [35] in 2018 and by [34] in 2019. NFSA has been further studied in this research work and many interpretations of the proposed strategy have been completed from detailed analysis. NFSA is a modified AFSA that amalgamate the normative knowledge taken from Cultural Artificial Fish Swarm Algorithm (CAFSA) [36] into the properties of Fish Swarm Algorithm optimized by Particle Swarm Optimization algorithm with Extended Memory (PSOEM-FSA) [37]. The connection with normative knowledge resulted in additional guidelines, which were then integrated into behaviors adopted from PSOEM-FSA. With supplementary guidelines, search agents can cite very precise and accurate routes when executing progressive behaviors. As the exchange of information between candidates is significantly indispensable, the search agent updates and shares the same global best information during the end of each iteration loop. NFSA proposes two improved hybrid behaviors, referred to as normative communication behavior and normative memory behavior. In summary, normative communication behavior and normative memory behavior are respectively the improved editions of communication behavior and memory behavior, of which the original version appeared in the work of PSOEM-FSA. These two behaviors play the role of enhancing the global search ability and local search ability of the search agents, respectively. NFSA also modifies the original and introduces novel adaptations to the parameters that control the search and scout scope of each agent. The proposed adaptive parameters balance the inconsistency between exploration and exploitation. It has been proved from the work of [34, 35] that compared with the related swarm algorithms, the proposed NFSA has achieved relatively superior results in terms of global optimal achievement and convergence speed.

Table 1 lists all the mathematical notations used in NFSA. The execution of NFSA is as follows [34]:

  1. Step 1:

    Randomly initialize the population, preliminary location vector, initial global best solution of the population and the present local best location solution in the memory of each agent.

  2. Step 2:

    Independently execute 4 correlative behavioral architectures:

  3. (i)

    Normative communication behavior or else prey behavior

  4. (ii)

    Normative memory behavior or else prey behavior

  5. (iii)

    Follow behavior or else prey behavior

  6. (iv)

    Swarm behavior or else prey behavior

    Each of these behavioral pattern outputs a unique solution.

  7. Step 3:

    Using the concept of greedy selection, choose the best performing solution generated from either behavior, thereby updating the location vectors of population to be used in the next iteration.

  8. Step 4:

    Update the local best solution of each agent and the global best solution of the population (all agents) by comparing the relevant objective values to the corresponding data currently stored inside the bulletin board.

  9. Step 5:

    In case global best solution remains the same and is not updated after \({t}_{\mathrm{limit}}\) counts, both stepmin and visualmin are gradually declined. Otherwise, it will jump to Step 6.

  10. Step 6:

    Execute the adaptation of parameters in terms of step and visual.

  11. Step 7:

    Terminate the algorithm if \(t>{t}_{\mathrm{max}}\). Otherwise, increment \(t\) and proceed to Step 2.

Table 1 Mathematical notations of NFSA

For the ease of understanding, the pseudo code of NFSA is given as follows [34]:

figure a

The following subsections explain the structure of the specific features in NFSA. Readers can refer to a previous work [24] for other unmentioned strategies (i.e. follow behavior, swarm behavior and prey behavior), as they are not unique features in NFSA.

2.1 Normative communication behavior

Efforts on changing the formulation of NFSA has been made. The connection of speed vector has been removed and the inertia weight ω has been erased from the original equation of relevant communication behavior. In addition to that, the reconnaissance is executed around the current and previous global best solutions, \({{\varvec{X}}}_{gbest}^{t}\) and \({{\varvec{X}}}_{gbest}^{t-1}\) to find the complementary guidelines, \({{\varvec{X}}}_{cg}^{t}\) and \({{\varvec{X}}}_{cg}^{t-1}\). The idea of modification aims to help the search agents to discover pathways as precise and accurate as possible, while avoiding perceptual disorders. The normative communication behavior is expressed as follows:

$$\left\{ {\begin{array}{*{20}l} {\begin{array}{*{20}l} {{\varvec{X}}_{i}^{t + 1} = } \hfill & {{\varvec{X}}_{i}^{t} + \left[ {\begin{array}{*{20}c} {\left( {\frac{{\left( {{\varvec{X}}_{cg}^{t} - {\varvec{X}}_{i}^{t} } \right)\xi^{t} + \left( {{\varvec{X}}_{cg}^{t - 1} - {\varvec{X}}_{i}^{t - 1} } \right)\xi^{t - 1} }}{{\left| {\left( {{\varvec{X}}_{cg}^{t} - {\varvec{X}}_{i}^{t} } \right)\xi^{t} + \left( {{\varvec{X}}_{cg}^{t - 1} - {\varvec{X}}_{i}^{t - 1} } \right)\xi^{t - 1} } \right|}}} \right)\beta } \\ { + \left( {\frac{{\left( {{\varvec{X}}_{gbest}^{t} - {\varvec{X}}_{i}^{t} } \right)\xi^{t} + \left( {{\varvec{X}}_{gbest}^{t - 1} - {\varvec{X}}_{i}^{t - 1} } \right)\xi^{t - 1} }}{{\left| {\left( {{\varvec{X}}_{gbest}^{t} - {\varvec{X}}_{i}^{t} } \right)\xi^{t} + \left( {{\varvec{X}}_{gbest}^{t - 1} - {\varvec{X}}_{i}^{t - 1} } \right)\xi^{t - 1} } \right|}}} \right)\left( {1 - \beta } \right)} \\ \end{array} } \right]\,R_{1} step} \hfill \\ \end{array} } \hfill \\ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\varvec{X}}_{cg}^{t} = } & {\left\{ {\begin{array}{*{20}l} {\begin{array}{*{20}c} {{\varvec{X}}_{gbest}^{t} + \left( {{\varvec{u}}^{t} - {\varvec{l}}^{t} } \right)r_{1} } \\ \end{array} } \hfill \\ {{\varvec{X}}_{gbest}^{t} } \hfill \\ \end{array} } \right.} \\ \end{array} } & {\begin{array}{*{20}l} {, {\text{if}}\,\,\,f\left( {{\varvec{X}}_{cg}^{t} } \right) < f\left( {{\varvec{X}}_{gbest}^{t} } \right)} \hfill \\ {, {\text{otherwise}}} \hfill \\ \end{array} } \\ \end{array} } \hfill \\ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\varvec{X}}_{cg}^{t - 1} = } & {\left\{ {\begin{array}{*{20}l} {\begin{array}{*{20}c} {{\varvec{X}}_{gbest}^{t - 1} + \left( {{\varvec{u}}^{t} - {\varvec{l}}^{t} } \right)r_{2} } \\ \end{array} } \hfill \\ {{\varvec{X}}_{gbest}^{t-1} } \hfill \\ \end{array} } \right.} \\ \end{array} } & {\begin{array}{*{20}l} {, {\text{if}}\,\,\,f\left( {{\varvec{X}}_{cg}^{t - 1} } \right) < f\left( {{\varvec{X}}_{gbest}^{t - 1} } \right)} \hfill \\ {, {\text{otherwise}}} \hfill \\ \end{array} } \\ \end{array} } \hfill \\ \end{array} } \right.$$
(1)

where \(t \in \left( {1,2 \ldots t_{\mathrm{max}} } \right)\) and \(i \in \left( {1,2 \ldots n} \right)\). \(\beta\) is usually set to 0.5 to have an equal distribution across elements. Both \(\xi^{t}\) and \(\xi^{t - 1}\) can be set to 0.5, and hence \(\sum \xi = \xi_{t} + \xi_{t - 1} = 1\). The upper bound \({\varvec{u}}^{t}\) and lower bound \({\varvec{l}}^{t}\) at \(t^{{{\text{th}}}}\) iteration can be updated as follows:

$$\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\varvec{l}}_{k}^{t + 1} = } & {\left\{ {\begin{array}{*{20}l} {{\text{min}}\left( {{\varvec{X}}_{i = 1 \to n,k}^{t + 1} } \right) } \hfill \\ {{\varvec{l}}_{k}^{t} + \left| {\Delta {\varvec{X}}_{{{\text{min}},{\varvec{l}}}} } \right|} \hfill \\ \end{array} } \right.} \\ \end{array} } & {\begin{array}{*{20}l} {,{\text{ if}} \,\,{\text{min}}\left( {{\varvec{X}}_{i = 1 \to n,k}^{t + 1} } \right) < {\varvec{l}}_{k}^{t} } \hfill \\ {,{\text{ otherwise}}} \hfill \\ \end{array} } \\ \end{array}$$
(2)
$$\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\varvec{u}}_{k}^{t + 1} = } & {\left\{ {\begin{array}{*{20}l} {\begin{array}{*{20}c} {{\text{max}}\left( {{\varvec{X}}_{i = 1 \to n,k}^{t + 1} } \right)} \\ \end{array} } \hfill \\ {{\varvec{u}}_{k}^{t} - \left| {\Delta {\varvec{X}}_{{{\text{max}},{\varvec{u}}}} } \right|} \hfill \\ \end{array} } \right.} \\ \end{array} } & {\begin{array}{*{20}l} {,{\text{ if}} \,\,{\text{max}}\left( {{\varvec{X}}_{i = 1 \to n,k}^{t + 1} } \right) > {\varvec{u}}_{k}^{t} } \hfill \\ {,{\text{ otherwise}}} \hfill \\ \end{array} } \\ \end{array}$$
(3)

where k ∈ (1, 2… N), \(\Delta {\varvec{X}}_{{{\text{min}},{\varvec{l}}}} = \mathop {{\text{argmin}}}\limits_{{\varvec{X}}} f\left( {{\varvec{X}}_{i = 1 \to n}^{t + 1} } \right){ } - {\varvec{l}}^{t}\), and \(\Delta {\varvec{X}}_{{{\text{max}},{\varvec{u}}}} = \mathop {{\text{argmax}}}\limits_{{\varvec{X}}} f\left( {{\varvec{X}}_{i = 1 \to n}^{t + 1} } \right) - {\varvec{u}}^{t}\).

The scouting range is calculated from a feasible range \(\left[ {{\varvec{l}}_{k} , {\varvec{u}}_{k} } \right]\) of the search space with normative knowledge. Some transformations have been made to vary the feasible space \(\left[ {{\varvec{l}}_{k} , {\varvec{u}}_{k} } \right]\) to accommodate the enhanced behavioral pattern without changing the notion of normative knowledge, which is conservative when narrowing the search interval and progressive when expanding the search interval [34]. \({\varvec{l}}_{k}\) and \({\varvec{u}}_{k}\) are initialized with initial lower and upper bounds, \({\varvec{l}}_{k}^{t = 0}\) and \({\varvec{u}}_{k}^{t = 0}\) respectively.

Search agents entering this behavior primarily execute Eq. (1). According to the theoretical analysis of mathematical expressions, the \(i\)th search agent is guided by four search directions, two of which are originated from the current location vector (\({\varvec{X}}_{i}^{t}\)) and the remaining two are derived from the location vector in the extended memory (\({\varvec{X}}_{i}^{t - 1}\)). The idea of extended memory was inspired by POEM-FSA, as not to give up any possible better solutions oriented from the previous location vectors. Compared to PSOEM-FSA, NFSA adds two additional search directions in one behavior. The additional search directions greatly enhance the global search capabilities of search agents, as they are now able to search in more diverse directions. This simplifies the difficulty of finding the correct global optimal region.

The normative communication behavior is an enhanced global exploration operation that searches for any possible global optimal region or space. This behavior greatly enhances the characteristics of the original communication behavior amongst agents, enabling a more efficient global search. As the exploratory ability is closely related to the global search capability, it improves the convergence speed of the optimization process in NFSA. There is a reasonable order for more efficient optimization, that is, to emphasize global exploration in the early stage, and shift the focus to local exploitation in the later stage. With this theory, this behavior should be emphasized in the early stages of the iteration, when it can provide the search agents with huge step range for better global exploration capabilities.

2.2 Normative memory behavior

Normative memory behavior has been proposed as an evolutionary memory behavior to promote local exploitation to the next level. The design of this normative memory behavior is exceptionally comparable to the specification of normative communication behavior. The only difference is that normative communication behavior primarily reinforces the global exploration, while normative memory behavior basically fortifies the local exploitation capability. The connection of speed vector has been removed and the inertia weight ω has been erased from the original equation of relevant memory behavior. The reconnaissance is then executed around the current and previous local best solutions, \({\varvec{X}}_{lbest}^{t}\) and \({\varvec{X}}_{lbest}^{t-1}\) to discover complementary criteria, \({\varvec{X}}_{cl}^{t}\) and \({\varvec{X}}_{cl}^{t - 1}\) for more accurate pathways while enhancing local search capability. The normative memory behavior is expressed as follows:

$$\left\{\begin{array}{l}\begin{array}{ll}{{\varvec{X}}}_{i}^{t+1}=& {{\varvec{X}}}_{i}^{t}+\left[\begin{array}{c}\left(\frac{\left({{{\varvec{X}}}_{i,cl}^{t}-{\varvec{X}}}_{i}^{t}\right){\xi }^{t}+\left({{{\varvec{X}}}_{i,cl}^{t-1}-{\varvec{X}}}_{i}^{t-1}\right){\xi }^{t-1}}{\left|\left({{{\varvec{X}}}_{i,cl}^{t}-{\varvec{X}}}_{i}^{t}\right){\xi }^{t}+\left({{{\varvec{X}}}_{i,cl}^{t-1}-{\varvec{X}}}_{i}^{t-1}\right){\xi }^{t-1}\right|}\right)\beta \\ +\left(\frac{\left({{{\varvec{X}}}_{i,lbest}^{t}-{\varvec{X}}}_{i}^{t}\right){\xi }^{t}+\left({{{\varvec{X}}}_{i,lbest}^{t-1}-{\varvec{X}}}_{i}^{t-1}\right){\xi }^{t-1}}{\left|\left({{{\varvec{X}}}_{i,lbest}^{t}-{\varvec{X}}}_{i}^{t}\right){\xi }^{t}+\left({{{\varvec{X}}}_{i,lbest}^{t-1}-{\varvec{X}}}_{i}^{t-1}\right){\xi }^{t-1}\right|}\right)\left(1-\beta \right)\end{array}\right]\,{R}_{2}step\end{array}\\ \begin{array}{cc}\begin{array}{cc}{{\varvec{X}}}_{i,cl}^{t}=& \left\{\begin{array}{l}\begin{array}{c}{{\varvec{X}}}_{i,lbest}^{t}+\left({{\varvec{u}}}^{t}-{{\varvec{l}}}^{t}\right){r}_{3}\end{array}\\ {{\varvec{X}}}_{i,lbest}^{t}\end{array}\right.\end{array}& \begin{array}{l},\mathrm{ if}\quad f({{\varvec{X}}}_{i,cl}^{t})<f({{\varvec{X}}}_{i,lbest}^{t})\\ ,\mathrm{ otherwise}\end{array}\end{array}\\ \begin{array}{cc}\begin{array}{cc}{{\varvec{X}}}_{i,cl}^{t-1}=& \left\{\begin{array}{l}\begin{array}{c}{{\varvec{X}}}_{i,lbest}^{t-1}+\left({{\varvec{u}}}^{t}-{{\varvec{l}}}^{t}\right){r}_{4}\end{array}\\ {{\varvec{X}}}_{i,lbest}^{t-1}\end{array}\right.\end{array}& \begin{array}{l}, \mathrm{if}\quad f({{\varvec{X}}}_{i,cl}^{t-1})<f({{\varvec{X}}}_{i,lbest}^{t-1})\\,\mathrm{ otherwise}\end{array}\end{array}\end{array}\right.$$
(4)

The parameters \({{\varvec{u}}}^{t}\) and \({{\varvec{l}}}^{t}\) are updated based on Eqs. (2) and (3), respectively.

Search agents entering this behavior primarily execute Eq. (4). According to the theoretical analysis of mathematical expressions, the \({i}^{\mathrm{th}}\) search agent is also guided by four search directions, two of which are originated from the current location vector (\({{\varvec{X}}}_{i}^{t}\)) and the remaining two are derived from the location vector in the extended memory (\({{\varvec{X}}}_{i}^{t-1}\)). So far, everything is similar to normative communication behavior, except for the target points of the search directions. In theory, Eq. (4) unequally refines the search capability of each agent, as it exploits distinctive local best solution, which is owned only by that particular agent and not shared with other agents. This is considered a more independent approach to increase the flexibility of proxy search.

Normative memory behavior is an enhanced local exploitation operation that conducts a detailed investigation within the global optimal region or space to trace the true global optimal solution. This behavior enhances the features of the original memory behavior to perform efficient local search. It improves the global optimum achievement of NFSA due to the efficient local search that is able to smooth out the exploitation process. As mentioned earlier, there is a reasonable order for more efficient optimization, that is, to emphasize global exploration in the early stage, and shift the focus on local exploitation in the later stage. With this theory, the behavior should be emphasized in the later stages of the iteration, when NFSA can provide the search agents with small step for better local exploitation capabilities.

2.3 Adaptive parameters

Most of the time, incompatibility between the adaptive parameters and the search strategy is the cause for defect. NFSA transforms and modifies adaptive parameters to ensure they are compatible with NFSA's behavioral searches. It descends the visual and step parameters at a slower rate to ensure that the global search can catch up with the rate of descent. The decrement of the parameters is calculated as follows:

$$\left\{\begin{array}{l}\begin{array}{cc}{visual}^{t+1}=& {visual}^{t}-{visual}^{t}\lambda +{visual}_{\mathrm{min}}\end{array}\\ \begin{array}{cc}{step}^{t+1}=& {step}^{t}-{step}^{t}\lambda +{step}_{\mathrm{min}}\end{array}\\ \begin{array}{cc}\lambda =& \mathrm{exp}\left(-\frac{\sigma }{\sqrt[4]{{\left({t}_{max}\right)}^{3}}}\left({t}_{max}-t\right)\right)\end{array}\end{array}\right.$$
(5)

The graph in Fig. 1 is plotted based on Eq. (5) with \({t}_{\mathrm{max}}=500\). This figure helps to verify the structural deviations of the adaptive parameters. The initial visual and step are set to 100, and visualmin and stepmin are fixed to 1. Allowable \(\sigma\) value ranges from 0.5 to 1. Values of \(\sigma\) less than 0.5 or greater than 1 will cause the descent curve to lose its desired shape. The closer the \(\sigma\) value is to the minimum value of 0.5, the faster the rate of decline. The rapid decline of visual and step parameters is in pursuit of fast convergence, but most of the time, the search strategy seems unable to keep-up with them. Eventually, overall performance in terms of global optimum achievement and convergence speed deteriorate. After pre-testing, the ideal σ value is 0.8 to have a slower rate of descent without reducing the rate of convergence. In Fig. 1, the value of σ is also set to 0.8.

Fig. 1
figure 1

Adaptive visual and step parameters against the iterative number t, when \({t}_{\mathrm{max}}=500\)

The local exploitation ability is significantly improved in later iterations, when the values of visual and step parameters become considerably small. Understandably, the visual and step parameters drop at a slower rate without any rapidly dropping values. These modified adaptive parameters pursue stable and robust processing rates rather than rapid drops in parameters. Hence, it requires more iterations to perform a proper global search. In Fig. 1, visual and step values gradually decrease and eventually fall to visualmin and stepmin values, respectively, at the end of the iteration. It can therefore be inferred that visualmin and stepmin are responsible for constraining the visual and step parameters to prevent them from decreasing close to zero. This is also to prevent the agent from losing the flexibility to conduct any pre-local investigation due to inability to perform any critical movement. However, fixing the values of visualmin and stepmin does not contribute to incremental optimization. Local exploitation ability may be constrained by the visualmin and stepmin parameters which do not change later in the iteration. Assuming large values of visualmin and stepmin are used, the precision of native measurements is greatly suppressed. Conversely, if visualmin and stepmin are set to insignificant values, more iterations are required to precisely reach the true optimum. To benefit from both global and local search, NFSA proposes a novel visualmin and stepmin adaptation method, by descending them in a specified degree under certain prerequisite, when the global best solution remains unchanged and is not updated after \({t}_{\mathrm{limit}}\) count. The declination of the visualmin and stepmin parameters are designed to assign smaller visual and step sizes for the next iteration, improving the local search efficiency. The visualmin and stepmin utilize the following expressions:

$$\left\{\begin{array}{l}\begin{array}{cc}{visual}_{\mathrm{min}}^{t+1}=& \frac{{visual}_{\mathrm{min}}^{t}}{0.5\times \sqrt[3]{{t}_{\mathrm{max}}}}\end{array}\\ \begin{array}{cc}{step}_{\mathrm{min}}^{t+1}=& \frac{{step}_{\mathrm{min}}^{t}}{\sqrt[3]{{t}_{\mathrm{max}}}}\end{array}\end{array}\right.$$
(6)

In theory, each search agent must always be provided with the desired parameters at the appropriate stage to perform the most efficient operation. Obviously, a fixed value cannot be the desired parameter of the search agent throughout the iteration. By utilizing Eqs. (5) and (6) to descend the visual, step, visualmin and stepmin across iterations, NFSA ensures that each search agent can always be assigned a smaller visual and step in upcoming iterations. This further stabilizes the transition from global exploration to local exploitation.

3 Proposed mNFSA

This research work conducts an in-depth analysis of the utility of modern evolutionary techniques in MPPT applications via a comprehensive understanding of the NFSA methodology. As a result, modified Normative Fish Swarm Algorithm (mNFSA) is proposed. Transformations and modifications made to the original NFSA are:

  1. (i)

    Remove unnecessary features that are unlikely to benefit to MPPT application, such as follow behavior, swarm behavior and prey behavior.

  2. (ii)

    Formulate modified behaviors that regulate normative communication and normative memory strategies.

  3. (iii)

    Refine the adaptive step parameter to provide agents with appropriate step size to better solve the specific MPPT problems. Note that the visual parameter is no longer used, as the relevant behaviors (i.e., follow behavior and swarm behavior) are removed from the algorithm.

  4. (iv)

    Implement MPPT architecture into mNFSA. Upon implementing the MPPT architecture, mNFAS adjusts the duty cycle D according to the change of input power \({P}_{pv}\) [38] via a direct control method [39], where \({P}_{pv}\) is obtained by the product of photovoltaic voltage \({V}_{pv}\) and photovoltaic current \({I}_{pv}\). In general, mNFSA takes voltage \({V}_{pv}\) and current \({I}_{pv}\) as inputs and the duty cycle D as an output. The superiority of one's duty cycle D relative to other depends on the magnitude of input terminal power \({P}_{pv}\) [40]. This brings up the fact that D denotes the updated solution output from mNFSA, and \({P}_{pv}\) denotes the objective function value of D. In other words, \({P}_{pv}=f(D)\), where \({P}_{pv}\) determines the performance of mNFSA in MPPT. During the MPP tracking process, mNFAS utilizes simply one control loop to straightforwardly adjust the duty cycle D [41] until maximum \({P}_{pv}\) is achieved.

The following subsections explain the modified behavioral architectures, refined adaptive parameters, complete mechanism, and parameter settings of mNFSA in MPPT simulations.

3.1 Modified normative communication behavior

To be perfectly utilized in the MPPT approach, the original operation of normative communication behavior must be modified. The modification is mainly for several goals: simplify the execution of the behavioral architecture, refine the agent's global search capabilities to speed up the convergence in the case of one-dimensional optimization, and diversify the global search space for better exploration in the MPPT method. Hence, the modified normative communication behavior is expected to enhance the effectiveness of global search in mNFSA. The improved behavioral pattern can be expressed as follows:

$${{D}_{i}^{t+1}}_{comm}={D}_{i}^{t}+\left[\begin{array}{c}\left(\frac{\left({D}_{gbest}^{t}+\left({{\varvec{l}}}^{t}-{{\varvec{u}}}^{t}\right){r}_{1}-{D}_{i}^{t}\right){\xi }^{t}+\left({D}_{gbest}^{t-1}+\left({{\varvec{l}}}^{t}-{{\varvec{u}}}^{t}\right){r}_{2}-{D}_{i}^{t-1}\right){\xi }^{t-1}}{\left|\left({D}_{gbest}^{t}+\left({{\varvec{l}}}^{t}-{{\varvec{u}}}^{t}\right){r}_{1}-{D}_{i}^{t}\right){\xi }^{t}+\left({D}_{gbest}^{t-1}+\left({{\varvec{l}}}^{t}-{{\varvec{u}}}^{t}\right){r}_{2}-{D}_{i}^{t-1}\right){\xi }^{t-1}\right|}\right)\beta \\ +\left(\frac{\left({D}_{gbest}^{t}-{D}_{i}^{t}\right){\xi }^{t}+\left({D}_{gbest}^{t-1}-{D}_{i}^{t-1}\right){\xi }^{t-1}}{\left|\left({D}_{gbest}^{t}-{D}_{i}^{t}\right){\xi }^{t}+\left({D}_{gbest}^{t-1}-{D}_{i}^{t-1}\right){\xi }^{t-1}\right|}\right)\left(1-\beta \right)\end{array}\right]\, {R}_{1}step$$
(7)

where D represents the scalar target point in terms of duty cycle, replacing the solution \({\varvec{X}}\) in the equation. Note that \({D}_{gbest}\) denotes the global best point, which can be defined as the best solution among all the points that the population have visited so far. Whenever a better solution is found at the end of each iteration loop, the global best point can be replaced with that solution. mNFSA significantly modifies the adaptation of variable lower and upper bounds. \({{\varvec{l}}}^{t}\) and \({{\varvec{u}}}^{t}\) are updated as follows:

$$\begin{array}{cc}\begin{array}{cc}{{\varvec{l}}}^{t+1}=& \left\{\begin{array}{l}{D}_{best}^{t+1}\\ \mathrm{min}\left({D}_{i=1\to n}^{t+1}\right)\\ {{\varvec{l}}}^{t}\end{array}\right.\end{array}& \begin{array}{l}, f({D}_{best}^{t+1})<f\left({{\varvec{l}}}^{t}\right)\\,\mathrm{ min}\left({D}_{i=1\to n}^{t+1}\right)<{{\varvec{l}}}^{t}\\, \mathrm{otherwise}\end{array}\end{array}$$
(8)
$$\begin{array}{cc}\begin{array}{cc}{{\varvec{u}}}^{t+1}=& \left\{\begin{array}{l}{D}_{best}^{t+1}\\ \mathrm{max}\left({D}_{i=1\to n}^{t+1}\right)\\ {{\varvec{u}}}^{t}\end{array}\right.\end{array}& \begin{array}{l}, f({D}_{best}^{t+1})<f\left({{\varvec{u}}}^{t}\right)\\,\mathrm{ max}\left({D}_{i=1\to n}^{t+1}\right)>{{\varvec{u}}}^{t}\\, \mathrm{otherwise}\end{array}\end{array}$$
(9)

where \({D}_{best}^{t+1}\) is the best performing solution among population or agents.

Equation (7) preserves the concept of extended memory. Compared with the original operation, the execution of this modified behavior becomes more straightforward and diversified, as it removes the conditional selection of complementary guidelines and turns them into direct integration. This shortens the execution time of each simulation, which is beneficial to the process of MPPT, as the extended execution duration does not conform to the demands of rapid convergence and efficient optimization in PV application systems. As the target point of the duty cycle D is specified for one-dimensional solution, an in-depth adaptation is expected to bring more benefits. Hence, the main improvements and modifications fall on the adaptation concept of \({{\varvec{l}}}^{t}\) and \({{\varvec{u}}}^{t}\). Equations (8) and (9) are formulated as three-step conditional equations to yield more selective boundary changes. From a mathematical perspective, they can boldly extend the range of \(\left[{\varvec{l}},{\varvec{u}}\right]\) by shifting the bounds reasonably under appropriate conditions. This provides a more flexible global search space for all agents to get rid of the local optima in specified MPPT problems. This strategy is necessary because complex MPPT problems always belong to the type with multiple local optima, which greatly hinders the optimization process.

3.2 Modified normative memory behavior

Note that mNFSA still retains the concept of extended memory. The modifications are mainly aimed at achieving several goals: simplify the execution of the behavioral architecture, refine the agent's local search capabilities to precisely track the global optimal solution in the case of one-dimensional optimization, and stabilize the local search space for better exploitation in the MPPT method. The improved behavioral pattern is:

$${{D}_{i}^{t+1}}_{memo}={D}_{i}^{t}+\left[\begin{array}{c}\left(\frac{\left({D}_{i,lbest}^{t}+\left({{\varvec{l}}}^{t}-{{\varvec{u}}}^{t}\right){r}_{3}-{D}_{i}^{t}\right){\xi }^{t}+\left({D}_{i,lbest}^{t-1}+\left({{\varvec{l}}}^{t}-{{\varvec{u}}}^{t}\right){r}_{4}-{D}_{i}^{t-1}\right){\xi }^{t-1}}{\left|\left({D}_{i,lbest}^{t}+\left({{\varvec{l}}}^{t}-{{\varvec{u}}}^{t}\right){r}_{3}-{D}_{i}^{t}\right){\xi }^{t}+\left({D}_{i,lbest}^{t-1}+\left({{\varvec{l}}}^{t}-{{\varvec{u}}}^{t}\right){r}_{4}-{D}_{i}^{t-1}\right){\xi }^{t-1}\right|}\right)\beta \\ +\left(\frac{\left({D}_{i,lbest}^{t}-{D}_{i}^{t}\right){\xi }^{t}+\left({D}_{i,lbest}^{t-1}-{D}_{i}^{t-1}\right){\xi }^{t-1}}{\left|\left({D}_{i,lbest}^{t}-{D}_{i}^{t}\right){\xi }^{t}+\left({D}_{i,lbest}^{t-1}-{D}_{i}^{t-1}\right){\xi }^{t-1}\right|}\right)\left(1-\beta \right)\end{array}\right]{R}_{2}step$$
(10)

where \({D}_{i,lbest}\) is represented as the local best point of \({i}\)th agent. Note that the local best point of \({i}\)th agent can also be defined as the best solution among all the positions that the \({i}\)th agent has visited so far throughout the iterations. If a better solution is found by the \({i}\)th agent at the end of each population loop, the \({i}\)th agent will replace the local best point. The \({{\varvec{l}}}^{t}\) and \({{\varvec{u}}}^{t}\) are adapted using Eqs. (8) and (9), respectively.

Equation (10) also preserves the concept of extended memory. The modified normative memory behavior becomes rather directional. It reduces the offset of the supplementary guidelines (target points) to refine the local search capability of the agents. Since the execution mode of this modified behavior is simplified, the execution time is greatly shortened, and thus, the MPPT execution is accelerated. The three-step conditional expressions in Eqs. (8) and (9) can also yield more detailed boundary changes. From mathematical perspective, they can fine-tune the range of \(\left[{\varvec{l}},{\varvec{u}}\right]\) rationally under appropriate conditions. As another part of achievement, the modified adaptations of \({{\varvec{l}}}^{t}\) and \({{\varvec{u}}}^{t}\) enhance the local exploitation of mNFSA by ideally narrowing the range of \(\left[{\varvec{l}},{\varvec{u}}\right]\) at the later stage of the iteration, thereby improving the ability to find the true optimal solution. This strategy is conducive to enhance the global best achievement during the optimization process.

3.3 Refined adaptive parameter

In mNFSA, parameter step determines the step range of agents. Theoretically, if step is given a colossal value, it is conducive to global exploration, i.e., the agents can approach the global optimal region faster to get rid of the local optima [42]. On the contrary, smaller value of step is beneficial to local exploitation, as agents will be more capable of performing enhanced investigation to track the true optimal solution. To exactly balance the contradiction between the global exploration and local exploitation, step size cannot be given a fixed parameter value. It must gradually descend at an appropriate pace. As mNFSA is primarily formulated to solve the MPPT problems, the step size must correspond to the transition from global search to local search according to the duty cycle requirements. Therefore, the adaptation of the step size is refined in terms of the descend rate. In this proposed algorithm, the modified adaptation of step is as follows:

$$\left\{\begin{array}{cc}{\mathrm{step}}^{t+1}=& {step}^{t}\left(1-\mathrm{exp}\left(-\frac{0.9\left({t}_{{\mathrm{max}}}-t\right)}{{\left({t}_{{\mathrm{max}}}\right)}^{0.9}}\right)\right)+{step}_{{\mathrm{min}}}\\ {\mathrm{step}}_{\mathrm{min}}=& \left\{\begin{array}{cc}\frac{{step}_{\mathrm{min}}}{\sqrt{{t}_{\mathrm{max}}} }& , {t}_{\mathrm{count}}>{t}_{\mathrm{limit}}\\ {step}_{\mathrm{min}}& , {t}_{\mathrm{count}}\le {t}_{\mathrm{limit}}\end{array}\right.\end{array}\right.$$
(11)

where \({t}_{\mathrm{count}}\) represents an iterative counter when the global best point has not been updated during the running of the algorithm.

By having a refined descending rate, the agents in execution can move within a more satisfactory range at the appropriate stage of iteration. In general, the step size is now reduced at a faster rate than original to speed up the transition from global search to local search, which is expected to smoothen the optimization of mNFSA in MPPT. Note that the descending rate of stepmin in Eq. (11) is also increased to accommodate mNFSA, as mNFAS is now more functional than its original version, which can tolerate higher parameter decrements for better optimization efficiency. These strategies speed up the convergence because the search agents are given a rapidly decreasing step size parameter during searching, and the smaller stepmin size also facilitates detailed local search, which can strengthen the realization of the global optimum.

3.4 Complete mechanism

Figure 2 illustrates the entire process of mNFSA optimization in MPPT for PV application system. mNFSA is considered as an evolutionarily improved meta-heuristic bio-inspired algorithm. Basically, it employs two behaviors: modified normative communication behavior and modified normative memory behavior. From the theoretical analysis of mathematical expressions, Eqs. (7) and (10) look similar in terms of formulations. The only difference is the target point that the agents head to. As the search agent executing Eq. (7) refers to the global best solution during navigation, we confirm that the modified normative communication behavior plays the role as an enhanced global exploration operation for one-dimensional optimization. Conversely, the search agent executing Eq. (10) refers to its own local best solution during navigation, leading to the following implications: the modified normative memory behavior serves as an enhanced local exploitation operation. In theory, a reasonable sequence for more efficient optimization is to emphasize global exploration early in the iteration and shift the focus to local exploitation later in the iteration. However, in mNFSA, the search agents will execute both behaviors (i.e., Eqs. (7) and (10)) simultaneously without passing through any selection and decision coefficients. This may prevent the execution time of the algorithm from being prolonged due to excessive patterns of selection, but the weakness is that it takes double the time to compute the objective function value. Since the displacement distance of the agent is varied indirectly through randomized step size, it brings to a more flexible change of pace, which is very beneficial for irregular optimization. Additionally, agents can share and update the same information on bulletin board, even though they are largely independent of each other. The interaction amongst the entire population is believed to yield better performance, as they can share the benefits through information exchange during each iterative update of the global best solution.

Fig. 2
figure 2

Flow chart of mNFSA during simulation of MPPT

3.5 Parameter settings of mNFSA

The parameter settings of mNFSA are summarized in Table 2.

Table 2 Parameter settings for mNFSA

Note that these parameter settings are primarily intended to address the specified PV problem we designed for the simulation. However, these values are still reasonably applicable to other simulation cases as it meets the basic requirements of MPPT.

4 Modeling and simulation

In this research work, MATLAB − SIMULINK R2021a was used for the simulation work involving programming, coding, modeling and simulation [43]. MATLAB − SIMULINK is best for simulating this application due to the following reasons:

  1. (i)

    An integrated graphical block diagram editor can be used, and a custom block library can be created to facilitate modeling.

  2. (ii)

    The latest MPPT solutions from other researchers are typically coded using the MATLAB programming language. It helps for the ease of referring.

  3. (iii)

    A complete PV circuit created in Simulink models can be connected to a function model encoded with the MPPT solution.

  4. (iv)

    MATLAB R2015 or higher versions are strongly recommended, because ready-to-use PV array block can be found from the Simulink block library.

  5. (v)

    Graphical data can be easily collected in MATLAB and saved in Excel files.

The following subsections describe the modeling and simulations.

4.1 PV array

PV array model is available from the SIMULINK block library. Figure 3 depicts its block diagram. This PV array model has two input ports: "Ir" should be inserted with irradiance level ranging from 0 to 1000 W/m2, and "T" should be inserted with ambient temperature in °C unit. Additionally, the PV array model has three output ports: "m", " + " and "-". The " + " and "-" ports represent the positive and negative output power terminals of the PV array, respectively. The "m" port is used for measurements, returning a five-element vector to the user, which can leave there unconnected.

Fig. 3
figure 3

PV array model in SIMULINK

It is necessary to know how to setup the parameters within a PV array block, or more specifically within the PV modules. In general, a PV array consists of multiple PV modules, but in special cases, a PV array can be regarded as a PV module when each PV array is given the data as shown in Fig. 4. For each module, users need to setup five primary parameters: \({V}_{oc}\), \({I}_{sc}\), \(V_{mp}\), \(I_{mp}\) and \(N_{cell}\), which can significantly affect the P–V and I-V characteristics of the PV array. \(V_{oc}\) is the open circuit voltage, \(I_{sc}\) is the short circuit current, \(V_{mp}\) is the voltage at maximum power point, \(I_{mp}\) is the current at maximum power point, and \(N_{cell}\) is the number of cells per module. In SIMULINK, these parameters are user definable. Figure 5 also displays the parameter settings for each specified module, which are assigned to every PV array for upcoming modeling and simulation.

Fig. 4
figure 4

Array data in PV array model

Fig. 5
figure 5

Module data in PV array model

4.2 PV panel

In SIMULINK, 10 PV arrays were connected in series (as shown in Fig. 6), and each array was irradiated with 1000, 900, 800, 700, 600, 500, 400, 300, 200 and 100 W/m2, respectively at a nominal temperature of 25 °C (as shown in Table 3). Upon inspection, bypass diodes were connected in parallel with each PV array. The internal resistance of all bypass diodes was set to be negligible to minimize power loss. A series of fully connected PV arrays are therefore referred to as a PV panel to be employed in upcoming experimental operations.

Fig. 6
figure 6

PV panel with 10 series-connected PV arrays in SIMULINK

Table 3 Parameter settings of solar radiation and ambient temperature

A PV panel designed as shown in Fig. 6 was short-circuited with the charging power source to collect data on photovoltaic current \(I_{PV}\), photovoltaic voltage \(V_{PV}\), and photovoltaic power \(P_{PV}\). Using the collected data, P–V curve and I-V curve can be plotted for further interpretation. Figure 7 shows the experimental P–V curve, and Fig. 8 shows the experimental I-V curve. Considering 10 different irradiance levels in the arrays, the P–V curve depicts a total of 10 peaks. A full irradiated PV array receives 1000 W/m2 solar intensity, while a non-irradiated PV array receives 0 W/m2 solar intensity. Irradiance levels below 1000 W/m2 simulate shading phenomena, where the PV array is somehow shaded by external causes. Shaded PV array cannot draw as much current as unshaded PV array, and increasing the shading percentage worsens current extraction. From the theoretical analysis, the 10th peak of the P–V curve is generated without current bypassing any diodes, when the current is less than or equal to 0.389A. The 9th peak occurs when less than 0.778A of current bypasses the 10th diode (i.e., the 10th diode is forward biased). The 8th peak occurs when less than 1.167A of current bypasses the 9th and 10th diodes (i.e., the 9th and 10th diodes are forward biased). It continuously allows more current to bypass more diodes until the 1st peak is generated in the P–V characteristic curve [44]. All interpretations and explanations about the shape of the P–V characteristic curve in Fig. 7 are theoretically supported by the I-V characteristic curve in Fig. 8. It can hence be noticed from Fig. 7, that the highest amount of power that the PV panel can extract is 206.7831 W. It is called the Maximum Power Point (MPP) that serves as a global optimum during the mathematical optimization process. From a mathematical optimization point of view, MPP (i.e., 206.7831 W) is the only global optimum, and the remaining peaks are local maxima that occasionally hinder the MPPT process. Obviously, the P–V curve generated by the PV panel is a non-convex multi-modal optimization MPPT problem. The proposed mNFSA is expected to solve this optimization (MPPT) problem by tracking its MPP during a simulation.

Fig. 7
figure 7

P–V characteristic curve of PV panel under partial shading condition

Fig. 8
figure 8

I-V characteristic curve of PV panel under partial shading condition

4.3 PV model system

Next, the simulated PV system was modeled to control the power extraction from the PV panel. The complete PV model system built in SIMULINK is shown in Fig. 9. The optimization algorithm to be tested (i.e., mNFSA) is placed between the output power terminals of the PV panel and the Pulse Width Modulation (PWM) generator. Theoretically, mNFSA inputs the photovoltaic power \(P_{PV}\) extracted from the PV panel and executes relevant optimization operations with reference to the received power value. The duty cycle D is the solution output of mNFSA, which is updated as the location vector of the search agent is updated. This brings up the fact that D denotes the updated solution (target point) output from mNFSA, and \(P_{pv}\) denotes the objective fitness value of D (i.e., objective function \(f = P_{pv} \left( D \right)\)), which determines the performance of mNFSA in MPPT. The output duty cycle D is then inserted into the PWM generator to generate a digital pulse signal P based on the ratio value provided by D. As such, D, which ranges from 0 to 1, determines the consecutive ON time for a given period in signal P. Figure 10 illustrates the shape of the graphical digital pulse P at \(D = 0.5\), \(D = 0.75\) and \(D = 0.25\). Note that at \(D = 0\), the resulting pulse signal P will remain completely OFF.

Fig. 9
figure 9

PV model system in SIMULINK

Fig. 10
figure 10

Digital pulse signals generated in different scenarios

Figure 9 illustrates the detailed layout of each component. The following electronic components: metal–oxide–semiconductor field-effect transistor (MOSFET), filter capacitor C1, DC bus capacitor C2, boost inductor L and load R can be grouped up to form a DC-DC buck converter. The interior components are given the following parameters: \(C1 = 82 \mu F\), \(C2 = 47 \mu F\), \(L = 6.6 \;{\text{mH}}\) and \(R = 90 \Omega\). The DC-DC buck converter is diametrically connected to the PV panel and serves as a central component for eliciting power from the connected PV panel, or more specifically, the internal MOSFET is the component that behaves to control the amount of power extraction while interrogating the incoming digital pulse signal generated by the PWM generator. It allows current bypass whenever the MOSFET keeps the switch ON. Hence, it can be inferred that mNFSA adjusts the duty cycle D during operation to find the best solution for maximizing power from the PV panel [38]. In generally, a qualified PV system is supposed to comply with the following regulations:

  1. (i)

    The duty cycle D only vary within 0 and 1. For each interval of a period, D contributes the proportion of ON to OFF for digital pulse signal P (refer to Fig. 10).

  2. (ii)

    Digital modulating pulse P is inserted into the ‘gate’. MOSFET is switched ON whenever the incoming pulse contributes an ON signal at the given period.

  3. (iii)

    P regulates the timing of the current bypassed through the MOSFET, thereby adjusting the amount of current sent to the load R. Hence, the load current IR is less than photovoltaic current \(I_{pv}\) extracted from the PV panel (\(I_{R} < I_{PV}\)).

  4. (iv)

    The extracted photovoltaic power \(P_{PV}\) should be approximately equal to the load power \(P_{R}\) during simulation.

  5. (v)

    Due to the facts that \(I_{R} < I_{PV}\) and \(P_{PV} \approx P_{R}\), the load voltage \(V_{R}\) should be greater than the extracted photovoltaic voltage \(V_{PV}\) (\(V_{R} > V_{PV}\)).

4.4 Simulation method

Simulations were performed entirely using MATLAB − SIMULINK R2021a. All electronic components are directly available from the SIMULINK block library, only optimization algorithm needs to be coded into a MATLAB function block. At runtime, SIMULINK can access MATLAB function script to facilitate the simulation process. For clarity, the SIMULINK model settings are shown in Table 4.

Table 4 Model settings for SIMULINK model

The mNFSA coded in a MATLAB function block adopts the parameter settings mentioned in Subsection 3.5. It controls the duty cycle D to generate a digital modulating pulse P, which is sent to a DC-DC bulk converter for adjusting the amount of power extraction over time. For a clearer image, readers can refer to the connection of the model in Fig. 9 to facilitate understanding of the simulation. All valuable data including D, \(I_{PV}\), \(V_{PV}\), \(P_{PV}\), \(I_{R}\), \(V_{R}\) and \(P_{R}\) can be collected in scope blocks for feasibility verification. The simulated PV model not only needs to be able to extract the highest \(P_{PV}\) from the PV panel, but also needs to stabilize the maximum available power \(P_{max}\) for the users. Note that \(P_{max}\) is collected from load R, which means \(P_{max} = P_{R}\) when \(t > t_{{{\text{max}}}}\). The primary goal of the proposed mNFSA is now to achieve a maximum power \(P_{max}\) that is ideally close to or equal to the MPP value. Hence, the evaluation metric of the optimization algorithm is given as:

$$Relative \;Error = \frac{{MPP - P_{max} }}{MPP} \times 100\%$$
(12)

where MPP is equal to 206.7831 W (refer to Fig. 7). The closer \(P_{max}\) is to MPP, the better the performance of the PV system and the smaller the relative error [45]. A lower relative percentage confirms the ability of the test algorithm to achieve higher power supply for the users.

To assess the performance of the proposed algorithm, mNFSA must be compared with other algorithms of different types. A number of optimization algorithms, Reptile Search Algorithm (RSA) [46], Arithmetic Optimization Algorithm (AOA) [47], Aquila Optimizer (AO) [48], Equilibrium Optimizer (EO) [49], Seagull Optimization Algorithm (SOA) [50], and Comprehensive Improved Artificial Fish Swarm Algorithm (CIAFSA) [11] are used for comparative purpose. RSA, AOA, AO, EO and SOA are standard novel optimization algorithms, while CIAFSA is a hybrid and modified algorithm. These very well cover bio-inspired, physics-based, evolutionary and hybrid types of algorithms. For an equitable comparison, all comparative algorithms were simulated using the same problem definition, where \(n = 5\), \(t_{\mathrm{max}} = 10\), \(\left[ {{\varvec{l}},{\varvec{u}}} \right] = \left[ {0,1} \right]\) and \(dim = 1\). All of these were certainly simulated with the same PV model, simply replacing the MATLAB function block of mNFSA with the corresponding algorithms (refer to Fig. 9). A total of 10 simulations were run for each algorithm to collect 10 sets of data for consistent examination. Statistical tests were conducted in comparison of results with other published algorithms, mainly in terms of best, mean and standard deviation. The best result tests the available global best value, the mean tests the accuracy of the algorithm, and the standard deviation tests the precision and robustness of the algorithm.

5 Results and discussion

The evaluation was carried out from two aspects: (1) the feasibility verification of the PV model system via mNFSA and (2) the performance evaluation of mNFSA in maximizing the power extraction in the modeled PV system, as compared to other optimization algorithms using the same settings and model.

5.1 Feasibility verification of PV modeling

Data including D, \(I_{PV}\), \(V_{PV}\), \(P_{PV}\), \(I_{R}\), \(V_{R}\) and \(P_{R}\) were collected in scope blocks for feasibility verification. Figures 11a to g display the graphical diversion of duty cycle D, photovoltaic current \(I_{PV}\), photovoltaic voltage \(V_{PV}\), photovoltaic power \(P_{PV}\), load current \(I_{R}\), load voltage \(V_{R}\), and load power \(P_{R}\) during the simulation with mNFSA. From observation, when \({\text{step time}} \ge 4.3{\text{s}}\), the iterative process is terminated, and these variables are optimized. In order to prove the feasibility of PV modeling, all the prerequisites mentioned earlier must be met.

Fig. 11
figure 11

Graph of specified variable data collected during a simulation

The duty cycle D is only allowed to vary within 0 and 1. Figure 11a shows that D does not exceed any fixed boundary. The oscillations of the D graph are decreasing, indicating that mNFSA has a potential to converge during the simulation.

According to the description in Sect. 4.3, the load current \(I_{R}\) should be less than the PV current \(I_{PV}\) extracted from the PV panel (\(I_{R} < I_{PV}\)). \(I_{PV}\) is initialized by drawing the maximum current (≈ short-circuit current \(I_{SC}\)) from the PV panel, where \(I_{PV}\) will gradually decrease throughout the simulation. Referring to Figs. 11b and e, during the simulation, the PV current \(I_{PV}\) is always greater than the load current \(I_{R}\). This demonstrates the functionality of the MOSFET in DC-DC buck converter to decompose the larger portion of \(I_{PV}\) into a smaller portion of \(I_{R}\).

The currents in the PV panel and the load R are different, and hence, the corresponding voltages in the PV panel and the load R should also be different. Theoretically, the load voltage \(V_{R}\) should be greater than the photovoltaic voltage \(V_{PV}\) (\(V_{R} > V_{PV}\)). The \(V_{R}\) in Fig. 11f tends to exceed the \(V_{PV}\) value in Fig. 11c throughout the simulation. This meets one of the prerequisites.

With references to Figs. 11d and g, photovoltaic power \(P_{PV}\) and load power \(P_{R}\) produce similar diversion, confirming the fact that the \(P_{PV}\) extracted during the simulation is approximately equal to the load power \(P_{R}\). The MPP as a reference demonstrates that the maximized power \(P_{max}\) captures the MPP with high accuracy. Combining all the evidence, it can be concluded that the PV model system in Fig. 9 is compatible and feasible.

5.2 Performance evaluation of mNFSA compared to other algorithms

Table 5 displays the MPPT results obtained by mNFSA and other comparative optimization algorithms. Data in bold reveals the best results among all comparative algorithms for each simulation run. mNFSA ranked first in 7 out of 10 simulation runs, securing the best performance for MPPT. The average relative error for mNFSA is barely equal to 0.0207%, and lower errors can be achieved without minor failure in the 2nd simulation run. Each value of Pmax is relatively close to MPP, confirming the fact that mNFSA achieves an extremely superior maximum output power. Several sensible conclusions can hence be drawn from Table 5. The proposed mNFSA outperforms other algorithms in the MPP tracking process. Under the partial shading effect, mNFSA significantly enhances the unwavering quality and viability of PV system (framework) through the modified architectures in the MPPT approach. It can be inferred that the respective contributions help to solve the MPPT problem more accurately and efficiently.

Table 5 MPPT results of mNFSA in comparison with other algorithms

Table 6 compares statistical results of Pmax and Relative Error obtained by mNFSA and other algorithms. Obviously, mNFSA ranked first in the best, mean, and standard deviation results. mNFSA gives the most prominent statistical results and is proven to be the algorithm with the best accuracy, precision and robustness. The fact that mNFSA is able to yield the best results for MPPT also indicates that it has the best global optimum achievement.

Table 6 Comparison of Pmax and Relative Error statistics between mNFSA and other algorithms

By interpreting the statistics, it is confirmed that the performance of the algorithms can be ranked in the following order: mNFSA > CIAFSA > EO > SOA > AO > AOA > RSA. Through in-depth analysis of the results and algorithm structure, AO, AOA and RSA with poor performance have similar mechanisms or methodologies. They have 4 executable strategies, and in each iteration, they select only one of them to execute. The selection method is based on the specified options and conditions. This type of mechanism is easier to scale with a slow but smooth search process, requiring more iterations and population size to get the perfect piece. However, the fact is that the MPPT application only allows short iterations and small population sizes to ensure that the simulation runs in the shortest possible duration. In a realistic setup, the PV framework needs to track the MPP as fast as possible to frequently respond to environmental changes. Therefore, excessive iteration numbers and population sizes should be avoided in optimization techniques or algorithms, as it may slow down the MPPT process in practical PV frameworks. Optimization for MPPT requires fast convergence and more detailed utilization, which AO, AOA, and RSA fail to do so.

In contrast, well-performed mNFSA, CIAFSA, EO, and SOA are similar in that they directly enforce strategies without selection and conditions. Combining all the evidence, we can make the following inferences: On the premise that only short iterations and small populations are allowed, every processing loop in the algorithm must play a real deal. Therefore, switching of strategies based on conditional selections is discouraged, as it will only prolong the simulation time, and there is a high chance that an inappropriate strategic solution will be assigned in the incorrect iteration. From a mathematical point of view, when more selections are given, the more complex an algorithm becomes. It may also be that the particular strategy has not yet functioned but has been skipped to the next stage of execution. Since the iterations are short, strong MPPT-based optimization algorithms should directly execute strategies without too many conditional selections. Non-selective strategy enforcement ensures that the algorithm makes the best use of a given architecture without skipping any beneficial methods. The results have shown that this mechanism is most suitable for MPPT applications.

Note that mNFSA and CIAFSA are improved algorithms that hybridize biologically inspired and evolutionary approaches. Comparing only mNFSA and CIAFSA, mNFSA is superior to CIAFSA. The difference in performance is mainly due to differences in algorithmic mechanism and strategies. mNFSA is unique in its notion of modifications that implement boundary changes at each iteration [i.e., Eqs. (8) and (9)]. This is the distinctive strength of mNFSA that differentiates its performance from CIAFSA and other algorithms. In addition, mNFSA has an extremely refined parameter adaptation method (i.e., Eq. (11)), which assigns every search agent the most appropriate step range best suited for MPPT. Due to the contributions of the algorithmic mechanism and strategies proposed in Eq. (7), mNFSA has stronger clustering properties than other algorithms. From the discussion point of view, the clustering characteristics in an algorithm are absolutely important in the MPPT process. It can be inferred that the clustering process enables the agents to quickly converge to the global optimal region, thereby speeding up the transition from exploration to exploitation, which is very beneficial for this application. Algorithms with fast convergence and high clustering properties are expected to require less iterations to get the job done.

Table 7 shows the average execution time of mNFSA and other compared algorithms. Execution time represents the duration that an algorithm participates in the computational process. Obviously, a shorter execution time is more conducive for MPPT process. A shorter execution time indicates faster processing speed of the algorithm. mNFSA only ranked fifth in average execution time, barely faster than AO and CIAFSA, and slightly slower than EO. This is a minor weakness found in mNFSA, where it requires more processing time than others. A slightly longer execution time in mNFSA is basically due to the additional implementation of the extended memory concept [in Eqs. (7) and (10)]. However, the difference in milliseconds has little effect on the MPPT application, as the PV framework still works fine with good results as shown in Table 5.

Table 7 Average execution time of mNFSA compared to other algorithms

This research work focuses on the development of the proposed algorithm (mNFSA) and the design of the PV framework to obtain a superior MPPT solution. This is the strength of this research work, where the knowledge gained can further refine the application of MPPT. However, the downside is that the proposed algorithm is only suitable for MPPT solutions and is expected to perform poorly in other applications if applied directly without further modification. Analysis of the results also proves that the hybrid strategy is effective for MPPT. The optimized hybrid concept stabilizes power extraction, making it more robust and precise than a single optimization type. Some hybrid intelligence algorithms are hereby recommended for further study [51, 52].

5.3 Potential applications of proposed framework in realistic setups

Extensive investigations and studies were conducted to demonstrate potential application of the proposed framework in the real-world settings. Note that the implementation cost of PV solar technology is surprisingly low. Standard PV panels are typically designed for commercial use at low cost but can be used as high-efficiency solar power sources. Reviewing literatures [53, 54], we can summarize several factors for PV cost reduction and efficiency increase. The first factor is the presence of high-efficiency PV inverters in current technology. By definition, a PV inverter is an electrical converter that converts the variable direct current (DC) output of a PV solar panel into a utility frequency alternating current (AC) that can be fed into the commercial electrical grid. In practical setup, a DC-AC converter (i.e., PV inverter) is used instead of a DC-DC buck converter. High-efficiency inverters made of Silicon Carbide (SiC) and Gallium Nitride (GaN) can reduce passive component failure rates, packaging- installation costs, and the size of inverter heat sinks because GaN and SiC have excellent thermal conductivity. The second factor is the development of high-efficiency PV modules. Double-sided glass modules or new encapsulation materials can effectively increase power generation. Another factor is the reduction in system cost. Measures such as finer diamond wires, larger dimensions, and lower drawbar power consumption will further reduce the material and energy costs of components. While reducing the cost per watt, the land cost and non-material costs such as plant construction, support, electrical equipment, and management expenses are diluted.

There are basically two types of PV systems: on-grid or off-grid PV systems [55,56,57,58]. On-grid means the solar system is connected to the local utility's grid. Off-grid is a solar system that is not connected in any way to the grid via the electrical network or utility company. While there are distinctive differences between on-grid and off-grid PV solar systems, the selection should depend on the user's circumstances. Off-grid systems allow complete elimination of utilities, but they are generally more expensive. The biggest disadvantage of off-grid systems is that they cannot ingratiate the power demands of all loads because the cost and size of the batteries would be prohibitive. Such systems require more specialized equipment to operate. Not only are these systems expensive and complex to install, but they are also not very environmentally friendly. In contrast, on-grid systems combine significant power (cost) savings with a reliance on the grid, so users never have to worry about running out of power. On-grid system sends the excess electricity generated to the utility grid when overproducing. These are the most cost-effective and simplest systems to install. They are very friendly in terms of cost saving and provision of environmental protection.

Considering factors such as performance, management and user demands [59], it is strongly recommended that the proposed framework be built into on-grid PV systems. Note that if the user is on the grid in most places, the user can sell the excess power to the grid and buy it back when power is not available. The high-performing PV framework proposed in this research work can generate more excess electricity in exchange for more money to cover the installation fee. As a rough estimate, this proposed framework will pay for itself by offsetting bills in 3–6 years through efficient solar power generation from PV systems. With its high performance and effectiveness, it is believed that this proposed framework can continue to provide excess power if the environment is favorable. Hence, it should be installed and applied to some fields that require very high power, such as electrical and electronic industry sectors. This helps to solve the energy shortage problem, in line with APAEC's policy of reducing ASEAN's energy intensity by 20% and 30% as a medium-term target for 2020 and a long-term target for 2025 and increasing the component of renewable energy to desired target of 23% by 2025.

6 Conclusion

The research work successfully proposed the modified Normative Fish Swarm Algorithm (mNFSA) to solve the simulated MPPT problem in the PV framework. This helps improve the efficiency of solar power generation in the realistic setups. The simulated PV model system (framework) was pre-tested to verify its feasibility using mNFSA. Numerical MPPT simulations were then conducted to compare the performance of mNFSA with different potential algorithms (i.e., RSA, AOA, AO, EO, SOA, and CIAFSA). Experimental results show that mNFSA outperforms other comparative algorithms in terms of maximum power extraction (mean: 206.7402 W) and relative percentage error (mean: 2.07E-02%). Although perfect global optimizations have not yet been achieved, they are closer to the global optimum, confirming the contribution of the formulation, modification, and implementation of mNFSA to MPPT applications. Statistical tests validated the strength of mNFSA, which has been shown to be an accurate, precise and robust algorithm. In addition, the results in terms of the average execution time (avg.: 0.0753 s) of each algorithm were collected. mNFSA did not achieve good execution time, exposing a minor weakness in the processing speed of algorithm.

For academic purposes, this research work details all mathematical expressions, software employed, modeling methods, settings, etc. for future replication by other researchers to further deepen their research in MPPT applications. The major finding should be the implementable strategies best suited for MPPT applications. According to the analysis, algorithms with the following characteristics can achieve better performing MPPT results, i.e., good clustering properties, straightforward execution, and a balanced transition from global exploration to local exploitation. The only shortcoming of this research work is that the knowledge and equipment are insufficient to cover the realistic setups. Therefore, future research directions can consider realistic setups of the proposed PV framework. As hybridization of bio-inspired and evolutionary strategies in algorithms (such as CIAFSA and mNFSA) have been proven to yield the best performance results in MPPT applications, it is planned to hybrid extensive evolutionary operations (such as mutation, crossover, multi-group combination, and chaos mapping) with state-of-the-art bio-inspired algorithms for more efficient power extraction in PV systems.