Assignment problem

from Wikipedia, the free encyclopedia

The (linear) assignment problem is a discrete optimization problem from graph theory . It is a special, classic transport problem and is used in operations research .

It can be solved using linear programming or using the Hungarian method .

Problem Description

It can be formulated verbally as follows:

The same number of activities with known (execution) costs should be assigned to a number of workers, the execution costs differing from worker to worker and from task to task.

  • Each worker is assigned exactly one activity and each activity is carried out by exactly one worker.
  • The lowest-cost work plan is then selected from among all the permitted plans.

Mathematical model

Description of graph theory

It is a bipartite, weighted graph with given. Between each node there is an edge, the weight of which represents the costs that arise if you match and .

The goal is now to find a maximum matching with minimum costs.

Matrix display

Based on the problem description, we can generate a matrix by entering the costs in the cell that arise when we assign the task to the worker .

The goal is then to find a permutation of the rows of the matrix that minimizes their trace .

Description as a linear program

With the variables (to be determined)

and the (given) execution costs, the following mathematical model results:

Minimize the total cost

under the constraints

for ,
for .

Time complexity

The problem can be solved using the Hungarian method in .

Examples and effort

Examples of the linear assignment problem are the assignment of students to school projects or the assignment of students to seminar places.

For calculated examples see Hungarian method, examples .

Generalizations and Variants

The assignment problem is a special case of a maximum matching of minimum weight in a bipartite, weighted graph.

If only relative costs are known instead of absolute costs, this is a stable marriage problem .

literature

Web links