# 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
Optimal load dispatch problem
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