In this study, the output characteristics of partial modules in a photovoltaic module array when subject to shading were first explored. Then, an improved particle swarm optimization (PSO) algorithm was applied to track the global maximum power point (MPP), with a multi-peak characteristic curve. The improved particle swarm optimization algorithm proposed, combined with the artificial bee colony (ABC) algorithm, was used to adjust the weighting, cognition learning factor, and social learning factor, and change the number of iterations to enhance the tracking performance of the MPP tracker. Finally, MATLAB software was used to carry out a simulation and prove the improved that the PSO algorithm successfully tracked the MPP in the photovoltaic array output curve with multiple peaks. Its tracking performance is far superior to the existing PSO algorithm.