# Ant lion optimizer

The Ant Lion Optimizer, known as ALO or Antlion Optimizer , is a recent meta-heuristic that mathematically models the interaction of ants and antlions in nature. An optimization algorithm has been developed to solve optimization problems considering random walk of ants, building traps, entrapment of ants in traps, catching preys, and re-building traps are implemented.

## Inspiration

Antlions are knowns as doodlebugs sometimes. They are under the Myrmeleontidae family and live in two phases of larvae and adult. Their hunt mechanism is interesting when they are larvae. The small cone-shape trapped that we see in nature are made by antlions to trap ants. Antlions sit under the pit and wait for prey to be trapped. After consuming the prey’s flesh, antlions throw the leftovers outside the pit and amend the pit for the next hunt. It has been observed that antlions tend to dig a bigger pit when they are hungry and this is exactly the main inspiration for ALO algorithm.

## Operators of the ALO algorithm

As mentioned above, the ALO algorithm simulates five main steps of hunts in larvae: random walk of ants, building traps, entrapment of ants in traps, catching preys, and re-building traps are implemented. The following paragraphs and sub-sections present the mathematical models:

The main random walk in this algorithm is as follows: $X(t)=[0,cumsum(2r(t_{1})-1),cumsum(2r(t_{2})-1),...,cumsum(2r(t_{n})-1),]$

$r(t)={\begin{cases}1&rand>0.5\\0&rand\leq 0.5\end{cases}}$

where cumsum calculates the cumulative sum, n is the maximum number of iteration, t shows the step of random walk (iteration in this study), r(t) is a stochastic function and rand is a random number generated with uniform distribution in the interval of [0, 1].

The location of ants should be stored in the following matrix:

$M_{Ant}={\begin{bmatrix}A_{1,1}&A_{1,2}&...&...&A_{1,d}\\A_{2,1}&A_{2,2}&...&...&A_{2,d}\\...&...&...&...&...\\...&...&...&...&...\\A_{n,1}&A_{n,2}&...&...&A_{n,d}\end{bmatrix}}$

where $M_{Ant}$  is the matrix for saving the position of each ant, $A_{i,j}$  shows the value of the j-th variable (dimension) of i-th ant, n is the number of ants, and d is the number of variables.

The corresponding objective value for each antlion is calculated and stored in the following matricx:

$M_{OA}={\begin{bmatrix}f([A_{1,1},A_{1,2},...,A_{1,d}])\\f([A_{2,1},A_{2,2},...,A_{2,d}])\\...\\...\\f([A_{n,1},A_{n,2},...,A_{n,d}])\end{bmatrix}}$

where $M_{OA}$  is the matrix for saving the fitness of each ant, $A_{i,j}$  shows the value of j-th dimension of i-th ant, n is the number of ants, and $f$  is the objective function. In ALO, it is assumed that the antlions also hide somewhere in the search space. To save their positions and fitness values, the following matrices are utilized:

$M_{OAL}={\begin{bmatrix}f([AL_{1,1},AL_{1,2},...,AL_{1,d}])\\f([AL_{2,1},AL_{2,2},...,AL_{2,d}])\\...\\...\\f([AL_{n,1},AL_{n,2},...,AL_{n,d}])\end{bmatrix}}$

where $M_{OAL}$  is the matrix for saving the fitness of each antlion, $AL_{i,j}$  shows the j-th dimension’s value of i-th antlion, n is the number of antlions, and $f$  is the objective function.

## Random walks of ants

The random walk discussed above is used in the following equation to update the position of ants:

$X_{i}^{t}={\frac {(X_{i}^{t}-a_{i})\times (d_{i}-c_{i}^{t})}{(d_{i}^{t}-a_{i})}}+c_{i}$

where $a_{i}$  is the minimum of random walk of i-th variable, $b_{i}$  is the maximum of random walk in i-th variable, $c_{i}^{t}$  is the minimum of i-th variable at t-th iteration, and $d_{i}^{t}$  indicates the maximum of i-th variable at t-th iteration.

## Trapping in antlion’s pits

The impact of antlions on the movement of ants is modelled as follows: $c_{i}^{t}=Antlion_{j}^{t}+c^{t}$

$d_{i}^{t}=Antlion_{j}^{t}+d^{t}$

where $c^{t}$  is the minimum of all variables at t-th iteration, $d^{t}$  indicates the vector including the maximum of all variables at t-th iteration, View the MathML source is the minimum of all variables for i-th ant, View the MathML source is the maximum of all variables for i-th ant, and View the MathML source shows the position of the selected j-th antlion at t-th iteration.

## Building trap

Building traps is done with a roulette wheel is employed. The roulette wheel operator selects antlions based of their fitness during optimization. This mechanism gives high chances to the fitter antlions for catching ants.

## Sliding ants towards antlion

The mathematical model of this step of hut is given below. It may be seen in the equation that the radius of ants’s random walks hyper-sphere is decreased adaptively. $c^{t}={\frac {c^{t}}{I}}$

$d^{t}={\frac {d^{t}}{I}}$

where I is a ratio, ct is the minimum of all variables at t-th iteration, and dt indicates the vector including the maximum of all variables at t-th iteration.

## Catching prey and re-building the pit

In ALO, catching prey occurs when ants get fitter (dives inside the sand) than its associated antlion. An antlion is then required to update its position to the latest position of the hunted ant to enhance its chance of catching new prey. The following equation simulates this behaviour:

$Antlion_{j}^{t}=Ant_{i}^{t}\quad \quad iff(Ant_{i}^{t})>f(Antlin_{j}^{t})$

where t shows the current iteration, View the MathML source shows the position of selected j-th antlion at t-th iteration, and View the MathML source indicates the position of i-th ant at t-th iteration.

## Elitism

Elitism is an important characteristic of evolutionary algorithms that allows them to maintain the best solution(s) obtained at any stage of optimization process. In this study the best antlion obtained so far in each iteration is saved and considered as an elite. Since the elite is the fittest antlion, it should be able to affect the movements of all the ants during iterations. Therefore, it is assumed that every ant randomly walks around a selected antlion by the roulette wheel and the elite simultaneously as follows:

$Ant_{i}^{t}={\frac {R_{A}^{t}+R_{E}^{t}}{2}}$

where Rt A is the random walk around the antlion selected by the roulette wheel at t-th iteration, Rt E is the random walk around the elite at t-th iteration, and Antti indicates the position of i-th ant at t-th iteration.

## Binary ALO

The binary version of ALO called BALO  uses a threshold function to solve discrete optimization problems.

## Multi-objective ALO

The multi-objective version of ALO called MOLAO  has been proposed to solve multi-objective problems. MOALO uses an archive to store and improve Pareto optimal fronts.

## Applications

ALO has been widely used in the literature to solve a variety of problems. some of the applications are:

Automatic generation control of a multi-area system 

Optimum design of skeletal structures 

Flexible process planning 

Non-convex economic load dispatch problem for small-scale power systems 

Multi-objective optimum generation scheduling 

Training Neural Networks 

Route planning for unmanned aerial vehicle 

Regulator in Automatic Generation Control of Interconnected Power System 

Integrated Process Planning and Scheduling 

Hydro-thermal-wind scheduling 

Optimal community detection 

control side lobe level and null depths in linear antenna arrays 

Load Frequency Control of Multi-Area Interconnected Power Systems 

Structural design problems 

Optimal power flow with enhancement of voltage stability and reduction of power loss 

Feature selection  

MPPT of a Partially Shaded Photovoltaic Module 

Unified Reliability Centric Preventive Generator Maintenance Scheduling Measure 

optimal reactive power dispatch solution 

Reactive and Active Power Loss Reduction 

Complex power setting for optimal power flow problem 

Power System Engineering 

Multi-Objective Distribution Network Operation Based on Distributed Generation Optimal Placement 

A multi-objective optimal sizing and siting of distributed generation 

Efficient Modeling of Linear Discrete Filters 

Optimum VAr planning problem 

Optimal location and sizing of renewable distributed generations 

Optimal real power rescheduling of generators for congestion management 

Segmentation for MRI Liver Images 

Renewable Distributed Generations 

FOPID controller for Speed control and Torque ripple minimization of SRM Drive System 

Segmentation for MRI Liver Images 

Cost/Reliability Evaluation 

Voltage stability enhancement and Voltage Deviation Minimization 

Generator maintenance scheduling 

Optimal allocation and sizing of renewable distributed generation 

AUV sensor selection