We consider the allocation of indivisible objects among agents with different valuations, which can be positive or negative. An egalitarian allocation is an allocation that maximizes the smallest value given to an agent; finding such an allocation is NP-hard. We present a simple polynomial-time algorithm that finds an allocation that is Pareto-efficient and almost-egalitarian: each agent's value is at least his value in an egalitarian allocation, minus the absolute value of a single object. The main tool is an algorithm for rounding a fractional allocation to a discrete allocation, by which each agent loses at most one good or gains at most one chore. Our algorithm generalizes and simplifies three previous algorithms. We discuss several aspects and observations about the algorithm and the problem at hand that open doors for efficient and robust implementations.
翻译:我们考虑了具有不同估值(可正可负)的智能体之间不可分割物品的分配问题。公平分配是指最大化分配给任意智能体最小价值的分配方式;寻找此类分配是NP难问题。我们提出了一种简单的多项式时间算法,它能找到帕累托最优且近似公平的分配:每个智能体获得的价值至少等于其在公平分配中的价值减去单个物品的绝对值。该算法的主要工具是将分数分配四舍五入为离散分配的方法,通过这一过程每个智能体最多损失一件好物品或最多增加一件坏物品。我们的算法推广并简化了先前三种算法。我们讨论了有关该算法及所研究问题的若干方面与观察结果,为高效且稳健的实现开辟了途径。