Grasshopper Optimisation Algorithm: Theory and application | Synapse