If we abstract a sensor network as a network graph consisting of vertices and edges, where vertices represent sensor nodes and edges represent distance measurements between neighboring sensors, the sensor localization problem can be generalized as inferring coordinates of vertices from lengths of edges. In most sensor networks, a small number of sensors will have known locations; they are called beacons. In practice, sensor localization usually involves two basic steps: • Measuring distances between pairs of sensors • Inferring sensor coordinates from the measured distances through geometric computation For example, by measuring distances from a sensor to three beacons, the sensor’s position can be determined through a simple triangulation algorithm. In spite of its simple mathematical description, sensor localization is a difficult problem in engineering. Due to the tight design constraints of low cost and small size, sensors often lack sufficient hardware resources to achieve a...