This paper presents an algorithm for positioning circles in a given region to maximise the covered area. Our algorithm has applications in wireless networks, such as positioning a given number of mobile stations in a given region, one goal of which is to cover the largest area possible. Although the evaluation of the function value, i.e., the total covered area, is difficult, we bypass this difficulty by calculating the gradient of the total covered area directly. As long as nodes continuously move in directions that guarantee increasing coverage, a configuration of node positions corresponding to a maximal covered area can eventually be identified.