Aiming at the disadvantages of long training time and high model complexity caused by individual bloat in genetic programming, an improved genetic programming algorithm based on bloat control is proposed. First, species are divided according to the differences between individuals, and individuals are evaluated by adjusted penalty fitness. Then, during the population evolution stage, individuals are selected by density and adjusted penalty fitness, and the improved search strategy is used to search and optimize the selected individuals. The survival mechanism of individuals retains the excellent evolutionary information in the population. Finally, the 7 benchmark functions are simulated and compared with other relevant bloat control algorithms. The experimental results show that the proposed algorithm compared with the 4 comparative algorithms can effectively control individual bloat on the basis of ensuring the optimization ability.