# Grasshopper Optimization Algorithm

I am currently reading a paper on a meta-heuristic called 'Grasshopper Optimization Algorithm'.

The main idea of the algorithm is to utilize the social behavior of grasshoppers in a swarm to solve optimization problems. The distance to other grasshoppers in the swarm is used to determine, if a grashopper is repelled (exploration) or attracted (exploitation) from grasshoppers in its proximity.

However I am not sure if I understood the first part of the proposed formula correctly:

$$X_i^d = c\left(\sum\limits_{j=1,j\neq i}^Nc\frac{ub_d-lb_d}{2}s\left(\lvert x_j^d-x_i^d\rvert\right)\frac{x_j-x_i}{d_{ij}}\right) + \widehat{T}_d$$

$$X_i^d$$ calculates the next position of a search agent (grasshopper) with respect to the postion of the other search agents and the best found solution so far. So the next position of a grasshopper depends on its own position, the positions of all other grasshoppers in the swarm and the best solution found so far.

$$\widehat{T}_d$$ denotes the best solution found so far.

$$c$$ is a decreasing coefficient that regulates if the search agents explore or exploit in the search space. With increasing iteration count $$c$$ decreases and the search agents tend to exploitation.

$$s\left(\lvert x_j^d-x_i^d\rvert\right)$$

The part in brackets calculates the distance between grashoppers. $$s$$ is a formula which takes this value and determines if the search agents should explore or exploit.

$$\frac{x_j-x_i}{d_{ij}}$$ is a unit vector, where $$d_{ij}$$ denotes the distance between two grasshoppers.

It states that $$ub_d$$ is the upper bound and $$lb_d$$ is the lower bound in the $$d$$-th dimension. It further states that the part $$c\frac{ub_d-lb_d}{2}$$ linearly decreases the space that grasshoppers (search agents) should explore and exploit.

I dont undertsand what is meant with 'upper and lower bound in the $$d$$-th dimension'. Upper and lower bound for what exactly?

Can somebody help?

Information extracted from this paper:

Grashopper Optimization Algorithm

• Please give some context to understand the meaning of the formula and notations. May 3, 2021 at 10:26
• @Nathaniel I tried to condense the information, I hope this helps. May 3, 2021 at 11:32

I suspect they probably mean $$ub_d = \max_i x_i^d$$ where $$x_i^d$$ is the $$d$$h coordinate of $$x_i$$; and similarly for $$lb_d$$, but using $$\min$$ instead of $$\max$$. But I don't know -- I am just speculating based on context.
• Thanks for your answer! Would $max \ x_i^d$ be the max coordinate of the grasshopper (value to be optimised) in the swarm in the current iteration? May 3, 2021 at 20:18