Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.3 / 3....
  • LibreOffice 3.6.6 / 4.0.3
  • MPlayer 1.1.1
  • systemd 204
  • Arch Linux 2013.05.01
  • Blender 2.67a
  • KDE Software Compilatio...
  • CrunchBang Linux Stable...
  • Elementary OS 0.1 / 0.2...
  • SystemRescueCd 3.6.0
  • Home > Linux > Programming > Perl Modules

    Algorithm::Munkres 0.08

    Download button

    No screenshots available
    Downloads: 480  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Ted Pedersen and Anagha Kulkarni | More programs
    Perl Artistic License / FREE
    May 29th, 2007, 08:05 GMT
    ROOT / Programming / Perl Modules

     Read user reviews (0)  Refer to a friend  Subscribe

    Algorithm::Munkres description

    A Perl extension for Munkres' solution to classical Assignment problem for square and rectangular matrices

    Algorithm::Munkres is a Perl extension for Munkres' solution to classical Assignment problem for square and rectangular matrices. This module extends the solution of Assignment problem for square matrices to rectangular matrices by padding zeros. Thus a rectangular matrix is converted to square matrix by padding necessary zeros.

    SYNOPSIS

    use Algorithm::Munkres;
    @mat = (
    [2, 4, 7, 9],
    [3, 9, 5, 1],
    [8, 2, 9, 7],
    );
    assign(@mat,@out_mat);


    Then the @out_mat array will have the output as: (0,3,1,2), where 0th element indicates that 0th row is assigned 0th column i.e value=2

    1st element indicates that 1st row is assigned 3rd column i.e.value=1
    2nd element indicates that 2nd row is assigned 1st column.i.e.value=2
    3rd element indicates that 3rd row is assigned 2nd column.i.e.value=0

    Assignment Problem: Given N jobs, N workers and the time taken by each worker to complete a job then how should the assignment of a Worker to a Job be done, so as to minimize the time taken.

    Thus if we have 3 jobs p,q,r and 3 workers x,y,z such that:
    x y z
    p 2 4 7
    q 3 9 5
    r 8 2 9

    where the cell values of the above matrix give the time required for the worker(given by column name) to complete the job(given by the row name)

    then possible solutions are:

    Total
    1. 2, 9, 9 20
    2. 2, 2, 5 9
    3. 3, 4, 9 16
    4. 3, 2, 7 12
    5. 8, 9, 7 24
    6. 8, 4, 5 17

    Thus (2) is the optimal solution for the above problem. This kind of brute-force approach of solving Assignment problem quickly becomes slow and bulky as N grows, because the number of possible solution are N! and thus the task is to evaluate each and then find the optimal solution.(If N=10, number of possible solutions: 3628800 !)

    Munkres' gives us a solution to this problem, which is implemented in this module.

    This module also solves Assignment problem for rectangular matrices (M x N) by converting them to square matrices by padding zeros. ex:

    If input matrix is:

    [2, 4, 7, 9],
    [3, 9, 5, 1],
    [8, 2, 9, 7]

    i.e 3 x 4 then we will convert it to 4 x 4 and the modified input matrix will be:

    [2, 4, 7, 9],
    [3, 9, 5, 1],
    [8, 2, 9, 7],
    [0, 0, 0, 0]

    Product's homepage

    Requirements:

    · Perl

      


    TAGS:

    Munkres extension | square matrices | rectangular matrices | module | Munkres | Perl

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM