1
$\begingroup$

Suppose we want to assign $n$ items to $m$ customers ($n \geq m$). Each assignment of an item $i$ to a customer $j$ has an associated cost $c(i,j)$. Find an assignment that maximizes the total cost. Here, we must assign every item; therefore, a customer might receive more than one item. Moreover, we require that each customer must receive at least one item.

This can be modeled as an integer linear program. However, I wonder whether there might be a better approach, namely, a polynomial algorithm. Note that if we do not require that each customer must receive at least one item, then we just assign each item to the customer with the maximum cost. Does anyone have any idea?

$\endgroup$
3
  • $\begingroup$ What does "n items" actually mean, "n differents kinds of items" or "n pieces"? $\endgroup$ Commented Jun 30, 2018 at 9:14
  • $\begingroup$ @RodrigodeAzevedo Sorry, I have an error before, here $n \geq m$. $\endgroup$ Commented Jul 2, 2018 at 10:51
  • $\begingroup$ @ManfredWeis They are different kinds of items, e.g, hat, pen, ... $\endgroup$ Commented Jul 2, 2018 at 10:52

1 Answer 1

3
$\begingroup$

That is a classical assignment problem, that can also be solved with the Kuhn-Munkres algorithm, for which generalizations to rectangular assignment matrices exist.

$\endgroup$
3
  • $\begingroup$ Dear Weis, I don't think that this problem is an assignment problem. Here one customer can receive more than one item, so a vertex in the customer side can connect to multiple edges. $\endgroup$ Commented Jul 2, 2018 at 10:56
  • 1
    $\begingroup$ simply replicate each customer $n$ times, i.e. $n$ columns for each customer, to reduce it to an assignment problem. $\endgroup$ Commented Jul 2, 2018 at 11:09
  • $\begingroup$ A detailed explanation of the Kuhn-Munkres algorithm for rectangular assignment problems can be found on this page $\endgroup$ Commented Jul 14, 2018 at 12:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .