摘要
In this paper, a novel nature-inspired meta-heuristic known as Crested Porcupine Optimizer (CPO) and inspired by various defensive behaviors of crested porcupine (CP) is proposed for accurately optimizing various optimization problems, especially those with large-scale. From least aggressive to most aggressive, the crowned porcupine uses four distinct protective mechanisms: sight, sound, odor, and physical attack. The first and second defensive techniques (sight and sound) reflect the exploratory behavior of CPO, whereas the third and fourth defensive strategies (odor and physical attack) reflect the exploitative behavior of CPO. The proposed algorithm presents a novel strategy called a cyclic population reduction technique to simulate the preposition that not all CPs activate their defense mechanisms, but only those threatened. This strategy promotes the convergence rate and population diversity. CPO was validated using three CEC benchmarks (CEC2014, CEC2017, and CEC2020), and its results were compared to those of three categories of existing optimization algorithms, as follows: (i) the most highly-cited optimizers, including gray wolf optimizer (GWO), whale optimization algorithm (WOA), differential evolution, and salp swarm algorithm (SSA); (ii) recently published algorithms, including gradient-based optimizer (GBO), African vultures optimization algorithm (AVOA), Runge Kutta method (RUN), Equilibrium Optimizer (EO), Artificial Gorilla Troops Optimizer (GTO), and Slime Mold Algorithm (SMA); and (iii) high-performance optimizers, such as SHADE, LSHADE, AL-SHADE, LSHADE-cnEpSin, and LSHADE-SPACMA. The statistical analysis revealed that CPO can be nominated as a high-performance optimizer because it had a significantly superior performance in comparison to all competing optimizers for the majority of the test functions in three validated CEC benchmarks. Quantitively, CPO could achieve an improvement rate over the rival optimizers with a percentage up to 83% for CEC2017, 70% for CEC2017, 90% for CEC2020, and 100% for six real-world engineering problems. The source code of CPO is publicly accessible at https://drive.matlab.com/sharing/24c48ec7-bfd5-4c22-9805-42b7c394c691/