Locust
Locust: Swarm-inspired optimization tool for design space exploration
Humphrey Yang
The majority of algorithmic heuristics aims to find the optimal solution in a scenario, ignoring and avoiding any other solutions during the process. Yet in design, the optimal solution may not reflect unquantifiable factors like aesthetics. What designers want, when handing problems to algorithms, is to explore for "good solutions” rather than finding the “best solution” in the problem space. The Locust, inspired by the transformation from grasshoppers into locust swarms, is an experiment to combine both search- the good ones and the best.
In nature, grasshoppers morph into locusts when a certain number of them cluster together, completely changing their foraging behavior from eating a self-sustaining amount of food to devouring everything edible. Inspired by this phenomenon, I translated it into an algorithm to solve combinatorial problems, whereby grasshoppers represent parallel computing threads. While in grasshopper stage, each thread will explore the fitness landscape and look for and climb nearby peak. When certain number of threads congregate at a local hill, they transform into a swarm of locust to search for the local maximum. The algorithm is indefinite such that the more it iterates, the more local maximums (good combinations) are revealed and become more accurate. The product of this algorithm is several sets of parameter combinations corresponding to the discovered good solutions in the problem space.