In this work a trajectory optimization algorithm for unmanned aerial vehicles (UAV’s) is presented. This algorithm is specifically developed for UAV’s on surveillance missions, where the objective is to maximize surveillance time of a ground target. A receding horizon optimal control approach is used to solve the optimal control problem. An emerging method that utilizes neural networks to approximate the dynamic state integration and integrated objective functions is presented. The training and optimized structure of these neural networks is demonstrated. The algorithm is presented for both fixed-camera- and gimbaled-camera-equipped UAV’s. Scenarios that require cooperative surveillance between multiple UAV’s with fixed cameras are discussed and presented. MATLAB simulation results are presented for many different scenarios. The effect of added constraints on the UAV’s flight such as target standoff constraints and threat avoidance constraints are investigated. The effects of changes to the problem’s horizon time are investigated.