An optimal control method for a batch reactor of a differential evolution algorithm based on a single population and pre-crossover comprises the following steps: 1), an evolutional generation g is caused to be equal to 1, and an individual number i is caused to be equal to 1, and a parameter is initialized; 2), the population is initialized; 3) the highest fitness and the lowest individual fitness in S1 are respectively fmax and fmin; if |fmax minus fmin| is smaller than or equal to an eps, then the algorithm is stopped, and a final result is output; if not, g is caused to be equal to g plus 1, and i is caused to be equal to 1; whether an evolutional generation is maximized or not is judged; and if yes, the algorithm is stopped and a change curve of the yield of a target product is output, and if not, the algorithm is continued; 4) a pre-crossover operation is conducted; 5) i is caused to be equal to i plus 1; if i is equal to a pop, step 3) is returned, and if not, step 4) is returned; and 6), three individuals are selected from S1 at random to conduct an mutation crossover operation, and an acquired experimental individual is yi; if f(yi) is smaller than f(xi), yi is used for replacing xi; and if f(yi) is larger than f(xi) and f(yi) is smaller than f (xi'), yi is used to replace xi', and step 5) is returned. The optimal control method has the advantages of simple operation, high convergence rate and high searching ability.