tgn3000 / fastAuction

C++ interface of Florian Bernard's original MEX implementation of Bertsekas' auction algorithm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

C++ implementation of auction algorithm for solving sparse linear assignment problems (LAPs)

This is the C++ interface of Florian Bernard's original MEX code [1], which implements Bertsekas's auction algorithm [2] for sparse LAPs.

We illustrate the usages of both C++ and MEX codes by solving the sparse matrices that we construct using the SuiteSparse Matrix Collection (formerly known as the University of Florida Sparse Matrix Collection). To solve these sample LAPs, please follow the following steps.

(1) Download UFget from the website of the SuiteSparse Matrix Collection and add UFget to Matlab's search path.

(2) To solve our sample LAPs using Florian's MEX code, run

cd Matlab
main

This file writes the sparsity pattern of each sample matrix into a text file

Data/UFmat_XXXX.dat 

(XXXX is the four-digit matrix ID), builds Florian's implementation auctionAlgorithmSparseMex.cpp into a MEX function, and calls it to solve our sample LAPs.

(3) Having produced the LAP text files in Data directory, we can run the C++ code by

cd src
make run

and solve these LAPs in Terminal.

To cite this code, please use [3].

References

[1] Bernard, F., Vlassis, N., Gemmar, P., Husch, A., Thunberg, J., Goncalves, J. and Hertel, F. 2016. Fast correspondences for statistical shape models of brain structures. SPIE Medical Imaging, San Diego, CA, 2016. Available at https://www.mathworks.com/matlabcentral/fileexchange/48448

[2] Bertsekas, D.P. 1998. Network Optimization: Continuous and Discrete Models. Athena Scientific.

[3] Bernard, F., Tan, G. 2017. A C++ implementation of Bertsekas's Auction Algorithm for solving sparse linear assignment problems (2017). C++ implementation at https://github.com/tgn3000/fastAuction. Bernard's original MEX implementation at http://www.mathworks.com/matlabcentral/fileexchange/48448

About

C++ interface of Florian Bernard's original MEX implementation of Bertsekas' auction algorithm

License:Other


Languages

Language:C++ 72.1%Language:MATLAB 26.5%Language:Makefile 1.4%