|
|
Line 1: |
Line 1: |
| {{refimprove|date=August 2012}}
| | Benton precisely what you can call me and Towards the gym comfortable a lot of use complete name. Louisiana is in addition to I love most these days I'm considering other programs. The favorite hobby for him and kids is jogging it's true he has time to adopt on new things. Production and planning is her day job now. You can always find his website here: http://www.yellowpages.com/nationwide/mip/paramount-solutions-inc-13528093?lid=13528093<br><br>Also visit my webpage: [http://www.yellowpages.com/nationwide/mip/paramount-solutions-inc-13528093?lid=13528093 phone psychic readings] |
| The '''assignment problem''' is one of the fundamental [[combinatorial optimization]] problems in the branch of [[Optimization (mathematics)|optimization]] or [[operations research]] in [[mathematics]]. It consists of finding a maximum weight [[Matching (graph theory)|matching]] in a [[weighted graph|weighted]] [[bipartite graph]].
| |
| | |
| In its most general form, the problem is as follows:
| |
| | |
| :There are a number of ''agents'' and a number of ''tasks''. Any agent can be assigned to perform any task, incurring some ''cost'' that may vary depending on the agent-task assignment. It is required to perform all tasks by assigning exactly one agent to each task and exactly one task to each agent in such a way that the ''total cost'' of the assignment is minimized.
| |
| | |
| If the numbers of agents and tasks are equal and the total cost of the assignment for all tasks is equal to the sum of the costs for each agent (or the sum of the costs for each task, which is the same thing in this case), then the problem is called the ''linear assignment problem''. Commonly, when speaking of the ''assignment problem'' without any additional qualification, then the ''linear assignment problem'' is meant.
| |
| | |
| == Algorithms and generalizations ==
| |
| | |
| The [[Hungarian algorithm]] is one of many [[algorithm]]s that have been devised that solve the linear assignment problem within time bounded by a polynomial expression of the number of agents.
| |
| | |
| The assignment problem is a special case of the [[transportation problem]], which is a special case of the [[minimum cost flow problem]], which in turn is a special case of a [[linear program]]. While it is possible to solve any of these problems using the [[simplex algorithm]], each specialization has more efficient algorithms designed to take advantage of its special structure. If the cost function involves quadratic inequalities it is called the [[quadratic assignment problem]].
| |
| | |
| ==Example==
| |
| | |
| Suppose that a taxi firm has three taxis (the agents) available, and three customers (the tasks) wishing to be picked up as soon as possible. The firm prides itself on speedy pickups, so for each taxi the "cost" of picking up a particular customer will depend on the time taken for the taxi to reach the pickup point. The solution to the assignment problem will be whichever combination of taxis and customers results in the least total cost.
| |
| | |
| However, the assignment problem can be made rather more flexible than it first appears. In the above example, suppose that there are four taxis available, but still only three customers. Then a fourth dummy task can be invented, perhaps called "sitting still doing nothing", with a cost of 0 for the taxi assigned to it. The assignment problem can then be solved in the usual way and still give the best solution to the problem.
| |
| | |
| Similar tricks can be played in order to allow more tasks than agents, tasks to which multiple agents must be assigned (for instance, a group of more customers than will fit in one taxi), or maximizing profit rather than minimizing cost.
| |
| | |
| ==Formal mathematical definition==
| |
| | |
| The formal definition of the '''assignment problem''' (or '''linear assignment problem''') is
| |
| | |
| :Given two sets, ''A'' and ''T'', of equal size, together with a [[weight function]] ''C'' : ''A'' × ''T'' → '''[[real number|R]]'''. Find a [[bijection]] ''f'' : ''A'' → ''T'' such that the [[Loss function|cost function]]: | |
| | |
| ::<math>\sum_{a\in A}C(a,f(a))</math>
| |
| is minimized.
| |
| | |
| Usually the weight function is viewed as a square real-valued [[matrix (mathematics)|matrix]] ''C'', so that the cost function is written down as:
| |
| | |
| :<math>\sum_{a\in A}C_{a,f(a)}</math>
| |
| | |
| The problem is "linear" because the cost function to be optimized as well as all the constraints contain only linear terms.
| |
| | |
| The problem can be expressed as a standard [[linear program]] with the objective function
| |
| | |
| :<math>\sum_{i\in A}\sum_{j\in T}C(i,j)x_{ij}</math> | |
| | |
| subject to the constraints
| |
| | |
| :<math>\sum_{j\in T}x_{ij}=1\text{ for }i\in A, \, </math>
| |
| | |
| :<math>\sum_{i\in A}x_{ij}=1\text{ for }j\in T, \, </math>
| |
| | |
| :<math>x_{ij}\ge 0\text{ for }i,j\in A,T. \, </math>
| |
| | |
| The variable <math>x_{ij}</math> represents the assignment of agent <math>i</math> to task <math>j</math>, taking value 1 if the assignment is done and 0 otherwise. This formulation allows also fractional variable values, but there is always an optimal solution where the variables take integer values. This is because the constraint matrix is [[Unimodular matrix#Total unimodularity|totally unimodular]]. The first constraint requires that every agent is assigned to exactly one task, and the second constraint requires that every task is assigned exactly one agent.
| |
| | |
| ==See also==
| |
| *[[Auction algorithm]]
| |
| *[[Generalized assignment problem]]
| |
| *[[Linear bottleneck assignment problem]]
| |
| *[[National Resident Matching Program]]
| |
| *[[Quadratic assignment problem]]
| |
| *[[Stable marriage problem]]
| |
| *[[Stable roommates problem]]
| |
| *[[Transportation theory (mathematics)|Monge-Kantorovich problem]], a more general formulation
| |
| *[[Weapon target assignment problem]]
| |
| | |
| == Further reading ==
| |
| *{{cite book | last=Brualdi | first=Richard A. | title=Combinatorial matrix classes | series=Encyclopedia of Mathematics and Its Applications | volume=108 | location=Cambridge | publisher=[[Cambridge University Press]] | year=2006 | isbn=0-521-86565-4 | zbl=1106.05001 }}
| |
| * {{cite book | authorlink = Rainer Burkard | first = Rainer | last = Burkard | coauthors = M. Dell'Amico, S. Martello | year = 2012 | title = Assignment Problems (Revised reprint) | publisher = SIAM | isbn = 978-1-61197-222-1 }}
| |
| | |
| [[Category:Combinatorial optimization]]
| |
| [[Category:Matching]]
| |
| [[Category:Polynomial-time problems]]
| |
| [[Category:Linear programming]]
| |
| | |
| [[de:Zuordnungsproblem]]
| |
Benton precisely what you can call me and Towards the gym comfortable a lot of use complete name. Louisiana is in addition to I love most these days I'm considering other programs. The favorite hobby for him and kids is jogging it's true he has time to adopt on new things. Production and planning is her day job now. You can always find his website here: http://www.yellowpages.com/nationwide/mip/paramount-solutions-inc-13528093?lid=13528093
Also visit my webpage: phone psychic readings