Skip to main content
added 40 characters in body
Source Link
Manfred Weis
  • 13.2k
  • 4
  • 34
  • 76

I would prefer the Hungarian method in cases, where a simpler algorithm and a simpler data structure seem desirable; that could be the case, if only small instances need to be handled or, if a GPU implementation is intended.

Handling m-to-n assignments is also possible with the Hungarian Method via cloning:

  • if a worker can perform $k$ tasks, then creating $k$ clones of the respective worker does the trick.

  • if a task requires $k$ workers, then creating $k$ clones of the tasks does the trick.

if w.l.o.g. workers correspond to rows in the assignment matrix and tasks to columns, then cloning is done by creating duplicates of the corresponding rows, resp. columns.
It should however be kept in mind, that a solution is not always possible due to shortage of either workers or tasks, but drawing conclusions of such failures (need to hire a worker or send him on vacation or, to create or give up tasks), is a different story.

Actual advice for chosing between the two methods would however better be discussed in a forum dedicated to scientific computing (e.g. http://scicomp.stackexchange.com)

I would prefer the Hungarian method in cases, where a simpler algorithm and a simpler data structure seem desirable; that could be the case, if only small instances need to be handled.

Handling m-to-n assignments is also possible with the Hungarian Method via cloning:

  • if a worker can perform $k$ tasks, then creating $k$ clones of the respective worker does the trick.

  • if a task requires $k$ workers, then creating $k$ clones of the tasks does the trick.

if w.l.o.g. workers correspond to rows in the assignment matrix and tasks to columns, then cloning is done by creating duplicates of the corresponding rows, resp. columns.
It should however be kept in mind, that a solution is not always possible due to shortage of either workers or tasks, but drawing conclusions of such failures (need to hire a worker or send him on vacation or, to create or give up tasks), is a different story.

Actual advice for chosing between the two methods would however better be discussed in a forum dedicated to scientific computing (e.g. http://scicomp.stackexchange.com)

I would prefer the Hungarian method in cases, where a simpler algorithm and a simpler data structure seem desirable; that could be the case, if only small instances need to be handled or, if a GPU implementation is intended.

Handling m-to-n assignments is also possible with the Hungarian Method via cloning:

  • if a worker can perform $k$ tasks, then creating $k$ clones of the respective worker does the trick.

  • if a task requires $k$ workers, then creating $k$ clones of the tasks does the trick.

if w.l.o.g. workers correspond to rows in the assignment matrix and tasks to columns, then cloning is done by creating duplicates of the corresponding rows, resp. columns.
It should however be kept in mind, that a solution is not always possible due to shortage of either workers or tasks, but drawing conclusions of such failures (need to hire a worker or send him on vacation or, to create or give up tasks), is a different story.

Actual advice for chosing between the two methods would however better be discussed in a forum dedicated to scientific computing (e.g. http://scicomp.stackexchange.com)

added proposal for handling n to m assignments with Hungarian Method; added pointer to scientific computing forum,
Source Link
Manfred Weis
  • 13.2k
  • 4
  • 34
  • 76

I would prefer the Hungarian method in cases, where a simpler algorithm and a simpler data structure seem desirable; that could be the case, if only small instances need to be handled.

Handling m-to-n assignments is also possible with the Hungarian Method via cloning:

  • if a worker can perform $k$ tasks, then creating $k$ clones of the respective worker does the trick.

  • if a task requires $k$ workers, then creating $k$ clones of the tasks does the trick.

if w.l.o.g. workers correspond to rows in the assignment matrix and tasks to columns, then cloning is done by creating duplicates of the corresponding rows, resp. columns.
It should however be kept in mind, that a solution is not always possible due to shortage of either workers or tasks, but drawing conclusions of such failures (need to hire a worker or send him on vacation or, to create or give up tasks), is a different story.

Actual advice for chosing between the two methods would however better be discussed in a forum dedicated to scientific computing (e.g. http://scicomp.stackexchange.com)

I would prefer the Hungarian method in cases, where a simpler algorithm and a simpler data structure seem desirable; that could be the case, if only small instances need to be handled.

Handling m-to-n assignments is also possible with the Hungarian Method via cloning:

  • if a worker can perform $k$ tasks, then creating $k$ clones of the respective worker does the trick.

  • if a task requires $k$ workers, then creating $k$ clones of the tasks does the trick.

if w.l.o.g. workers correspond to rows in the assignment matrix and tasks to columns, then cloning is done by creating duplicates of the corresponding rows, resp. columns.

Actual advice for chosing between the two methods would however better be discussed in a forum dedicated to scientific computing (e.g. http://scicomp.stackexchange.com)

I would prefer the Hungarian method in cases, where a simpler algorithm and a simpler data structure seem desirable; that could be the case, if only small instances need to be handled.

Handling m-to-n assignments is also possible with the Hungarian Method via cloning:

  • if a worker can perform $k$ tasks, then creating $k$ clones of the respective worker does the trick.

  • if a task requires $k$ workers, then creating $k$ clones of the tasks does the trick.

if w.l.o.g. workers correspond to rows in the assignment matrix and tasks to columns, then cloning is done by creating duplicates of the corresponding rows, resp. columns.
It should however be kept in mind, that a solution is not always possible due to shortage of either workers or tasks, but drawing conclusions of such failures (need to hire a worker or send him on vacation or, to create or give up tasks), is a different story.

Actual advice for chosing between the two methods would however better be discussed in a forum dedicated to scientific computing (e.g. http://scicomp.stackexchange.com)

added proposal for handling n to m assignments with Hungarian Method; added pointer to scientific computing forum,
Source Link
Manfred Weis
  • 13.2k
  • 4
  • 34
  • 76

I would prefer the Hungarian method in cases, where a simpler algorithm and a simpler data structure seem desirable; that could be the case, if only small instances need to be handled.

Handling m-to-n assignments is also possible with the Hungarian Method via cloning:

  • if a worker can perform $k$ tasks, then creating $k$ clones of the respective worker does the trick.

  • if a task requires $k$ workers, then creating $k$ clones of the tasks does the trick.

if w.l.o.g. workers correspond to rows in the assignment matrix and tasks to columns, then cloning is done by creating duplicates of the corresponding rows, resp. columns.

Actual advice for chosing between the two methods would however better be discussed in a forum dedicated to scientific computing (e.g. http://scicomp.stackexchange.com)

I would prefer the Hungarian method in cases, where a simpler algorithm and a simpler data structure seem desirable; that could be the case, if only small instances need to be handled.

I would prefer the Hungarian method in cases, where a simpler algorithm and a simpler data structure seem desirable; that could be the case, if only small instances need to be handled.

Handling m-to-n assignments is also possible with the Hungarian Method via cloning:

  • if a worker can perform $k$ tasks, then creating $k$ clones of the respective worker does the trick.

  • if a task requires $k$ workers, then creating $k$ clones of the tasks does the trick.

if w.l.o.g. workers correspond to rows in the assignment matrix and tasks to columns, then cloning is done by creating duplicates of the corresponding rows, resp. columns.

Actual advice for chosing between the two methods would however better be discussed in a forum dedicated to scientific computing (e.g. http://scicomp.stackexchange.com)

Source Link
Manfred Weis
  • 13.2k
  • 4
  • 34
  • 76
Loading