The current implementation of bss_eval exhaustively tests all permutations of sources which has factorial cost. It is possible to find the permutation in quadratic time using a minimum weight matching algorithm for bipartite graphs. This algorithm is implemented by the function scipy.optimize.linear_sum_assignment. A wrapper around the scipy function is added to handle possible infinite entries in the cost matrix.
I tried to run the tests, but got some errors due to missing files.
The current implementation of
bss_eval
exhaustively tests all permutations of sources which has factorial cost. It is possible to find the permutation in quadratic time using a minimum weight matching algorithm for bipartite graphs. This algorithm is implemented by the functionscipy.optimize.linear_sum_assignment
. A wrapper around the scipy function is added to handle possible infinite entries in the cost matrix.I tried to run the tests, but got some errors due to missing files.