4.1. Optimized Speed Control
The speed control concept is depicted in
Figure 3. Here, the quadrature current is expressed as
, the direct current is given as
, the reference quadrature current is exemplified as
, the reference direct current is specified as
, and the reference three-phase current is delineated as
. The PI controller [
33,
34] is considered as a renowned controller which poses the ability to maintain the exact set points. The operational modeling of PI controller is on the basis of grouping of two controller modes viz. proportional and the integral mode. The logical expression for PI controller is gained from
and
parameters. The common form of PI controller is stated as per Equation (1), where
is the proportional gain and
is termed as integral gain.
Using the Laplace transform, Equation (1) is changed to Equation (2).
PI regarding the time constraints is expressed in Equation (3).
where
and
.
The proportional and integral terms provide fine control for the error signal and minimize the steady-state errors of the model. For a closed-loop control system, when precise tuning of
kp and
ki values are performed, then there is a small decrease in the rise time and improvement in settling time [
34]. Many software-based concepts have been realized for the tuning purpose of the controllers. The main contribution or novelty of the work is involved in the speed-control block, where the optimized PI controller is newly implemented to enhance the controlling performance. In
Figure 4, the two gains
and
of the PI controller inside the flux PI block are optimized using the proposed optimization algorithm named SL-DA.
4.2. Objective Function with Gain Encoding
During the optimization of gains in the PI controller inside the speed-control block, the fixed objective function is to maximize the efficiency of the induction motor, which is as per Equation (4). The computation formula for the efficiency of induction motor is based on Equation (5).
In Equation (5), Speed refers to the output rotor speed, Sp indicates the reference speed, denotes the electromagnetic torque, and refers to the load torque. As mentioned earlier, the above objective function is attained by optimizing or tuning the gains and of the PI controller.
4.3. Procedure for Gain Update
For maximizing the efficiency of the induction motor, a procedure is fixed here, which depends on the fine tuning of PI controller gains.
Figure 5 represents the flowchart of the proposed methodology. Initially, the load torque
and reference speed
are set. Further, the initialization of gains
and
is performed, and the rotor speed
and electromagnetic torque
are calculated. With these collected parameters, the induction motor’s efficiency is calculated. The efficiency is considered as the objective function, and the solution is updated with
and
using the proposed SL-DA algorithm. The parameters are continuously updated along with the solution update until the termination is reached, which in turn provides the best solution.
4.4. Conventional DA Algorithm
Across the world, 3000 diverse species of dragonfly are found, and their lifecycle contains two main stages: nymph and adult. Most of their lifecycle is comprised of the nymph stage; after that, the dragonfly becomes adult by metamorphism. The static as well as dynamic swarming behaviors of dragonflies have been mimicked in DA [
28]. Dragonflies work as small clusters in the static swarm (exploration) stage and fly to and from inside a closer area for prey hunting. The core aspects of a static swarm are the abrupt changes and local movements within the flying path. The dynamic swarms (exploitation) have an enormous count of dragonflies for making the swarm migrate over long distances in a particular direction. Moreover, survival is the core objective of any swarm and hence the entirety of the swarm’s individuals can be drawn to food sources and divert to the external enemies. Based on the above-mentioned two behaviors, the position update of swarm individuals is of five types, namely: alignment, control cohesion, attraction (over food sources), distraction (over external enemies), and separation. Equation (6) denotes the separation of the
dragonfly and is denoted as
to form its neighbor.
In this, the current individual’s position is given as
, the
neighboring individual’s position is denoted as
, and the count of neighboring individual is stated as
. Equation (7) estimates the alignment of such dragonflies. Here, the velocity of
neighboring individual is delineated as
. The calculation of cohesion is depicted as per Equation (8). Equation (9) explains the estimation of attraction over the food source. In this, the food source position is specified by
. Equation (10) shows the computation of distraction over the external enemies. In this, the position of the enemy is given by
.
The dragonflies’ behavior is considered on the basis of these five corrective patterns. In search space, the position of dragonflies’ update as well as the movements of their simulation are made using two vectors, namely position
and step
. The step vector is the same as the PSO’s velocity vector, and on the basis of this PSO algorithm, the development of the DA algorithm is made. Equation (11) has demonstrated the step vector which controls the movement of dragonflies.
where the separation weight is denoted as
, the
individual separation is given by
, the alignment weight is depicted as
, the alignment of
individual is delineated as
, the cohesion weight is
, the
individual cohesion is
, the food factor is given as
, the food source of
individual is expressed as
, the enemy factor is indicated by
, the
individual enemy position is portrayed as
, the inertia weight is symbolized with
, and the iteration count is defined as
. The position vector estimation is as per Equation (12).
where
expresses the current iteration. The dragonflies need to roam over a search space in a random walk manner (Levy flight) for improving the stochastic behavior, randomness, and exploration, when having no neighbor solution. At this stage, the updated position of the dragonflies is made using Equation (13).
The dimension of position vectors is expressed by
, the two arbitrary numbers within the range 0 and 1 are denoted as
and
, and
is assigned to be a constant value. The steps as well as the position of each and every dragonfly within every iteration are upgraded by using Equations (11)–(13). The dragonfly identification is made through assessing the Euclidean distance between the total dragonflies and selects
for updating
and
vector. At this position, the upgradation process is repeated up until the final criteria is met. The pseudo-code representation of the conventional DA model is given in Algorithm 1.
Algorithm 1: Pseudo code of conventional DA algorithm |
Initiate the dragonfly population using |
Start off the step vectors |
While the termination criteria is not achieved |
| Compute the objective values of all dragonflies |
| Upgrade the enemy as well as food source |
| Upgrade , and |
| Estimate , and using Equations (6)–(10) |
| Upgrade the neighboring region radius |
| When the dragonfly constitutes a least-neighbor dragonfly |
| | The velocity vector is upgraded per Equation (11) |
| | The position vector is upgraded per Equation (12) |
| Else | |
| | The position vector is upgraded per Equation (13) |
| End if | |
| The new locations are validated and corrected according to different boundaries |
End while |
4.5. Conventional GSO Algorithm
The GSO algorithm with a population cluster is called a group, and every individual within the population called a member [
24]. Over a search space of
dimensional, the
member at
searching iteration (bout) provides a present position
, a head angle
. The
member’s search direction is the unit vector
, which is computed from
through a polar to a Cartesian coordinate transformation, which is stated in Equations (17)–(19).
In the GSO algorithm, there are three members’ kinds in a group: scroungers and producers having behaviors on the basis of PS model, and the dispersed one which evaluates the motion of random walk. While taking the optimization issues, the open patches are the ones that are assigned to be unknown optima and that are arbitrarily distributed within a search space. Therefore, the searching of patches is made by moving within the search space by the group members. In accordance with the relevant phenotypic features, the producer and the scroungers are considered to be the same; hence, the two roles can switch with each other.
In iteration, a group of members that is located in the more challenging area and is presented as the premier fittest value is selected as producer. After that, it halts and scrutinizes the whole environment for seeking the optima (resources). Scanning is considered as a core module within the search direction. In GSO algorithm, the behavior of the producer at the iteration is given as follows:
Step (1): The scanning will be made by producer at 0° and after that scan laterally by arbitrarily sampling three points within the scanning field: one point within 0°, given as per Equation (20); one point at the right side of hypercube, given in Equation (21); and one point in the left hand of the hypercube, stated in Equation (22).
Here, the arbitrarily distributed random number having mean 0 and std. deviation 1 is denoted as , and the sequences are distributed uniformly within the interval (0,1) which is stated as .
Step (2): The best point will be determined by the producer with the best resources, i.e., fitness value. When the best point is provided with better resources rather than the current position, then the member will move over this point. Otherwise, the members will remain in their present position and twist their heads toward a novel generated angle at random. In Equation (23), the maximum turning angle is denoted as
.
Step (3): The heads will be turned to zero degree if the producer is not able to determine a better area after the
teration. In Equation (24),
is a constant.
At the time of every spell on searching, the group member count is selected as scroungers. The opportunities for joining the resources found by the researchers will be searched by these scroungers. This GSO algorithm only takes the area-copying feature, which is assigned as the basic scrounging behavior. The modeling of the area-copying behavior of
scrounger on the
iteration has depicted as a random walk over the producer and is stated in Equation (25).
Here, the uniform random sequence in the interval (0,1) is depicted by . The Hadamard product or the Schur product is given as ‘’, where the entry-wise product of two vectors is calculated.
The ranging is happened, when the
group member gets dispersed, and this is called disperse member rangers. Naturally, the searching concepts are performed by the ranging animals that involve systematic search strategies and random walks for locating the resources effectively. The rangers only deploy the random walks and are given in Equation (26).
and move to a new point that is stated as per Equation (27).
The conventional GSO algorithm pseudo code is explained in Algorithm 2.
Algorithm 2: Conventional GSO algorithm |
Assume |
Initiate position randomly and head angles of entire group members |
Compute the fittest values of initial members |
while (the stopping criteria not met) |
| for (every member in the group) |
| | Select producer | Determine the producer of the group members |
| | Execute producing | (1) The producer will examine at 0° and then scrutinize laterally by arbitrarily sampling three points in the scanning field using (20) to (22) |
| | | (2) Discover the finest point with the foremost resource (fittest value). If the finest point shows a more preferable resource than its present location, then it will move at this point. If not, it will remain in its present location and move its head toward a new angle using Equation (23) |
| | | (3) When the producer cannot determine a preferable area after an iteration, it will move its head back to 0° using (24) |
| | Execute scrounging | To carry out scrounging, select 80% from the remaining members |
| | Execute dispersion | For the remaining members, they will be distributed from their present location to execute ranging: (1) produce an arbitrary head angle using (5) and (2) select a random distance from the Gauss distribution using (8) and proceed towards a new point using (9) |
| | Calculate fitness | Compute the fittest value of the present member |
| End for |
| assume |
End while |
4.7. Proposed SL-DA Algorithm
DA has achieved much attention among researchers from diverse fields because of its simplicity [
36,
37]. However, it needs improvement in internal memory as it directs to premature convergence to local optima [
38]. Similarly, GSO is the well-known population-based optimization technique that is based on the inspiration of animal group living theory and searching behavior. The main shortcomings in this algorithm are its poor exploration and exploitation ability and slower convergence.
In order to alleviate the above-mentioned drawbacks, this paper proposes a new optimization algorithm called the Scrounger Strikes Levy-based dragonfly algorithm (SL-DA), which incorporates the concept of GSO within the DA algorithm [
39]. The proposed framework is detailed as follows: in the conventional DA algorithm, if the condition dragonfly poses, at least one neighbor dragonfly is satisfied; the velocity vector and position vector update are exploited as per Equations (11) and (12), respectively. Otherwise, the update of the position vector is handled using the Levy update in Equation (13). In this proposed model, the same condition is checked and if satisfied, the velocity vector and position vector are made the same as the conventional DA model. In the else condition, the scrounger behavior of the GSO in Equation (25) is carried out instead of the Levy update in the conventional model. The proposed SL-DA algorithm’s pseudo-code is explained in Algorithm 3. The proposed SL-DA algorithm’s flowchart is illustrated in
Figure 7.
Algorithm 3: Pseudo code of proposed SL-DA algorithm |
Initiate the dragonfly population |
Start off the step vectors |
While the termination criteria are not met |
| Compute the objective values of whole dragonflies |
| Upgrade the enemy as well as food source |
| Upgrade , and |
| Estimate , and using Equations (6)–(10) |
| Upgrade the region of neighboring radius |
| When the dragonfly constitutes a least-neighbor dragonfly |
| | Update velocity vector as per Equation (11) |
| | Update position vector as per Equation (12) |
| Else | |
| | Update position vector as per the scrounger behavior of the GSO in Equation (25) |
| End if | |
| | The new locations are validated and corrected according to different boundaries |
End while |
The suggested SL-DA algorithm has the advantage of precise estimation and good accuracy of loss calculation. It supports global and local search capabilities. The convergence rate is better with maximum exploitation capabilities. On the other hand, if we consider sequences of random decisions, then it is not dependent.