Internally it handles the points and the possible matchings as a bi-partite graphs and finds an optimal matching due to euclidean distance by an efficient linear programming solver.
getOptimalPointMatching(x, y, method = "lp", full.output = FALSE)
[Network
| matrix
]
First network or matrix of coordinates of the first point set.
[Network
| matrix
]
Second network or matrix of coordinates of the second point set.
[character(1)
]
Method used to solve the assignment problem. There are currently two methods
available:
Solves the problem be means of linear programming with the lpSolve package to optimality. This is the default.
The assignment problem can be formulated as a matching problem on bipartite graphs. This method makes use of the push-relabel algorithm from the igraph. Solves to optimality.
Random point matching. Just for comparisson.
Greedy point matching, i.e., iterativeely assign two unmatched points with minimal euclidean distance.
[logical(1)
]
Should optimization process information, e.g., the weight of the best matching,
be returned?
Default is FALSE
.
[matrix | list
]
Either a matrix where each row consists of the indizes of the pairwise
assigned points.
If full.output = TRUE
a list is returned with the assignment matrix “pm”,
the method “method” and the optimal weight “opt.weight”.