1. A method for determining locations of a plurality of communication devices in a network, comprising: solving an objective function by a computing device to determine a first set of locations of one or more of the plurality of communication devices, wherein the objective function is based at least in part on a plurality of estimated attributes between individual communicates devices and at least three respective neighboring beacon nodes, and wherein the objective function is subject to one or more constraints; re-solving by the computing device, either the objective function or a modified variant of the objective function, to determine a second set of locations of the communication devices, wherein the objective function during said re-solving is subject to the one or more constraints with at least one of the one or more constraints modified, and wherein the modified variant of the objective function is subject to the one or more constraints unmodified or modified; comparing by the computing device, the first set of locations with the second set of locations; and determining by the computing device, the locations of the communication devices based at least in part on said comparing.