The power output curves of solar photovoltaic (PV) system have multiple peaks under partially shaded condition. As the same as traditional MPPT (Maximum Power Point Tracking) search methods, bat algorithm often makes optimized results fall into local extremum. So an improved bat algorithm is proposed. Chaos search strategy is introduced in initial arrangement to improve the uniformity and ergodicity of population. Adapting weight is introduced to balance the global searching ability and the local searching ability. Dynamic contraction regain decreases the search range more effectively. Compared with the original algorithm, the rapidity and accuracy of algorithm have been improved. The simulation shows that improved bat algorithm can find the globally optimal point fast, with high precision, under the partially shaded condition.