In this paper, the scenario in which multiple unmanned aerial vehicles (UAVs) provide service to ground users is considered. Under the condition of satisfying the minimum rate per user and system load balance, the user association, bandwidth allocation and three dimensional (3D) deployment of multi-UAV networks are optimized jointly to minimize the total downlink transmit power of UAVs. Since the problem is hard to solve directly, it is decomposed into three sub-problems, and then the problem is solved by alternating iteration algorithm. First, when the UAV’s location is determined, a modified K-means algorithm is used to obtain balanced user clustering. Then, when the user association and UAV’s 3D deployment are determined, the convex optimization method is used to obtain the optimal bandwidth allocation. Finally, when the user association and optimal bandwidth allocation are determined, a modified differential evolution algorithm is proposed to optimize the 3D location of the UAVs. Simulation results show that the proposed algorithm can effectively reduce the transmit power of UAVs compared with the existing algorithms under the conditions of satisfying the minimum rate of ground users and system load balance.