# The Stick Model for Distance Geometry

Antonio Mucherino

► To cite this version:

Antonio Mucherino. The Stick Model for Distance Geometry. Lectures Notes in Computer Science, Geometric Science of Information, Oct 2025, St. Malo, France. hal-05164757

HAL Id: hal-05164757

https://hal.science/hal-05164757v1

Submitted on 16 Jul 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# The Stick Model for Distance Geometry

Antonio Mucherino

IRISA, University of Rennes, Rennes, France.

Email: antonio.mucherino@irisa.fr

**Abstract.** The Distance Geometry Problem (DGP) asks whether a simple weighted undirected graph $G$ can be realized in the Euclidean space so that the distances between embedded vertices correspond to the edge weights. The DGP is a rich and active research field, with many important applications. Several approaches to the DGP are based on the idea of directly placing the vertices of $G$ in space. Our model uses a completely new approach: we focus our attention on the edges, and not on the vertices, and we attempt placing in space the “sticks” that can be associated to each edge of the graph. Sticks have fixed length (hence they always satisfy all distance constraints), and they admit three total degrees of freedom (position of one vertex, plus the stick orientation) in 2D. The automatic satisfaction of all DGP constraints comes at the cost of possibly having several distinct positions associated to the same vertex, potentially a different one for every stick where each vertex is involved. Therefore, we formulate a problem consisting in finding stick configurations where all vertices involved in multiple sticks can find a unique position in space, implying in turn the definition of a valid realization for the original DGP. We initially focus the attention on DGPs where the information on the stick orientations is a priori given, so that to formulate a convex quadratic optimization problem with linear constraints. For the general case, we propose a heuristic which solves, at each iteration, an instance of the quadratic problem.

## 1 Introduction

Given a positive integer $K$ and a simple weighted undirected graph $G = (V, E, d)$, where the weight function $d: \{u, v\} \in E \to \mathbb{R}$ associates graph edges to strictly positive real numbers, the Distance Geometry Problem (DGP) asks whether there exists a realization $x: V \to \mathbb{R}^K$ of the graph $G$ such that

$$ \forall \{u, v\} \in E, \quad \|x_u - x_v\| = d(u, v), $$

where $\| \cdot \|$ represents the Euclidean norm [9].

The DGP is NP-hard [15] and has several applications. In dimension $K = 1$, the problem of synchronizing clocks in distributed systems can be seen as a DGP [17]. In dimension $K = 2$, sensor network localization is one of the most relevant applications of the DGP [3, 7]. In dimension $K = 3$, the protein structure determination problem is the DGP application that attracted a lot attention in recent times [9, 10]. Moreover, this interest is likely to become more important with the advent of AI tools for protein structure determination such as AlphaFold [6], because of the use they make of distance information during the prediction process. The interested reader can find many recent
contributions to this research field in edited books and journal collections [11, 12, 14]. For a general discussion on the DGP in any dimensions, the reader is referred to [8].

In this short paper, we introduce (for the very first time, to the best of our knowledge) a novel mathematical model for the DGP, to which we give the name of **stick model**. The key difference with previously proposed models is about the way the satisfaction of the distance constraints in the realizations *x* is enforced. In fact, while the general approach would directly position the vertices of *G* in an attempt of satisfying all distance constraints, the stick model is conceived in such a way that it is impossible for the model to violate these distance constraints. Each available distance is associated to one of the *sticks* that take part to the mathematical formulation, and each stick has a fixed length *d*(*u*, *v*). It can be positioned in the Euclidean space through the *coordinates* of one of its vertices, together with the stick *orientation* (giving three total degrees of freedom in 2D). By using the information about the stick orientation, in fact, the position of one stick vertex can be obtained from the coordinates of the other one.

While it cannot violate distances (which is a quite positive point), the stick model
cannot ensure that each vertex of G, which may be involved in the definition of several
sticks, is always placed in unique positions. In fact, while the model allows us to directly
control the position of one of the two vertices related to each stick, it does not allow
for a direct control of the other vertex, whose coordinates depend instead by the stick
orientation. As a consequence, it is possible to have stick configurations where the same
vertex appears in different locations in space. Naturally, this kind of configurations is
to be avoided, because it cannot lead to the definition of a valid realization x for G.
Therefore, the main idea in the stick model is to minimize the average variation in the
locations that the same vertex can take.

Even if completely new, the stick model takes its main inspiration from some pre-
vious works in Points-of-Interest (POIs) relocation [5], in the context of adaptive maps
[16]. In the POIs relocation problem, an original configuration of all vertices on a given
“map” is available, together with a set of distance measurements between pairs of ver-
tices that are *not* satisfied by such an initial configuration. The linear program presented
in [5] is an attempt to relocate the graph vertices in such a way to have the new distances
satisfied and, at the same time, to preserve the relative orientations of the vertices. This
is indeed an important feature in the construction of adaptive maps, that tend this way
to look more similar to the original (purely geographical) maps.

The remainder of the paper is organized as follows. Section 2 will introduce the
mathematical formulation of the stick model. The model leads to the formulation of a
convex quadratic optimization problem with linear constraints (see Section 2.1) in the
hypothesis that the stick orientations are available. This is however an information that
is generally not given in real-life applications: we develop therefore a heuristic in Sec-
tion 2.2, which is able to deal with the general case. Section 3 will present and discuss
our preliminary computational experiments, where the core solution of the quadratic
optimization problem induced by the stick model is performed by very well-known
solver named IPOPT [2]. Conclusions will be drawn in Section 4, where some main
lines for future works will also be briefly discussed.
## 2 The stick model

Let $G = (V, E, d)$ be a weighted undirected graph representing an instance of the DGP. Our graphs $G$ are supposed to be connected, because otherwise one may simply split them into connected components, and define and solve the associated DGPs independently. For simplicity, the following discussion is for $K = 2$, for the model can be easily adapted to any dimensions $K > 0$. We will make use of matrices, where missing distances are associated to zeros, and basic matrix operators are applied. As a consequence, we limit our discussion in this short paper to DGP instances where the distance information is always strictly positive (see definition given in the Introduction). Notice however that the model also applies to the more general case: it is only the formalism, chosen in this article for easy explanation, that does not allow for considering the general case. Notice moreover that there are very few real-life applications where the distances between vertices may need to be exactly equal to 0.

Let therefore $\mathcal{D}$ be the $n \times n$ symmetric matrix of real positive numbers corresponding to the distances given by the weight function $d$ of our input graph $G$, where $n = |V|$. In the stick model, the entries of $\mathcal{D}$ represent the lengths of the sticks involved in the model, each connecting two vertices of the original graph $G$. As mentioned, missing distances are simply encoded with zeros, to which no sticks are associated. Likewise, the main diagonal elements of $\mathcal{D}$ are all zeros and are not meaningful. In the following discussion, we will employ the same notation, i.e. the symbol $\{u, v\}$, to make reference to both graph edges, and to “sticks”.

Let moreover $O$ be an $n \times n$ anti-symmetric matrix of unit complex numbers representing the orientations of the sticks $\{u, v\}$. One can think of these orientations as unit vectors positioned in first vertex $u$, and pointing to the second vertex $v$. Unlike the matrix $\mathcal{D}$, the information about these stick orientations is not contained in the graph $G$. In case a (even approximated) realization $x$ of $G$ is available, then the matrix $O$ may be estimated by looking at $x$; in the more general situation, when this information is not available, one very simple but effective approach consists in trying to “guess” these orientations, and subsequently try to refine them (this is the basic idea of the heuristic presented in Section 2.2). Finally, the main diagonal elements of $O$ are all zeros; the same applies to all matrix entries related to sticks for which the corresponding distance is not provided in $\mathcal{D}$.

We introduce now the $n \times n$ squared matrix $C$ of $(x, y)$-coordinates for all the sticks involved in the model, which basically encapsulates the variables of the stick model. More precisely, the entry $C(u, v)$ is the pair $(x_u, y_u)$ of coordinates for the vertex $u$ of the stick $\{u, v\}$. The entry $C(v, u)$, with inverted order of its indices, contains instead the coordinates $(x_v, y_v)$ of the vertex $v$, while always making reference to the same stick $\{u, v\}$. In order to ensure that our sticks cannot be deformed, we introduce the constraint:

$$ \forall \{u, v\} \in E, \quad C(v, u) - C(u, v) = \mathcal{D}(u, v) \cdot O(u, v), \quad (1) $$

where the complex numbers take part to the formula in the form $(\cos\theta, \sin\theta)$. The main diagonal entries of $C$ are meaningless, and they need all to be set to $(0, 0)$ for consistency with the objective function given below.

As anticipated in the Introduction, the constraint in equ. (1) ensures that all available distances are always satisfied in the model. However, the stick representation introduces
multiple copies of the same vertex v (all stored in the matrix C), where the total number of copies for each v corresponds to the degree of the vertex in G. In order to ensure that we can actually place all the copies of the same vertex v in one unique position (or, at least, in very near positions), we introduce the following objective function:

$$f_{\text{stick}}(C) = \sum_{v \in V} \left( \sum_{u_1 \in V \setminus \{v\}} \sum_{u_2 \in V \setminus \{u_1, v\}} |C(v, u_1) - C(v, u_2)|^2 \right). \quad (2)$$

Notice that pairs of coordinates initially set to (0,0) will give no contribution to the objective function.

## 2.1 A convex quadratic optimization problem

In the hypothesis that the orientation matrix O is known (together with the distance matrix D), the optimization problem having as objective function $f_{\text{stick}}$ (see equ. (2)), subject to the constraints in the equation (1), is a convex quadratic problem (with respect to the variables in C) having linear constraints. The solution matrix C* contains the several positions assigned to each vertex of G, one for each available distance involving the vertex. Since the objective function attempts bringing all the various positions for the same vertex in a unique common point of the 2-dimensional space, we expect, in ideal conditions, to uniquely place each vertex at optimality. However, this may not be possible when the information stored in the two matrices D and O is incomplete, or noisy.

In presence of mildly noisy data, and when the two matrices are reasonably dense, we can still expect that the several positions for the same vertex remain clustered together in the solutions obtained by the stick model. As a consequence, one possible approach for constructing a realization x from one obtained solution C* is simply to take, by average, the center of all obtained coordinates for the each vertex. This is what the **build** operation in Alg. 1 is supposed to perform at line 5 (see Section 2.2). Notice that this procedure for the construction of the realizations can generate realizations where some distances are violated. The errors that the stick model may introduce in the vertex coordinates can in fact be transferred to the distances in the constructed realization.

Section 3 will begin by presenting some experiments where both distance matrix D and orientation matrix O are available. Since in the majority of the applications the matrix O is actually not available, we will introduce a simple heuristic in the next section where this information in not part of the input. In spite of the simplicity of this heuristic, the second group of experiments presented in Section 3 will show that it tends to converge towards good-quality solutions even when the search begins from completely random orientation matrices.

## 2.2 A simple heuristic

The basic idea in this heuristic is to begin the exploration of the solution space by artificially generating (in a random way) the orientations (i.e. unit complex numbers) stored in the matrix O, which is supposed to be a priori unavailable. All entries of
O that are related to an undefined stick (i.e. the corresponding entry in $\mathcal{D}$ is equal to 0) are set to 0. Then, from every realization $x^{(i)}$ obtained through the stick model at iteration $i$ (by solving the optimization problem (2)-(1)), a new orientation matrix is computed by taking into consideration the current vertex coordinates. The stick model is subsequently solved again, in the upcoming iteration $i+1$, by considering the updated matrix $O^{(i+1)}$.

Alg. 1 below gives a sketch of this simple heuristic.

**Algorithm 1** Stick heuristic (input: $\mathcal{D}$, $\epsilon_h$; output: $x$)

1: **set** $i = 0$

2: **randomly generate** $O^{(i)}$

3: **repeat**

4: **solve** the stick model (equ. (2)) with $\mathcal{D}$ and $O^{(i)}$, **obtain** $C^{(i+1)}$

5: **build** the realization $x^{(i+1)}$ from $C^{(i+1)}$

6: **compute** the orientation matrix $O^{(i+1)}$ from $x^{(i+1)}$

7: **update** $i = i + 1$

8: **until** ($\|O^{(i)} - O^{(i-1)}\|_F < \epsilon_h$)

9: **return** $x^{(i)}$

**end**

Notice the use of the extra parameter $\epsilon_h > 0$ to indicate the tolerance error on the average orientations, estimated by computing the Frobenius norm ($\|\cdot\|_F$, on line 8) of the difference between two consecutive orientation matrices. This tolerance error is used to verify the convergence of the heuristic. At the current stage of research, we can provide no formal proof for convergence, but we conjecture that convergence is likely to be observed in most of the cases, even though it cannot be expected for all instances. As a consequence, it is recommended to couple this stopping criteria based on the tolerance error with another one, based for example on the maximum allowed number of iterations.

We remark that the basic approach of this heuristic, i.e. to make a guess on a part of the involved variables with the aim of reducing the problem to a form which can be more easily solved, is not new. One similar example can be found in the heuristic proposed in [4] in the context of feature selection in the context of machine learning.

## 3 Preliminary computational experiments

We have implemented the stick model, as well as the stick heuristic, in Julia programming language [1]. The code is available on a public GitHub repository<fnref n="1" />. All experiments have been performed on a laptop computer equipped with an 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz, running Linux. Julia's version is 1.8.1, and IPOPT's version is 1.4.0.

Our method for instance generation is based on the idea of randomly positioning points in a squared area having side equal to 1, and by subsequently constructing the

<footnote n="1">¹ https://github.com/mucherino/DistanceGeometry, commit code 3a2a3fc.</footnote>
<table><caption>**Table 1.** Experiments with the stick model and the stick heuristic.</caption><thead><tr><th colspan="3">instance</th><th colspan="4">stick model</th><th colspan="4">stick heuristic</th></tr><tr><th>n</th><th>ε</th><th>Δ</th><th>err(x)</th><th>err(D)</th><th>err(O)</th><th>secs</th><th>err(x)</th><th>err(D)</th><th>#it</th><th>secs</th></tr></thead><tbody><tr><td>10</td><td>0.001</td><td>0.9</td><td>0.0002</td><td>0.0002</td><td>0.0182</td><td>0.02</td><td>0.0094</td><td>0.0002</td><td>63</td><td>1.29</td></tr><tr><td>10</td><td>0.01</td><td>0.9</td><td>0.0018</td><td>0.0025</td><td>0.0586</td><td>0.02</td><td>0.0099</td><td>0.0024</td><td>56</td><td>1.12</td></tr><tr><td>10</td><td>0.1</td><td>0.9</td><td>0.0182</td><td>0.0267</td><td>0.1768</td><td>0.03</td><td>0.0097</td><td>0.0217</td><td>56</td><td>1.13</td></tr><tr><td>10</td><td>0.1</td><td>0.8</td><td>0.0164</td><td>0.0244</td><td>0.1593</td><td>0.02</td><td>0.0098</td><td>0.0566</td><td>53</td><td>1.05</td></tr><tr><td>10</td><td>0.1</td><td>0.7</td><td>0.0131</td><td>0.0234</td><td>0.1748</td><td>0.02</td><td>0.0098</td><td>0.0113</td><td>83</td><td>1.51</td></tr><tr><td>10</td><td>0.1</td><td>0.6</td><td>0.0127</td><td>0.0231</td><td>0.1839</td><td>0.04</td><td>0.0098</td><td>0.0367</td><td>83</td><td>1.51</td></tr><tr><td>10</td><td>0.1</td><td>0.5</td><td>0.0122</td><td>0.0185</td><td>0.1571</td><td>0.02</td><td>0.0094</td><td>0.0189</td><td>61</td><td>1.20</td></tr><tr><td>10</td><td>0.1</td><td>0.4</td><td>0.0055</td><td>0.0101</td><td>0.2153</td><td>0.03</td><td>0.0097</td><td>0.0206</td><td>75</td><td>1.41</td></tr><tr><td>15</td><td>0.1</td><td>0.4</td><td>0.0120</td><td>0.0266</td><td>0.1901</td><td>0.11</td><td>0.0099</td><td>0.0216</td><td>324</td><td>34.84</td></tr><tr><td>20</td><td>0.1</td><td>0.4</td><td>0.0105</td><td>0.0223</td><td>0.1856</td><td>0.49</td><td>0.0098</td><td>0.0321</td><td>79</td><td>38.79</td></tr><tr><td>25</td><td>0.1</td><td>0.4</td><td>0.0137</td><td>0.0269</td><td>0.2029</td><td>2.22</td><td>0.0100</td><td>0.0306</td><td>130</td><td>242.04</td></tr><tr><td>30</td><td>0.1</td><td>0.4</td><td>0.0120</td><td>0.0263</td><td>0.2053</td><td>7.12</td><td>0.0099</td><td>0.0335</td><td>286</td><td>1800.97</td></tr></tbody></table>

corresponding sticks, with their lengths and orientations. Then, in order to make the generated instances more realistic, noise is introduced at two levels. First of all, the quality of the computed distances and orientations is lowered by introducing an error of order $\epsilon > 0$. Naturally, in the case of the orientations, the value of $\epsilon$ should not exceed $2\pi$, because it is on the angle represented by the unit complex number that the error is introduced. Secondly, some sticks may be removed from the input: the distance information, together with the information about the orientations, is replaced by zeros. This simple approach to erase information from the data by setting to 0 is the reason why (as already indicated in the Introduction) we do not consider instances where the distance between two points can be exactly equal to 0.

Table 1 shows some experiments with the stick model and the stick heuristic. In the results shown in the middle column block, we consider instances where we suppose that the stick orientations are a priori known, and hence the model takes the form of a convex quadratic optimization problem with linear constraints, which we solve by invoking IPOPT through the standard interface available in Julia (we use the JuMP package). In the table, $n$ is the size of the instance, $\epsilon$ is the order of the introduced error in distances and orientations (not to be confused with $\epsilon_h$ which is rather an input parameter of the stick heuristic). Finally, $\Delta$ is the threshold we use to remove information: all sticks longer than $\Delta$ are deleted.

After the solution of the stick model, the realization $x$ is obtained by constructing the center, by average, of the cluster of positions obtained for each vertex. For every experiment, we provide the average $err(x)$, over the several involved vertices, of the maximal absolute deviation obtained when constructing each cluster center. We also provide the average error $err(D)$ on the distances, and the average error $err(O)$ on the orientations. We provide the computational time, expressed in seconds.

The experiments are separated in three main (row) blocks. In the first one, we reduce the quality of distances and orientations, while keeping a rather high quantity of input data ($\Delta$ is constantly set to 0.9). We can remark that the introduced error is reflected in
the error measures in the obtained solutions. In particular, err(x) and err($\mathcal{D}$) seem to be closely related, in all experiments.

In the second block of experiments, we reduce more and more the overall quantity of information (both distances and orientations), while keeping the value of $\varepsilon$ constantly equal to 0.1. The model seems to be not sensitive to this increased sparsity in the input data, displaying in fact quite similar values for our error measures. It is important to remark that the obtained realizations (we wrote some lines in Julia for this visual comparison) may differ more and more from the original point configurations as the value of $\Delta$ decreases. This is not to be interpreted however as a reduced accuracy implied by the model: with fewer distances and orientations available, more realizations are likely to be found that agree with the input data. Finally, in the third block of experiments, we increase the size of our instances. The computational time increases accordingly, but we can notice that our error measures are not affected by the instance size.

In the experiments in right-most column block of Table 1, the original orientation matrix is not part of the input. As a consequence, when lowering the quality of the data ($\varepsilon$ parameter), and when “sparsifying” the data ($\Delta$ parameter), we now only act on the distances. We invoke the stick heuristic to solve these instances, where the $\varepsilon_h$ parameter is set to 0.001 in all experiments. Additionally to the previous error measures, we also provide the total number of iterations (#it) that our heuristic needs to execute in order to converge. In these experiments, we do not measure err($O$) because we have no reference orientations.

The experiments show an important increase of computational time, which was expected because the stick model needs to be solved as many times as the heuristic iterates before reaching convergence. The quality of the solutions is however similar to those obtained with stick model (see err($\mathcal{D}$)), empirically proving that the heuristic is actually able to deal with the missing information about the orientations. We notice the rather constant value of the measured error err(x), which is a direct consequence of the value given to the input parameter $\varepsilon_h$ in all our experiments.

# 4 Conclusions

We have introduced the “stick model” for the DGP. Instead of constructing realizations for the original graph $G$ by placing its vertices in space, our model focuses the attention on the edges of $G$, it associates suitable “sticks” to each of them, and attempts placing these sticks in the space in a coherent way. When the information about the stick orientations is supposed to be known, the stick model reduces to a convex quadratic optimization problem with linear constraints. For the general case, we have proposed a simple heuristic.

Future works on the stick model include: (i) extending the model to DGPs having any dimensions $K > 0$, as well as to DGPs where the distance between two given vertices can be exactly 0; (ii) improving the stick heuristic by borrowing general ideas from meta-heuristic searches, as it was previously done for other combinatorial problems [4, 13]; (iii) exploring the use of the stick model in applications where some information about the orientations is available, such as the one studied in [5]; (iv) performing a more extensive computational testing (with specific tools for quadratic optimization,
instead of using the more generic IPOPT), as well as comparisons to existing tools such
as classical MultiDimensional Scaling (MDS).

Acknowledgments

The main idea for this work directly stemmed from a discussion with Dhannajay Joshi (during one of my visits at the Academia Sinica of Taipei) on a related but different topic where it was matter of electric charges generating attractive and repulsive forces on atoms. None of this is topic of the present article, nevertheless I considered it was important to mention. Some months later I had the chance to discuss with Douglas S. Gonçalves (during one of my visits at the Federal University of Santa Catarina) some of the very early hypotheses around the stick model.

The author thanks these collaborators for the fruitful discussions, the anonymous referees for the suggestions to improve this work, and our funding agency ANR for the financial support (ANR-24-CE23-1621 EVARISTE).

References

1. J. Bezanson, A. Edelman, S. Karpinski, V.B. Shah, *Julia: A Fresh Approach to Numerical Computing*, SIAM review **59**(1), 65–98, 2017.

2. L. T. Biegler, V.M. Zavala, *Large-scale Nonlinear Programming using IPOPT: An Integrating Framework for Enterprise-wide Dynamic Optimization*, Computers & Chemical Engineering **33**(3), 575–582, 2009.

3. P. Biswas, T. Lian, T. Wang, Y. Ye, *Semidefinite Programming based Algorithms for Sensor Network Localization*, ACM Transactions in Sensor Networks **2**(2), 188–220, 2006.

4. S. Busygin, O.A. Prokopyev, P.M. Pardalos, *Feature Selection for Consistent Biclustering via Fractional 0-1 Programming*, Journal of Combinatorial Optimization **10**, 7–21, 2005.

5. S.B. Hengeveld, F. Plastria, A. Mucherino, D.A. Pelta, *A Linear Program for Points of Interest Relocation in Adaptive Maps*, Lecture Notes in Computer Science **14072** (part 2), F. Nielsen, F. Barbaresco (Eds.), *Proceedings of Geometric Science of Information* (GSI23), Saint Malo, France, 551–559, 2023.

6. J. Jumper, R. Evans, A. Pritzel, T. Green, M. Figurnov, ..., D. Hassabis, *Highly Accurate Protein Structure Prediction with AlphaFold*, Nature **596**(7873), 583–589, 2021.

7. N. Krislock, H. Wolkowicz, *Explicit Sensor Network Localization using Semidefinite Representations and Facial Reductions*, SIAM Journal on Optimization **20**, 2679–2708, 2010.

8. L. Liberti, *Distance Geometry and Data Science*, Top **28**(2), 271–339, 2020.

9. L. Liberti, C. Lavor, N. Maculan, A. Mucherino, *Euclidean Distance Geometry and Applications*, SIAM Review **56**(1), 3–69, 2014.

10. L. Liberti, C. Lavor, A. Mucherino, N. Maculan, *Molecular Distance Geometry Methods: from Continuous to Discrete*, International Transactions in Operational Research **18**(1), 33–51, 2011.

11. A. Mucherino, C. Lavor, *Applications of Distance Geometry*, special issue of Optimization Letters **14**(2), Springer, 269–507, 2020.

12. A. Mucherino, C. Lavor, L. Liberti, N. Maculan (Eds.), *Distance Geometry: Theory, Methods and Applications*, 410 pages, Springer, 2013.

13. A. Mucherino, L. Liberti, *A VNS-based Heuristic for Feature Selection in Data Mining*. In: "Hybrid Meta-Heuristics", Studies in Computational Intelligence **434**, E-G. Talbi (Ed.), 353–368, 2013.
14. A. Mucherino, A. Nixon, M. Sitharam, H. Wolkowicz, *Open Problems and Solutions: Rigidity and Distance Geometry*, special issue of Discrete Applied Mathematics, Virtual special issue 0166-218X, Elsevier, 2023.

15. J. Saxe, *Embeddability of Weighted Graphs in k-Space is Strongly NP-hard*, Proceedings of 17th Allerton Conference in Communications, Control and Computing, 480–489, 1979.

16. M. Torres, D.A. Pelta, J.L. Verdegay, C. Cruz, *Towards Adaptive Maps*, International Journal of Intelligent Systems **34**(3), 400–414, 2019.

17. P. Verissimo, M. Raynal, *Time in Distributed System Models and Algorithms*. In: “Advances in Distributed Systems, Advanced Distributed Computing: From Algorithms to Systems”, S.K. Shrivastava, S. Krakowiak (Eds.), Springer, 1–32, 1999.