Generalized Assignment Problem
   HOME

TheInfoList



OR:

In
applied mathematics Applied mathematics is the application of mathematics, mathematical methods by different fields such as physics, engineering, medicine, biology, finance, business, computer science, and Industrial sector, industry. Thus, applied mathematics is a ...
, the maximum generalized assignment problem is a problem in
combinatorial optimization Combinatorial optimization is a subfield of mathematical optimization that consists of finding an optimal object from a finite set of objects, where the set of feasible solutions is discrete or can be reduced to a discrete set. Typical combina ...
. 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 tasks 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.


In 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 assignment problem. When the costs and profits of all tasks do not vary between different agents, this problem reduces to the multiple knapsack problem. If there is a single agent, then, this problem reduces to the
knapsack problem The knapsack problem is the following problem in combinatorial optimization: :''Given a set of items, each with a weight and a value, determine which items to include in the collection so that the total weight is less than or equal to a given lim ...
.


Explanation of definition

In the following, we have ''n'' kinds of items, a_1 through a_n and ''m'' kinds of bins b_1 through b_m. Each bin b_i is associated with a budget t_i. For a bin b_i, each item a_j has a profit p_ and a weight w_. A solution is an assignment from items to bins. A feasible solution is a solution in which for each bin b_i the total weight of assigned items is at most t_i. 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 an integer program: : \begin \text & \sum_^m\sum_^n p_ x_. \\ \text & \sum_^n w_ x_ \le t_i & & i=1, \ldots, m; \\ & \sum_^m x_ \le 1 & & j=1, \ldots, n; \\ & x_ \in \ & & i=1, \ldots, m, \quad j=1, \ldots, n; \end


Complexity

The generalized assignment problem is NP-hard. However, there are linear-programming relaxations which give a (1 - 1/e)-approximation.


Greedy approximation algorithm

For the problem variant in which not every item must be assigned to a bin, there is a family of algorithms for solving the GAP by using a combinatorial translation of any algorithm for the knapsack problem into an approximation algorithm for the GAP. Using any \alpha-approximation algorithm ALG for the
knapsack problem The knapsack problem is the following problem in combinatorial optimization: :''Given a set of items, each with a weight and a value, determine which items to include in the collection so that the total weight is less than or equal to a given lim ...
, it is possible to construct a (\alpha + 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 b_j is selected. The selection for bin b_j might change as items might be reselected in a later iteration for other bins. The residual profit of an item x_i for bin b_j is p_ if x_i is not selected for any other bin or p_p_ if x_i is selected for bin b_k. Formally: We use a vector T to indicate the tentative schedule during the algorithm. Specifically, T j means the item x_i is scheduled on bin b_j and T -1 means that item x_i is not scheduled. The residual profit in iteration j is denoted by P_j, where P_j p_ if item x_i is not scheduled (i.e. T -1) and P_j p_-p_ if item x_i is scheduled on bin b_k (i.e. T k). Formally: : Set T -1 \text i = 1\ldots n : For j=1,\ldots,m do: :: Call ALG to find a solution to bin b_j using the residual profit function P_j. Denote the selected items by S_j. :: Update T using S_j, i.e., T j for all i \in S_j.


See also

* Assignment problem


References


Further reading

* {{cite book , isbn=978-3-540-24777-7, title=Knapsack Problems, last1=Kellerer, first1=Hans, last2=Pferschy, first2=Ulrich, last3=Pisinger, first3=David, date=2013-03-19, publisher=Springer NP-complete problems Combinatorial optimization