on $v$ and $w$ are a combination of attractive and repulsive forces: $f(v) \coloneqq f_{rep}(v) + f_{attr}(v)$ and $f(w) \coloneqq f_{rep}(w) + f_{attr}(w)$. The repulsive and attractive forces for a vertex $v$ are defined as $f_{rep}(v) \coloneqq \sum_{w \in N_{rep}(v)} (x_v - x_w) \cdot \frac{l_{wv}^2}{\lVert x_w - x_v \rVert^2}$ and $f_{attr}(v) \coloneqq \sum_{w \in N_{attr}(v)} (x_w - x_v) \cdot \frac{u_{wv}^2}{\lVert x_w - x_v \rVert^2},$ where $N_{rep}(v) \subseteq N(v)$ is the set of neighbors of $v$ that are too close to $v$ ([*i.e.,* ]{}the edge is shorter than its lower bound) and $N_{attr}(v) \subseteq N(v)$ is the set of neighbors of $v$ that are too far away ([*i.e.,* ]{}the edge is longer than its upper bound).

Finally, the acceptance function always accepts improving changes. Error-increasing changes are probabilistically accepted according to the Boltzmann distribution based on the local error (as in many cases [@Talbi:2009:MDI:1718024]).

#### A Simple Local Optimization Algorithm. {#a-simple-local-optimization-algorithm. .unnumbered}

In addition to our SA optimization algorithm, we propose another simple local optimization algorithm. During one iteration the algorithm sorts the edges by their error ([*i.e.,* ]{}the deviation from the edge’s given distance interval) in descending order. For an edge $\{v,w\}$ having a length that is not in the 