3.1 Continuous Optimization and the DGP

One approach that has been used to solve the DGP is to represent it as a continuous optimization problem [59]. To understand it, we consider a DGP with K = 2, V = {u, v, s}, E = {{ u, v}, {v, s}}, where the associated quadratic system is

$$\displaystyle\begin{array}{rcl} (x_{u1} - x_{v1})^{2} + (x_{ u2} - x_{v2})^{2}& =& d_{ uv}^{2} {}\\ (x_{v1} - x_{s1})^{2} + (x_{ v2} - x_{s2})^{2}& =& d_{ vs}^{2}, {}\\ \end{array}$$

which can be rewritten as

$$\displaystyle\begin{array}{rcl} (x_{u1} - x_{v1})^{2} + (x_{ u2} - x_{v2})^{2} - d_{ uv}^{2}& =& 0 {}\\ (x_{v1} - x_{s1})^{2} + (x_{ v2} - x_{s2})^{2} - d_{ vs}^{2}& =& 0. {}\\ \end{array}$$

Consider the function \(f: \mathbb{R}^{6} \rightarrow \mathbb{R}\), defined by

$$\displaystyle\begin{array}{rcl} f(x_{u1},x_{u2},x_{v1},x_{v2},x_{s1},x_{s2})& =& \left ((x_{u1} - x_{v1})^{2} + (x_{ u2} - x_{v2})^{2} - d_{ uv}^{2}\right )^{2} {}\\ & +& \left ((x_{v1} - x_{s1})^{2} + (x_{ v2} - x_{s2})^{2} - d_{ vs}^{2}\right )^{2}. {}\\ \end{array}$$

It is not hard to realize that the solution \(x^{{\ast}}\in \mathbb{R}^{6}\) of the associated DGP can be found by solving the following problem:

$$\displaystyle{ \min _{x\in \mathbb{R}^{6}}f(x). }$$
(3.1)

That is, we wish to find the point \(x^{{\ast}}\in \mathbb{R}^{6}\) which attains the smallest value of f.

Exercise 3.1

In the problem (3.1), is it possible to say what is the smallest valued of f? Is this result valid for any DGP?

Exercise 3.2

Still considering the same problem above (3.1), what is the difference between solving the quadratic system

$$\displaystyle\begin{array}{rcl} (x_{u1} - x_{v1})^{2} + (x_{ u2} - x_{v2})^{2} - d_{ uv}^{2}& =& 0 {}\\ (x_{u1} - x_{s1})^{2} + (x_{ v2} - x_{s2})^{2} - d_{ vs}^{2}& =& 0 {}\\ \end{array}$$

and solving the equation

$$\displaystyle{f(x) = 0,x \in \mathbb{R}^{6},}$$

where f is given by

$$\displaystyle\begin{array}{rcl} f(x_{u1},x_{u2},x_{v1},x_{v2},x_{s1},x_{s2})& =& \left ((x_{u1} - x_{v1})^{2} + (x_{ u2} - x_{v2})^{2} - d_{ uv}^{2}\right )^{2} {}\\ & & \quad + \left ((x_{u1} - x_{s1})^{2} + (x_{ v2} - x_{s2})^{2} - d_{ vs}^{2}\right )^{2}? {}\\ \end{array}$$

Thus, we can think of the DGP as a minimization problem. However, the optimization approach for the DGP has a difficulty in that the function to be minimized (3.1) has many local minima and we wish to find a global minimum [26] (see Fig. 3.1).

Fig. 3.1
figure 1

Local and global minima

In fact, the number of local minima may increase exponentially with the size of the problem, which is determined by the number of vertices of the associated graph [57], further complicating the minimization problem.

Exercise 3.3

Is it possible that there exists more than one global minimum for the DGP optimization problem?

Exercise 3.4

If there is more than one global minimum, does the number of global minima may increase exponentially with the size of the problem in the same way that local minima do?

3.2 Finiteness of the DGP

Suppose that the solution set of a DGP is non-empty. We already know that the number of solutions is either uncountable or finite (modulo rotations, translations, and reflections). In the finite case, besides applying the classical optimization methods, we can exploit the structure of the associated graph which defines the problem and perhaps come up with a different approach [46, 54].

However, before studying special problem structures, how can we tell if the solution set is either finite or uncountable? This section analyzes the conditions that ensure the finiteness of the solutions for a DGP.

Let us consider the same problem of Sect. 2.3 with K = 2, but here we change the dimension K to 3. So, we have a DGP with K = 3, V = {u, v, r, s}, E = {{ u, v}, {u, r}, {u, s}, {v, r}, {v, s}, {r, s}}. Fixing the coordinates of the first three vertices u, v, r, which we can do by using the matrices of Sect. 2.4, we obtain the same quadratic system:

$$\displaystyle\begin{array}{rcl} \Vert x_{s} - x_{u}\Vert ^{2}& =& d_{ us}^{2}, {}\\ \Vert x_{s} - x_{v}\Vert ^{2}& =& d_{ vs}^{2}, {}\\ \Vert x_{s} - x_{r}\Vert ^{2}& =& d_{ rs}^{2}. {}\\ \end{array}$$

Performing the calculations and subtracting the first equation from the others as before, we obtain

$$\displaystyle\begin{array}{rcl} 2(x_{v} - x_{u}) \cdot x_{s}& =& \Vert x_{v}\Vert ^{2} -\Vert x_{ u}\Vert ^{2} + d_{ us}^{2} - d_{ vs}^{2}, {}\\ 2(x_{r} - x_{u}) \cdot x_{s}& =& \Vert x_{r}\Vert ^{2} -\Vert x_{ u}\Vert ^{2} + d_{ us}^{2} - d_{ rs}^{2}. {}\\ \end{array}$$

So far, no difference can be noticed. However, if we obtain the explicit associated linear system, we have:

$$\displaystyle{\left [\begin{array}{ccc} x_{v1} - x_{u1} & x_{v2} - x_{u2} & x_{v3} - x_{u3} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} & x_{r3} - x_{u3} \end{array} \right ]\left [\begin{array}{c} x_{s1} \\ x_{s2} \\ x_{s3} \end{array} \right ] = \frac{1} {2}\left [\begin{array}{c} \Vert x_{v}\Vert ^{2} -\Vert x_{u}\Vert ^{2} + d_{us}^{2} - d_{vs}^{2} \\ \Vert x_{r}\Vert ^{2} -\Vert x_{u}\Vert ^{2} + d_{us}^{2} - d_{rs}^{2} \end{array} \right ].}$$

We no longer have a 2 × 2 matrix, but a 2 × 3 matrix, since we have K = 3.

The above system can be written as

$$\displaystyle\begin{array}{rcl} & & \left [\begin{array}{cc} x_{v1} - x_{u1} & x_{v2} - x_{u2} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} \end{array} \right ]\left [\begin{array}{c} x_{s1} \\ x_{s2} \end{array} \right ] + \left [\begin{array}{c} x_{v3} - x_{u3} \\ x_{r3} - x_{u3} \end{array} \right ]\left [\begin{array}{c} x_{s3} \end{array} \right ] {}\\ & & \quad = \frac{1} {2}\left [\begin{array}{c} \Vert x_{v}\Vert ^{2} -\Vert x_{u}\Vert ^{2} + d_{us}^{2} - d_{vs}^{2} \\ \Vert x_{r}\Vert ^{2} -\Vert x_{u}\Vert ^{2} + d_{us}^{2} - d_{rs}^{2} \end{array} \right ]. {}\\ \end{array}$$

If we suppose that the matrix \(\left [\begin{array}{cc} x_{v1} - x_{u1} & x_{v2} - x_{u2} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} \end{array} \right ]\) is invertible, we obtain that

$$\displaystyle\begin{array}{rcl} \left [\begin{array}{c} x_{s1} \\ x_{s2} \end{array} \right ]& & = \frac{1} {2}\left [\begin{array}{cc} x_{v1} - x_{u1} & x_{v2} - x_{u2} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} \end{array} \right ]^{-1}\left [\begin{array}{c} \Vert x_{v}\Vert ^{2} -\Vert x_{u}\Vert ^{2} + d_{us}^{2} - d_{vs}^{2} \\ \Vert x_{r}\Vert ^{2} -\Vert x_{u}\Vert ^{2} + d_{us}^{2} - d_{rs}^{2} \end{array} \right ] {}\\ & & \quad -\left [\begin{array}{cc} x_{v1} - x_{u1} & x_{v2} - x_{u2} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} \end{array} \right ]^{-1}\left [\begin{array}{c} x_{v3} - x_{u3} \\ x_{r3} - x_{u3} \end{array} \right ]\left [\begin{array}{c} x_{s3} \end{array} \right ].{}\\ \end{array}$$

This implies that we no longer have only one solution for the linear system! That is, for each value for \(x_{s3} \in \mathbb{R}\), we obtain values for x s1 and x s2. Thus, in order to obtain a solution of our DGP, we must return to the associated quadratic system, choose one of the equations (for example, ∥x s x u 2 = d us 2), and solve it by using the solution of the linear system above.

Geometrically, we have the intersection between a line, given by the parametric equation in x s3,

$$\displaystyle{\left [\begin{array}{c} x_{s1} \\ x_{s2} \end{array} \right ] = A-B\left [\begin{array}{c} x_{s3} \end{array} \right ],}$$

where

$$\displaystyle\begin{array}{rcl} A& =& \frac{1} {2}\left [\begin{array}{cc} x_{v1} - x_{u1} & x_{v2} - x_{u2} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} \end{array} \right ]^{-1}\left [\begin{array}{c} \Vert x_{v}\Vert ^{2} -\Vert x_{u}\Vert ^{2} + d_{us}^{2} - d_{vs}^{2} \\ \Vert x_{r}\Vert ^{2} -\Vert x_{u}\Vert ^{2} + d_{us}^{2} - d_{rs}^{2} \end{array} \right ], {}\\ B& =& \left [\begin{array}{cc} x_{v1} - x_{u1} & x_{v2} - x_{u2} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} \end{array} \right ]^{-1}\left [\begin{array}{c} x_{v3} - x_{u3} \\ x_{r3} - x_{u3} \end{array} \right ], {}\\ \end{array}$$

and a sphere, given by

$$\displaystyle{ \Vert x_{s} - x_{u}\Vert ^{2} = d_{ us}^{2}, }$$
(3.2)

resulting in three possibilities (Fig. 3.2):

  • Empty set (the line does not intersect the sphere),

  • Only one point (the line is tangent to sphere),

  • Two points (the line is a secant of the sphere).

Fig. 3.2
figure 2

Intersection of a line and a sphere

Exercise 3.5

Show the equivalence between the original quadratic system,

$$\displaystyle\begin{array}{rcl} \Vert x_{s} - x_{u}\Vert ^{2}& =& d_{ us}^{2}, {}\\ \Vert x_{s} - x_{v}\Vert ^{2}& =& d_{ vs}^{2}, {}\\ \Vert x_{s} - x_{r}\Vert ^{2}& =& d_{ rs}^{2}, {}\\ \end{array}$$

and the new system, given by

$$\displaystyle{\left \Vert \left [\begin{array}{ccc} x_{s1} & x_{s2} & x_{s3} \end{array} \right ]^{T} -\left [\begin{array}{ccc} x_{u1} & x_{u2} & x_{u3} \end{array} \right ]^{T}\right \Vert ^{2} = d_{ us}^{2},}$$
$$\displaystyle\begin{array}{rcl} \left [\begin{array}{c} x_{s1} \\ x_{s2} \end{array} \right ]& & = \left [\begin{array}{cc} x_{v1} - x_{u1} & x_{v2} - x_{u2} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} \end{array} \right ]^{-1} {}\\ & & \quad \times \left \{\frac{1} {2}\left [\begin{array}{c} \Vert x_{v}\Vert ^{2} -\Vert x_{u}\Vert ^{2} + d_{us}^{2} - d_{vs}^{2} \\ \Vert x_{r}\Vert ^{2} -\Vert x_{u}\Vert ^{2} + d_{us}^{2} - d_{rs}^{2} \end{array} \right ] -\left [\begin{array}{c} x_{v3} - x_{u3} \\ x_{r3} - x_{u3} \end{array} \right ]\left [\begin{array}{c} x_{s3} \end{array} \right ]\right \},{}\\ \end{array}$$

where the variables are \(x_{s1},x_{s2},x_{s3} \in \mathbb{R}\).

Exercise 3.6

If the matrix \(\left [\begin{array}{cc} x_{v1} - x_{u1} & x_{v2} - x_{u2} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} \end{array} \right ]\) is not invertible, or if we can not select an invertible matrix 2 × 2 from the original matrix

$$\displaystyle{\left [\begin{array}{ccc} x_{v1} - x_{u1} & x_{v2} - x_{u2} & x_{v3} - x_{u3} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} & x_{r3} - x_{u3} \end{array} \right ],}$$

does this mean that we can not ensure the finiteness of the solution set?

The discussion above suggests that there are at least two important aspects to the issue of finiteness of the DGP solution set:

  1. a

    For each vertex sV that we need to process, there must exist edges {u, s}, {v, s}, {r, s} ∈ E (where u, v, rV are the vertices whose coordinates have already been calculated), in order to generate a solvable quadratic system

    $$\displaystyle\begin{array}{rcl} \Vert x_{s} - x_{u}\Vert ^{2}& =& d_{ us}^{2}, \\ \Vert x_{s} - x_{v}\Vert ^{2}& =& d_{ vs}^{2}, {} \\ \Vert x_{s} - x_{r}\Vert ^{2}& =& d_{ rs}^{2}, \\ \end{array}$$
    (3.3)

    with \(x_{s} \in \mathbb{R}^{3}\) as the unknown.

  2. b

    Clearly, in order to guarantee that the system (3.3) will have at most two solutions, the matrix obtained by subtracting one equation from the other two must have full rank.

Exercise 3.7

What geometric interpretation can be given to the assertion that the matrix

$$\displaystyle{\left [\begin{array}{ccc} x_{v1} - x_{u1} & x_{v2} - x_{u2} & x_{v3} - x_{u3} \\ x_{r1} - x_{u1} & x_{r2} - x_{u2} & x_{r3} - x_{u3} \end{array} \right ]}$$

has full rank?

Exercise 3.8

In \(\mathbb{R}^{2}\), for the above exercise, how would the question be answered?

Exercise 3.9

Which is the most important condition in practice—that there exist edges {u, s}, {v, s}, {r, s} ∈ E or that the associate matrix has complete rank?

Exercise 3.10

If we have more than three edges in conditions (a) and (b) above for Eq. (3.3), how can we choose among these edges?

3.3 Vertex Order for the DGP

Based on the previous discussions, we highlight two important points related to vertices sV whose coordinates still need to be positioned in \(\mathbb{R}^{3}\):

  1. 1.

    There are u, v, rV such that {u, s}, {v, s}, {r, s} ∈ E,

  2. 2.

    \(x_{u},x_{v},x_{r} \in \mathbb{R}^{3}\) are part of a valid realization.

The idea which is the link between these two points is related to the concept of order on the vertices of the DGP graph. That is, if there exists an order relation in V which satisfies the conditions 1 and 2 above, we can ensure (excluding rotations, translations, and reflections and supposing that the points related to the vertices u, v, r are not collinear) that the DGP solution set is finite.

Recall that to solve a DGP, for K = 3, we must obtain a valid realization \(x: V \rightarrow \mathbb{R}^{3}\) of the related graph, which implies that we need to find the coordinates of the points \(x_{s} \in \mathbb{R}^{3}\) for each sV, satisfying all equations of the system

$$\displaystyle{\forall \{u,v\} \in E,\;\Vert x_{u} - x_{v}\Vert = d_{uv}.}$$

A solution of the problem can then be represented as an element of \(\mathbb{R}^{3\vert V \vert }\).

Exercise 3.11

If we have such an order on the vertices V, does the search space change?

If three points are given (satisfying the DGP equations) as positions for the first three vertices of the order we are looking for (which is easy to find for most applications), we can say in polynomial time whether or not there is such an order [28, 45].

Consider a DGP with V = {a, b, c, u, v, r} and

$$\displaystyle{E =\{\{ a,b\},\{a,c\},\{a,u\},\{b,c\},\{b,v\},\{c,r\},\{u,v\},\{u,r\},\{v,r\}\}.}$$

For K = 2, we wish to find an order such that the two first vertices generate a clique and, from the third on, there are two previous vertices coming before it. By considering all possible initial cliques, let us see what happens:

  • Starting with the clique {a, b}, we have the following possible vertices for the third position: c, u, v, r. The next vertex would be c, because {{a, c}, {b, c}} ⊂ E. However, after that, there would exist no other candidate vertices.

  • Starting with the clique {a, c}, we have the following possible vertices for the third position: b, u, v, r. The next vertex would be b, because {{a, b}, {c, b}} ⊂ E. However, after that, there would exist no other candidate vertices.

  • Starting with the clique {a, u}, there does not exist any candidate vertex to occupy the third position.

  • Starting with the clique {b, c}, we have the following possible vertices for the third position: a, u, v, r. The next vertex would be a, because {{b, a}, {c, a}} ⊂ E. However, after that, there would exist no other candidate vertices.

  • Starting with the clique {b, v}, there does not exist any candidate vertex to occupy the third position.

  • Starting with the clique {c, r}, there does not exist any candidate vertex to occupy the third position.

  • Starting with the clique {u, v}, we have the following possible vertices for the third position: a, b, c, r. The next vertex would be r, because {{u, r}, {v, r}} ⊂ E. However, after that, there would exist no other candidate vertices.

  • Starting with the clique {u, r}, we have the following possible vertices for the third position: a, b, c, v. The next vertex would be v, because {{u, v}, {r, v}} ⊂ E. However, after that, there would exist no other candidate vertices.

  • Starting with the clique {v, r}, we have the following possible vertices for the third position: a, b, c, u. The next vertex would be u, because {{v, u}, {r, u}} ⊂ E. However, after that, there would exist no other candidate vertices.

Therefore, no such order exists! However, the associated graph does not have an uncountable number of realizations (modulo rotations, translations, and reflections) [37] (see Fig. 3.3). That is, the existence of a vertex order mentioned before is just a sufficient condition for the finiteness of the DGP solution set. This question is related to another area of research called graph rigidity [32].

Fig. 3.3
figure 3

DGP graph without order satisfying condition 1, for K = 2