4.66667

4.7 | 16 ratings Rate this file 90 downloads (last 30 days) File Size: 16.36 KB File ID: #6543

Functions for the rectangular assignment problem

by Markus Buehren

 

14 Dec 2004 (Updated 01 Dec 2009)

Code covered by the BSD License  

This package provides m- and mex-functions for solving the rectangular assignment problem.

Download Now | Watch this File

File Information
Description

With this package, I provide some MATLAB-functions regarding the rectangular assignment problem. This problem appears for example in tracking applications, where one has M existing tracks and N new measurements. For each possible assignment, a cost or distance is computed. All cost values form a matrix, where the row index corresponds to the tracks and the column index corresponds to the measurements. The provided functions return an optimal or suboptimal assignment - in the sense of minimum overall costs - for the given matrix.

In the process of gating, typically very unlikely assignments are forbidden. The given functions can handle forbidden assignments, which are marked by setting the corresponding assignment cost to infinity.

The optimal solution is computed using Munkres algorithm, also known as Hungarian Algorithm.

The functions are called like
[assignment, cost] = assignmentalgorithm(distMatrix);

Acknowledgements
This submission has inspired the following:
Munkres Assignment Algorithm, Rectangular maximal assignment with lattice of dual price, Munkres for Simulink
MATLAB release MATLAB 6.5.1 (R13SP1)
Zip File Content  
HTML Files assignment.html
Other Files assignmentallpossible.m,
assignmentoptimal.c,
assignmentoptimal.m,
assignmentsuboptimal1.c,
assignmentsuboptimal1.m,
assignmentsuboptimal2.c,
assignmentsuboptimal2.m,
license.txt,
testassignment.m
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (19)
27 Mar 2005 Raimund Leitner

Very very good and easy to use implementation of the Munkres algorithm.

28 Oct 2005 Tium Tium

works great, easy to use

10 Nov 2005 Coffee Bear

very fast

12 Jul 2007 praveen kuppili

very good one!!!!!!!

30 Jan 2008 A Alpers  
18 Mar 2008 Hao Cheng

Very nice work. I do appreciate.

22 Apr 2008 Tom Pinkiewicz

Thanks Markus. This code works great. I re-packaged your c function and integrated it into Simulink. I've posted it on this website.

22 Apr 2008 Tom Pinkiewicz

Thanks Markus. This code works great. I re-packaged your c function and integrated it into Simulink. I've posted it on this website.

23 Apr 2008 Ldd Lasss  
25 Apr 2008 Markus Buehren

Ldd Lasss, please let me know why you gave a bad rating for my package!

23 May 2008 Francois Berthiaume

Many thanks for the code, it works great!

23 May 2008 Francois Berthiaume  
29 May 2008 Stephen Pan

Excellent!

11 Jul 2008 Leonid Chindelevitch

You saved me a lot of trouble, thank you!

09 Oct 2008 Salha Al-Kuwaiti

Perfect! Keep the good work Up!

28 Oct 2008 Harrison Woods

Great, thanks for sharing this code!!

11 Jan 2009 Clemens Yu  
21 Feb 2009 Greg Fricke

Thank you Markus!
This has helped me pass a critical practicality hurdle in my Master's Research without spending a week or two reading, writing, and debugging!

17 Mar 2009 michele pace

Hi, I used assignmentoptimal.* in a multitracking application, exactly in the scenario you described. It works very well. Great job, thank you.

Please login to add a comment or rating.
Updates
08 Aug 2005

Bug Fix: Error occured when the distance matrix contained only zeros and infinite values.

18 Sep 2007

Bug in documentation corrected.

29 Oct 2007

Bugfix: Please update if you do not use ONE_INDEXING in assignmentoptimal.c.

14 Nov 2007

Update of contact information in documentation.

30 Jan 2008

Documentation updated.

01 Dec 2009

Minor changes.

Tag Activity for this File
Tag Applied By Date/Time
optimization Markus Buehren 22 Oct 2008 07:38:02
munkres algorithm Markus Buehren 22 Oct 2008 07:38:02
hungarian algorithm Markus Buehren 22 Oct 2008 07:38:02
assignment problem Markus Buehren 22 Oct 2008 07:38:02
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com