In the Internet of Things networks deploying fixed infrastructure is not always the best and most economical solution. Advances in efficiency and durability of Unmanned Aerial Vehicles (UAV) made flying small cell base stations (BS) a promising approach by providing coverage and capacity in environments where using fixed infrastructure is not economically justified. A key challenge in covering an area with UAV-based small cell BSs is optimal positioning the UAVs to maximize the coverage and minimize the number of required UAVs. In this paper, we propose an optimization problem that helps to determine the number and position of the UAVs. Moreover, to have efficient results in a reasonable time, we propose complementary heuristic methods that effectively reduce the search space. The simulation results show that our proposed method performs better than genetic algorithms.