Looking for name of combinatorial problem- Permute rows and columns to minimize distance to target matrix

237 Views Asked by At

I am trying to find a solution (or algorithm) for the following combinatorial problem:

Given an input matrix and a target matrix, find a permutation of the rows and permutation of the columns that minimizes some (predefined) distance between the two matrices.

For example, I have an input matrix \begin{pmatrix} 4 & 2 & 3\\ 4 & 1 & 0\\ 2 & 4 & 1 \end{pmatrix}

and a target matrix

\begin{pmatrix} 5 & 0 & 0\\ 1 & 2 & 1\\ 3 & 2 & 1 \end{pmatrix}

and I want to minimize the element-wise distance between the input matrix I and the target matrix T $\sum_{i}^{n} \sum_{j}^{n} \left | i_{ij} - t_{ij}\right |$

as an example here is a permutation of the rows \begin{pmatrix} 4 & 1 & 0\\ 2 & 4 & 1\\ 4 & 2 & 3 \end{pmatrix}

and here is a permutation of the columns (after the permutation of the rows)

\begin{pmatrix} 4 & 0 & 1\\ 2 & 1 & 4\\ 4 & 3 & 2 \end{pmatrix}

I would be really grateful towards anyone who can point me towards literature for solving this problem.

1

There are 1 best solutions below

0
On BEST ANSWER

Here is a simple algorithm that usually reduces, but does not minimize, the distance.

Permute $I$ and $T$ as per the algorithm $f()$ described below:

  1. Calculate the multisets of each row

    e.g. \begin{pmatrix} 4 & 2 & 3\\ 4 & 1 & 0\\ 2 & 4 & 1 \end{pmatrix} becomes $(2,3,4),(0,1,4),(1,2,4)$

  2. Sort the rows based on the lexicographical order of the multisets

    e.g. $(2,3,4),(0,1,4),(1,2,4)$

    becomes

    $(0,1,4),(1,2,4),(2,3,4)$

  3. Calculate the multisets of each column

  4. Sort the columns based on the lexicographical order of the multisets

The output of this algorithm is $f(I)∘f`(T)$.