This paper first is to study the output characteristics of partial photovoltaic module array under shading. Then, it applies the modified particle swarm optimization (MPSO) to track the maximum power point (MPP) of characteristic curve with peaks. The MPSO makes the weighting and cognition learning factor decrease along with the increasing of iteration times, whereas the social learning factor increase along with the increasing of iteration times, which thus can elevate the performance of maximum power point tracker (MPPT). In addition, the weighting is making fine tuning according to the characteristic curve slope and power deviation, used to speed up the dynamic tracking speed and promote the steady-state performance. Finally, we use the MATLAB software to make simulation, proving that the MPSO algorithm will successfully track the maximum power point of photovoltaic module array output curve with multi-peaks, and the tracking performance is far better than the conventional particle swarm optimization (CPSO) one.