Stochastic Paint Optimizer (SPO) Algorithm

An Art-Inspired Novel Metaheuristic algorithm: Stochastic Paint Optimizer (SPO)
403 Downloads
Updated 13 Jun 2024

View License

This paper presents an art-inspired optimization algorithm, which is called Stochastic Paint Optimizer (SPO). The SPO is a population-based optimizer inspired by the art of painting and the beauty of colors plays the main role in this algorithm. The SPO, as an optimization algorithm, simulates the search space as a painting canvas and applies a different color combination for finding the best color. Four simple color combination rules without the need for any internal parameter provide a good exploration and exploitation for the SPO. The performance of the algorithm is evaluated by twenty-three mathematical well-known benchmark functions, and the results are verified by a comparative study with recent well-studied algorithms. In addition, a set of IEEE Congress of Evolutionary Computation benchmark test functions (CEC-C06 2019) are utilized. On the other hand, the Wilcoxon test, as a non-parametric statistical test, is used to determine the significance of the results. Finally, to prove the practicability of the SPO, this algorithm is applied to four different structural design problems, known as challenging problems in civil engineering. The results of all these problems indicate that the SPO algorithm is able to provide very competitive results compared to the other algorithms.

Cite As

Kaveh, Ali, et al. “Stochastic Paint Optimizer: Theory and Application in Civil Engineering.” Engineering with Computers, vol. 38, no. 3, Springer Science and Business Media LLC, Oct. 2020, pp. 1921–52, doi:10.1007/s00366-020-01179-5.

View more styles
MATLAB Release Compatibility
Created with R2022a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.1

The citation was added.

1.0.0