Generalized assignment problem

From Wikipedia, the free encyclopedia

In applied mathematics, the maximum general assignment problem is a problem in combinatorial optimization. This problem is a generalization of the assignment problem in which both tasks and agents have a size. Moreover, the size of each task might vary from one agent to the other.

This problem in its most general form 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 and profit that may vary depending on the agent-task assignment. Moreover, each agent has a budget and the sum of the costs of task assigned to it cannot exceed this budget. It is required to find an assignment in which all agents do not exceed their budget and total profit of the assignment is maximized.

Contents

[edit] Special cases

In the special case in which all the agents' budgets and all tasks' costs are equal to 1, this problem reduces to the maximum assignment problem. When the costs and profits of all agents-task assignment are equal, this problem reduces to the multiple knapsack problem. If there is a single agent, then, this problem reduces to the Knapsack problem.

[edit] Definition

In the following, we have n kinds of items, x1 through xn and m kinds of bins b1 through bm. Each bin bi is associated with a budget wi. For a bin bi, each item xj has a profit pij and a weight wij. A solution is subset of items U and an assignment from U to the bins. A feasible solution is a solution in which for each bin bi the weights sum of assigned items is at most wi. The solution's profit is the sum of profits for each item-bin assignment. The goal is to find a maximum profit feasible solution.

Mathematically the generalized assignment problem can be formulated as:

maximize \sum_{i=1}^m\sum_{j=1}^n p_{ij} x_{ij}.
subject to \sum_{j=1}^n w_{ij} x_{ij} \le w_i \qquad i=1, \ldots, m;
 \sum_{i=1}^m x_{ij} \leq 1 \qquad j=1, \ldots, n;
 x_{ij} \in \{0,1\} \qquad i=1, \ldots, m, \quad j=1, \ldots, n;

The generalized assignment problem is NP-hard, and it is even APX-hard to approximation. Recently it was shown that it is (e / (e − 1) − ε) hard to approximate for every ε.

[edit] Greedy approximation algorithm

Using any algorithm ALG α-approximation algorithm for the knapsack problem, it is possible to construct a (α + 1)-approximation for the generalized assignment problem in a greedy manner using a residual profit concept. The algorithm constructs a schedule in iterations, where during iteration j a tentative selection of items to bin bj is selected. The selection for bin bj might change as items might be reselected in a later iteration for other bins. The residual profit of an item xi for bin bj is pij if xi is not selected for any other bin or pijpik if xi is selected for bin bk.

Formally: We use a vector T to indicate the tentative schedule during the algorithm. Specifically, T[i] = j means the item xi is scheduled on bin bj and T[i] = − 1 means that item xi is not scheduled. The residual profit in iteration j is denoted by Pj, where Pj[i] = pij if item xi is not scheduled (i.e. T[i] = − 1) and Pj[i] = pijpik if item xi is scheduled on bin bk (i.e. T[i] = k).

Formally:

Set T[i] = − 1 for all i = 1\ldots n
For j = 1...m do:
Call ALG to find a solution to bin bj using the residual profit function Pj. Denote the selected items by Sj.
Update T using Sj, i.e., T[i] = j for all i \in S_j.

[edit] See also

[edit] References

[edit] Further reading