1 Introduction
The competitive equilibrium notion, also known as market or Walrasian equilibrium, is a key economic concept that models the allocation of resources at the steady state of an economy when supply equals demand. The economic theory of general equilibrium originated from the ideas of Walras [Wal74] and became mathematically rigorous since the work of ArrowDebreu [AD54], who proved existence of equilibrium under mild conditions.
Our work is motivated by applications of competitive equilibrium to the problem of fair allocation of resources among agents with different tastes, when monetary compensations are not allowed. This extremely fruitful connection between the theory of general equilibrium and economic design was pioneered by Varian [Var74]. The idea was to give each agent a unit amount of “virtual” money and equalize demand and supply: find prices and an allocation such that when each agent spends her money on the most preferred bundles she can afford, all the resources are bought and all the money is spent. This rule is called the competitive equilibrium from equal incomes (CEEI) or the the competitive rule.
The resulting allocation has the remarkable fairness property of envyfreeness, since all the agents have equal budgets and select their most preferred bundles, and is Pareto optimal.^{6}^{6}6An allocation is Pareto optimal if there is no other allocation in which all the agents are at least as happy and at least one agent is strictly happier. Due to its desirable properties, the competitive rule has been suggested as a mechanism for allocating goods in real markets, with applications ranging from cloud computing [DGM18] and dividing rent [GP15] to assigning courses among university students [Bud11].
The market considered by Varian is known in the computer science literature as the Fisher market (named after Irving Fisher, the 18th century economist, see [BS00]). The properties of the Fisher market were studied in an extensive body of literature discovering both algorithms for computing equilibria and hardness results (see, e.g., [EG59] and Chapter 5 of [NRTV07]).
For allocating goods, the Fisher market has beautiful structural properties. For a large class of utilities^{7}^{7}7Homogeneity and convexity of utilities are enough., the equilibria of the Fisher market are captured by the EisenbergGale convex program [EG59], which maximizes the product of individual utilities^{8}^{8}8The product of utilities is known as the Nash product or the Nash social welfare from the axiomatic theory of bargaining [Nas50]. Beyond the Fisher market, it balances the individual happiness and collective wellbeing in many different problems, e.g., [CKM16a, CFS17].. By the convexity of this problem, the competitive rule is single valued (i.e. the utilities are unique) and can be computed efficiently for important classes of preferences, such as given by additive utilities, using standard gradient descent methods.
Allocation of Bads (Chores).
The literature on resource allocation has largely neglected the study of bads, also known as chores, which are items that the agents do not want to consume, such as doing housework, or that represent liabilities, such as owing a good to someone.
While at first sight, the same principles should apply in the problem of allocating chores as when allocating goods, it turns out that the problem of allocating chores is more complex. The competitive rule for chores was defined and studied in a sequence of papers [BMSY17, BMSY18] that considered the analog of Fisher markets for chores and analyzed their properties. Even in the case of additive utilities, the competitive rule for chores is no longer single valued, the equilibrium allocations form a disconnected set, and can be obtained as critical points of the Nash social welfare on the Pareto frontier of the set of feasible utilities [BMSY17]. The problem of allocating chores is thus not convex and the usual techniques for finding competitive allocations based on linear/convex programming such as primal/dual, ellipsoid, and interior point methods, do not apply.
The existing work on the competitive allocation of chores [BMSY17, BMSY18] left open the question of computing competitive allocations for more than two agents with additive utilities^{9}^{9}9For two agents, a simple procedure for finding competitive allocations is described in [BMSY18]. It uses the onedimensional structure of Pareto optimal allocations, which can be ordered from allocations preferred by the first agent to preferred by the second: a specific feature of the twoagent case., which we address in this paper.
Our Contribution.
We study the problem of allocating chores in the basic setting of additive utilities. We have a set of agents and a set of divisible chores (which may alternatively be seen as indivisible chores that can be allocated in a randomized way). The utilities of the agents are given by a matrix such that is the (negative) value of agent for chore . Allocations are defined in the usual way and the utilities are additive over the allocations.
We allow agents to have different budgets represented by a vector
, which can be seen as virtual currency for acquiring chores; in particular, the budget of an agent denotes how much of a “duty” that agent has^{10}^{10}10Most of the literature on fair division assumes that agents are equal in their rights, the case captured by equal budgets. It turns out that allowing unequal budgets is convenient even if in our problem agents have equal rights: see agentitem duality in Section 4 or budgetrounding in Section 7. . For example, if an agent works full time while another agent only works half of the time, then this can be modeled with budgets and , respectively. Note the budgets are negative to indicate that they represent a liability.Our main result states that:
Finding all the outcomes of the competitive rule is a computationally tractable problem
when either the number of agents or the number of chores is bounded. In particular, our algorithm runs in strongly polynomial time.
Theorem 1 (Main Theorem, Divisible Chores).
Consider any chore division problem with agents and chores, where is a matrix of values and a vector of budgets. If or is fixed, then

the set of all competitive utility profiles

a set of competitive allocations and price vectors such that for any competitive utility profile there is an allocation with this utility profile in the set
can be computed using operations, if is fixed, or , for fixed . This gives an algorithm that runs in strongly polynomial time.
Remarks. Getting access to the whole equilibrium set in polynomial time is crucial for fair division applications, where having the whole set of equilibria allows one to reason about which outcome to pick for a given instance and to decide on the tradeoffs between different properties, such as maximizing welfare, individual fairness guarantees, etc., among which there may be tension. Since different equilibria favor different agents there is a question of picking the best outcome among the set of all equilibria. Bogomolnaia et al. [BMSY17]
suggested picking the median equilibrium (with probability
there is an odd number of equilibria) in case of two agents. The chance that such a selection can be computed without finding the whole set seems negligible. Alternatively, one can select the most egalitarian equilibrium or ask the agents to vote which equilibrium to select.
Our method and existing techniques. The basic difficulty for allocating chores is that the competitive rule has disconnected equilibria. The only known approach for finding disconnected equilibria was applied to goods [DK08, AJKT17] and uses a complex tool from computational algebraic geometry (see, e.g., the work on cell enumeration in [BPR98] and [SED07, JPS10] for probabilistic algorithms) in order to reduce the search space to a polynomial number of structures.
Our algorithm provides the first explicit construction (without cell enumeration) and thus answers an open problem of [DK08]. Our construction has clear economic meaning: the Pareto frontier can be computed by enumerating its faces (or equivalently Pareto optimal demand structures) in polynomial time.
The idea used to compute the Pareto frontier is to recover that of an agent problem from its projections to twoagent subproblems. We use a few other novel tricks: an agentitem duality to cover both cases of finite and (note that the work of [DK08] needs two separate proofs), explicit formulas for recovering the competitive utility profile if the demand structure is known, and new structural results for the set of Pareto optimal allocations. We believe that our approach is applicable to other disconnected economies.
Overview of the algorithm. Our main theorem is based on the following observation: computing competitive allocations for chores becomes easy if the Pareto frontier is known. Then every face of the frontier is easy to check for containing a competitive allocation and the intuition comes from numerical methods: the solution to a constrained optimization problem is easy to find if we know the set of active constraints. We show that for a competitive division of chores, the Pareto frontier can be computed in polynomial time in the number of items for a fixed number of agents or in polynomial time in for fixed . This implies a polynomial algorithm for computing all competitive utility profiles.
Faces of the Pareto frontier are encoded using the language of consumption graphs. The consumption graph of an allocation is obtained by tracing an edge between an agent and a chore whenever the agent consumes some fraction of that chore. Then the first step of the algorithm is to generate a so called “rich” family of graphs, which contains consumption graphs of all Pareto optimal allocations^{11}^{11}11For nondegenerate (all matrices except a subset of measure zero) the set of all “Pareto optimal” consumption graphs has polynomial size. In order to capture the degenerate case we are forced to define a rich set in a more complex way.. Such a family contains a graph for each competitive allocation in addition to possibly containing other graphs that do not correspond to competitive allocations. In the second step, we generate a “candidate” utility profile for each graph in the family by recovering the explicit formula for the utility assuming that the given graph is a consumption graph of a competitive allocation. In the third step, we adapt the technique from [DPSV02] to check if the utility profile considered is in fact competitive by studying the amount of flow in an auxiliary maximum flow problem.
Indivisible chores. Finally, we also show how to find approximately fair allocations for indivisible chores in polynomial time, for fairness notions such as weighted envyfreeness and weighted proportionality. For indivisible chores, the corresponding relaxations of these fairness notions are weighted envyfreeness up to removal of a chore from a bundle and addition of another chore to another bundle (weightedEF) and weighted proportionality up to one chore (weightedProp).
These results become an immediate corollary of Theorem 1 and the technique from the recent work [BK19] that showed how to round a divisible competitive allocation with goods in order to get an approximately fair and Pareto optimal indivisible allocation.
To the best of our knowledge, no algorithms for the approximatelyfair and efficient allocation of indivisible chores were known.
Organization of the paper.
Section 2 formalizes the model and defines the competitive rule and its properties. In Section 3 we give the main theorem and describe the main phases of the algorithm. In Section 4 we study the Pareto frontier and show how to compute a rich family of allocation graphs. In Section 5 we obtain explicit formulas for competitive utility profiles when the consumption graph is known. In Section 6 we check that a given utility profile is competitive, recovering an allocation and prices. We conclude with Section 7, which shows how to obtain approximately fair allocations for indivisible chores.
1.1 Related Work
Algorithmic results for goods.
The problem of finding polynomial time algorithms for objects defined nonconstructively has been a major research focus in the algorithmic game theory literature and beyond
[Pap94]. Positive results were obtained for important special cases, such as computing Nash equilibria in zerosum games and competitive equilibria in exchange economies with additive utilities, as well as negative (hardness) results for the corresponding problems in generalsum games and economies with nonadditive utilities.The case of “convex” economies: In particular, the search for algorithms for computing competitive equilibria has brought a flurry of efficient algorithms for finding equilibria in diverse market scenarios (see, e.g., primaldual type algorithms in [DPSV02, CDSY04], network flow type algorithms in [Orl10, Vég12b, Vég12a], convex programming formulations for Fisher markets and their extensions such as EisenbergGale markets [CV04, CMPV05, JVY05, Jai07], auctionbased algorithms in [GKV04]) as well as computational hardness results (see, e.g. [CSVY06, CDDT09, EY10, GMVY17]).
The polynomial time algorithms in these works are designed for economies that satisfy implicit or explicit convexity assumptions. For example, in the case of Fisher markets, the competitive equilibrium solves the EisenbergGale convex program [EG59]
for a large class of utilities, maximizing the Nash product (i.e., the geometric mean of the utilities weighted by the budgets of the agents). Moreover, the equilibrium is unique, robust
[MV07] (i.e., small errors in the observation of the market parameters do not change the competitive allocation by much), and admits polynomial time approximation algorithms based on gradient descent methods as well as exact algorithms (see, e.g., Chapters 5 and 6 in [NRTV07]). In contrast, in the case of chores, there is a multiplicity of equilibria and no robustness guarantee: the set of equilibria admits no continuous selections [BMSY17].Dynamic processes in markets have also been studied, such as tatonement (see, e.g., [CCD13] for a general class of markets containing EisenbergGale markets), and proportional response dynamics in Fisher markets [Zha09, BDX11, WZ07] and production markets [BMN18].
Nonconvex economies and disconnected sets of equilibria: None of the methods mentioned above are applicable to the situation when the competitive equilibria form a disconnected set, that is, when the competitive rule becomes multivalued (as in the case of chores). This situation corresponds to constrained economies, such as when preferences are satiated or there are some constraints on individual consumption^{12}^{12}12Note that an economy with chores can be reduced to a constrained economy with goods, see [BMSY17] and Section 8. In the economic literature it is known that for such economies the competitive correspondence may become multivalued (see, e.g., [Gje96]), which was observed to be problematic from the point of view of finding competitive equilibria; for example, in [Vég12a] polynomial time algorithms are not obtained precisely in cases where economies admit multiple disconnected equilibria.
There are very few examples of efficient algorithms for computing competitive equilibria for nonconvex economies. In [DGM18], a polynomial time algorithm is given for markets with covering constraints, where the utilities are satiated but the equilibria form a connected, yet nonconvex set. The work of [DK08] gives a polynomial time algorithm for computing competitive equilibria when either the number of agents or goods is fixed based on the cell enumeration technique. The work of [AJKT17] extends the approach of [DK08] to the fair assignment problem of [HZ79]: there the utilities are piecewiselinear concave functions, but are neither separable nor monotone, and do not satisfy gross substitutability; their study also gives a polynomial time algorithm when either the number of agents or the number of goods is fixed.
Fair division of an inhomogeneous chore.
Allocation of chores also appears in works on fair cakecutting (dividing a divisible inhomogeneous resource). This literature typically ignores Pareto optimality focusing exclusively on fairness.
Examples of chore division in this line of work include the fair chore division model posed by [Gar78], which can be seen as identical to the cake cutting problem except that the item to be partitioned is a heterogeneous bad. Peterson and Su [PS02, PS98] design envyfree chore division protocols. These protocols were improved by [DFHY18], who obtained a bounded envyfree chore division method for any number of agents. [HvS15] consider the fair division of chores with connected pieces and bound the loss in social welfare due to fairness. [SH18] studies the envyfree division of a cake when some parts have been burned in the oven (i.e., the value densities can be positive, negative, or zero anywhere) and showed the existence of connected envyfree allocations for three players using a topological approach based on an analog of Sperner’s lemma. In a followup work, [MZ18] show the existence of connected envyfree allocations when the number of players is a prime or equal to four.
Relaxed fairness notions for indivisible items.
The literature on fair division of indivisible goods has studied several fairness notions, such as envyfreeness up to one good (EF1) [LMMS04], proportionality up to one good (Prop1), envyfreeness up to any good (EFX), maxmin fair share [Bud11], and (approximate) competitive equilibrium. Envyfreeness up to one good roughly means that no agent envies the bundle of another agent after the best item has been dropped from ’s bundle. Proportionality up to one good is similarly defined. These two fairness notions can be miraculously obtained by maximizing the Nash social welfare, which also guarantees Pareto optimality [CKM16b]. It is open whether or not EFX allocations always exist (see, e.g., [PR18]).
The maxmin fair share is a fairness notion inspired from cake cutting protocols and requires that each agent gets a value at least as high as the one he can guarantee by preparing first bundles and letting the other players choose the best of these bundles. This optimization problem induces a maxmin value for each player and the question is whether there exists an allocation where each agent has utility at least . While such allocations may not exist [PW14], approximations are possible; in particular, there always exists an allocation in which all the agents get two thirds of their maxmin value [PW14], and this can be computed in polynomial time [AMNS15].
[ARSW17] study the fair allocation of multiple indivisible chores using the maxmin share solution concept, showing that such allocations do not always exist and computing one (if it exists) is strongly NPhard; these findings are complemented by a polynomial 2approximation algorithm. [ACI18] consider the problem of fair allocation of a mixture of goods and chores and design several algorithms for finding fair (but not necessarily Pareto optimal) allocations in this setting. [ALW19] consider mechanisms robust to strategic manipulations.
Finally, the competitive rule and various relaxations (such as those obtained by removing the budget clearing requirement, allowing item bundling, or using randomization) can also be used to allocate indivisible goods. These have been studied for various classes of utilities from the point of view of existence of fair solutions and their computation in [Bud11, FGL13, BHM15, OPR16, BLM16, BK19, BNTC19]. Closest to ours is the work by [BK19], which considers Fisher markets with indivisible goods and shows how to compute an allocation that is Prop1 and Pareto optimal in strongly polynomial time. We build on these results to obtain a theorem for chores.
2 Preliminaries
There is a set of agents and a set of divisible nondisposable chores (bads) to be distributed among the agents.
A bundle of chores is given by a vector , where represents the amount of chore in the bundle^{13}^{13}13Another interpretation of an amount of good is the amount of time doing the chore or the probability of getting it.. W.l.o.g., there is one unit of each chore.^{14}^{14}14Given an arbitrary division problem, one can rescale the utilities to obtain an equivalent problem where the total amount of each chore is one unit. An allocation is a set of bundles where agent receives bundle and all the chores are distributed: for each .
The agents have additive utilities specified through a matrix , where^{15}^{15}15We write for vectors with nonnegative, strictlypositive, nonpositive, and strictly negative components, respectively; to distinguish vectors and scalars bold font is used. represents the value of agent for consuming one unit of chore . The utility of agent in an allocation is . The vector of utilities at an allocation is .
The set of all allocations will be denoted by and the set of all feasible utility profiles by . These are utilities for which there exists an allocation in which the utilities are realized, i.e., . We note that both the set of all allocations——and the set of feasible utility profiles——are convex polytopes.
In general, the agents may have different duties with respect to the chores, which we will model through different (negative) budgets. Formally, each agent will be endowed with a budget . For example, a situation where the problem of allocating chores with unequal budgets may arise is when a manager assigns tasks to two workers, Alice and Bob. If Alice works full time while Bob works part time (say 50%), then it is reasonable that Bob has the right to work half as much than as his colleague Alice. This corresponds to budgets and .
Definition 2.
A chore division problem is a pair of a matrix of values and budgets .
2.1 The Competitive Rule
Given a vector , where represents the price of a chore , the price of a bundle of chores is given by .
Definition 3 (Competitive Allocation).
An allocation for a chore division problem with strictly negative matrix of values and budgets is competitive if and only if there exists a vector of prices such that for each :

Agent ’s bundle maximizes its utility among all bundles within its budget: , for each bundle with .
Unlike the Fisher market framework for allocating goods, in the case of chores, all the prices and budgets are negative. We also note that Definition 3 is designed for chores that have strictly negative value for all the agents. Chores for which some agents have value zero can be handled separately as follows.
Remark 4 (Chores with Zero Utilities).
Suppose there exists at least one chore for which some agent has utility zero. Let be the set of such chores.
Then each chore in can be allocated to an agent that is indifferent to it while not affecting the utility of any agent. Moreover, this allocation can be implemented through the competitive rule by setting the price of each chore to zero.
For a given matrix of values and vector of budgets, we denote the set of all competitive allocations by and the set of all competitive utility profiles by , where we have
Definition 5 (Pareto Optimality).
An allocation is Pareto optimal if there is no other allocation in which for every agent and the inequality is strict for at least one agent.
Definition 6 (Weighted EnvyFreeness).
An allocation is weightedenvyfree with weights if for every pair of agents , the following inequality holds:
We denote by and the set of all Pareto optimal allocations and corresponding utility profiles, respectively.
The competitive rule satisfies both Pareto optimality and weightedenvyfreeness with weights . Weightedenvyfreeness holds since agent can afford a fraction of from the bundle of any agent . For Pareto optimality, see Theorem 9.
Geometry of the Competitive Rule and Nonconvexity.
In the case of goods, the competitive rule can be implemented via the EisenbergGale optimization problem (see, e.g., Chapter 5 in [NRTV07]): an allocation is competitive if and only if the product of utilities at weighted by the budgets is maximized. That is, the product is maximized, where the maximum is taken over all feasible allocations . This problem has a convex programming formulation and can be solved efficiently using standard gradient descent methods.
The product is known as the Nash product or the Nash social welfare.
In the case of chores, an analogue of the EisenbergGale characterization was found in [BMSY17].
Theorem 7 (Bogomolnaia, Moulin, Sandomirskiy, Yanovskaya [Bmsy17]).
Consider a chore division problem . A feasible allocation is competitive if and only if the utility profile

belongs to the set of strictly negative points on the Pareto frontier, and

is a critical point of the Nash product on the feasible set of utilities .
Recall that a point is called critical for a smooth function on a convex set
if the tangent hyperplane to the level curve of
at is a supporting hyperplane for . Local maxima, local minima, and saddle points of on the boundary of are examples of critical points.In [BMSY17], the theorem is proved for the case of equal budgets, but the same proof works for arbitrary strictly negative budgets. A sketch of the proof is contained in the Appendix (see Proposition 46 together with other characterizations of competitive allocations).
Remark 8.
We note that none of the global extrema of the Nash product are competitive: global minima correspond to unfair allocations, where at least one agent receives no chores and hence the Nash product at such allocations is zero; the global maximum lies on the antiPareto frontier and therefore it is not Pareto optimal. Thus, it is unclear how to use global optimization methods to compute the outcome of the competitive rule.
Example 1.
Two agents are dividing two chores and values are given by
rows correspond to agents and columns to chores. Both agents hate the second chore but the second agent finds it less painful compared to the first chore than agent . Assume that budgets are (i.e., the second agent is entitled to twice as much work as agent ). Elementary computations show that there are two competitive allocations
These allocations are weightedenvy free: agent prefers his allocation to of the allocation of the second agent, while agent thinks that his bundle is better than the doubled bundle of agent .
The feasible set and utility profiles of the two competitive allocations are depicted in Figure 1 together with the level curves of the Nash product . We see that the level curves of the Nash product (dotted hyperbolas) and the feasible set are not separated by a straight line and thus the competitive allocations are not global extrema of the Nash product: the utility profile is the local maximum of the product on the Pareto frontier while the corner of the feasible set, , is a stationary point: neither local minimum nor maximum.
This example illustrates that the problem of computing competitive allocations is nonconvex; there can be many competitive utility profiles, and in particular the set of competitive allocations can be disconnected.
2.2 Corollaries of Geometric Characterization. Existence and Welfare Theorems
Theorem 7 does not give any recipe for computing outcomes of the competitive rule but allows one to analyze its properties. The first corollary of Theorem 7 is the existence of competitive allocations. Indeed, there is at least one critical point of on the Pareto frontier: the one where the level curve of , given by the equation , first touches the Pareto frontier, when we decrease from large to small values. The corresponding competitive allocation maximizes the Nash product over all Pareto optimal allocations (see [BMSY17] for details of the construction).
The second corollary of Theorem 7 is that both welfare theorems hold.
Theorem 9 (Welfare Theorems).
The first and the second welfare theorems hold:

Any competitive allocation is Pareto optimal;

For any Pareto optimal allocation at which the utilities are strictly negative, there exist budgets such that is competitive with respect to .
Proof.
By Theorem 7, the utility profile of a competitive allocation belongs to , which yields the first item. To prove the second one, note that since is a convex polytope and belongs to its boundary, we can trace a hyperplane supporting at . By Theorem 7, it is enough to show that there is a vector of budgets , such that is a tangent hyperplane to the level curve of at . This condition is satisfied if the gradient of is orthogonal to at . The gradient is If is given by the equation , the vector is orthogonal to and thus it is enough to select . ∎
A third corollary of Theorem 7 is that whether a given allocation is competitive or not can be determined by its utility profile.
Corollary 10 (Paretoindifference).
Let be a chore division instance. If is a competitive allocation and is another feasible allocation with the same utility profile (that is, ), then is also a competitive allocation for .
3 Computing the Competitive Rule for Chores
In this section we formulate the main algorithmic result of the paper, discuss its implications and limitations, and present a highlevel overview of the algorithm.
Our main result states that finding all the outcomes of the competitive rule is a computationally tractable problem when either the number of agents or the number of chores is bounded. Our algorithm runs in strongly polynomial time.
Theorem 11.
Suppose one of the parameters, the number of agents or the number of chores , is fixed. Then for any tuple , where is a matrix of values and a vector of budgets,

the set of all competitive utility profiles

a set of pairs such that the allocation is competitive with the price vector and for any there is a pair such that
can be computed using operations, if is fixed, or , for fixed . This gives an algorithm that runs in strongly polynomial time.^{16}^{16}16Such an algorithm makes a polynomial (in or , depending on which of the parameters is fixed) number of elementary operations (multiplication, addition, comparison, etc). If the input of the problem ( and ) consists of rational numbers in binary representation, then the amount of memory used by the algorithm is bounded by a polynomial in the length of the input. For basics of complexity theory, see [AB07].
What if both and are large?
Theorem 11 cannot be improved when both and are large. It is known [BMSY18] that the number of competitive utility profiles can be as large as ; thus even listing all competitive utility profiles can take exponential time if both and are large.
Theorem 11 implies that for bounded or , the number of competitive utility profiles is at most polynomial in the free parameter, which is itself an interesting complement to the exponential lower bound from [BMSY18]. As a byproduct of the construction, we get explicit upper bounds (a combination of Corollary 25 and 29 below).
Corollary 12.
The number of competitive utility profiles is at most
However the exponential multiplicity of competitive allocations does not prohibit the existence of an algorithm that finds one competitive allocation in polynomial time when both and are large.
Open problem.
Is it possible to compute one competitive utility profile in time polynomial in ? If such an algorithm exists, it will give a “computational” answer to the “economic” question posed in [BMSY17]: finding a singlevalued selection of the competitive rule with attractive properties.
Computing All Competitive Allocations
Theorem 11 ensures that all competitive utility profiles will be enumerated but does not guarantee finding all the allocations for each such utility profile. It turns out that here the result cannot be improved without restricting the class of preferences.
In Subsection 6.3, we define the class of nondegenerate matrices of values
that contain all the matrices except those that satisfy certain algebraic equations. In particular, a random matrix with respect to any continuous measure on
is nondegenerate with probability .In the case of nondegenerate instances, for each Pareto optimal utility profile , there is exactly one feasible allocation with (see Subsection 6.3) and therefore the algorithm from Theorem 11 outputs all competitive allocations.
However, for degenerate problems, the set of all feasible allocations with can be a polytope with an exponential number of vertices even if or are fixed and therefore, for general problems, there is no hope of listing even all the extreme points of the set of competitive allocations with given (see Example 2).
3.1 The algorithm
Here we describe the main ideas and the general structure of the algorithm from Theorem 11. The ideas are then developed in subsequent sections.
Consumption Graphs and Rich Families
For a feasible allocation , we associate the consumption graph . This is a nonoriented bipartite graph with parts and , where an agent and a chore are connected by an edge if and only if .
The algorithm is inspired by two observations developed in Sections 5 and 6 respectively:

a competitive utility profile can be recovered via explicit formulas if we know the consumption graph of a corresponding competitive allocation, but do not know the allocation itself.

a utility profile can be efficiently checked for competitiveness; an allocation and price vector are obtained as a byproduct.
Definition 13 (Rich family of graphs).
Consider a chore division instance . A family of bipartite graphs is called rich if for any competitive utility profile there is a competitive allocation with such that the consumption graph belongs to the family .
3.1.1 How the algorithm works
The algorithm consists of three phases:
 Phase 1:
 Phase 2:

Compute a “candidate” utility profile for each graph from (Section 5): For all we apply the formula from Proposition (32) as if we know that is a consumption graph of some competitive allocation . As a result, we get a “candidate” profile which is

a competitive utility profile if there exists a competitive allocation such that

some vector from (not necessary feasible), if no competitive allocation has as the consumption graph.

 Phase 3:

Check each “candidate” profile for competitiveness (Section 6): A utility profile is competitive if there is a flow of a large enough magnitude in an auxiliary maximum flow problem. For competitive a maximum flow gives a competitive allocation with and the corresponding vector of prices can be constructed using explicit formulas (Lemma 45).
3.1.2 Rich family of graphs as a parameterization of the Pareto frontier
Generating a rich family of graphs is the most important part of the algorithm and also its complexity bottleneck. Indeed, during the second phase, the algorithm cycles over graphs and thus the size of the family determines the number of iterations (each of which takes polynomial time) and hence the running time.
We get the following tradeoff: family must be rich enough to discover all competitive profiles, but be computable in polynomial time (in particular it must contain at most a polynomial number of graphs).
Example.
The set of all bipartite graphs with parts and is rich, but contains an exponential number of elements and thus leads to an exponentialtime algorithm. This exponential algorithm is easier to implement and for small division problems (say, three agents and five chores) it is a reasonable choice to use.
The insight for a smaller rich family comes from the First Welfare Theorem (Theorem 9): the set of consumption graphs of all efficient allocations is clearly rich. However, for degenerate problems, this set can have exponential size; see Example 2, where the set of consumption graphs corresponding to one particular Pareto optimal utility profile contains an exponential number of elements.
We modify this idea by considering a set of maximal weighted welfare (MWW) graphs (defined in Section 4). This set of graphs, closely related to maximal bang per buck (MBB) graphs (see, e.g., [NRTV07, DPSV02] and Subsection 4.4), encodes faces of the Pareto frontier (Lemma 17).
The set has polynomial size and can be computed in polynomial time even for degenerate problems, if one of parameters or is fixed. Computing can be interpreted as computing the Pareto frontier itself and thus is of independent interest.
3.1.3 Runtime
The size of a rich set of graphs and the time needed to compute it determine the time complexity of the algorithm. Indeed, by Corollaries 33 and 37, the number of operations needed for the last two phases of the algorithm is bounded by .
In Section 4, we construct a superset of with bounded both by and by . We show that can be computed in operations for fixed or in for fixed (see Proposition 23 for fixed and Subsection 4.4 for fixed ). Thus the whole algorithm runs in polynomial time and the number of operations is bounded by for fixed or by for fixed .
4 Geometry of the Pareto frontier. Computing rich families of bipartite graphs.
A rich family of graphs represents possible demand structures for competitive allocations and is the main ingredient for finding competitive utility profiles. The goal of this section is to construct an algorithm for enumerating a rich family of graphs in polynomial time if either or is fixed.
We define the family of maximal weighted welfare (MWW) graphs which encode faces of the Pareto frontier, show that it is rich, and construct a polynomial algorithm enumerating a superset of all such graphs.
We begin with several useful characterizations of Pareto optimality, define MWW graphs and explore their relation with faces of the Pareto frontier, prove richness of the family and then proceed with computational issues. For fixed , the algorithm is built via reduction to a simple twoagent case. For fixed , we use an agentitem duality inspired by the Second Welfare Theorem. This duality also shows a relation between MWW graphs and minimal pain per buck (MPB) graphs.
4.1 Criteria of Pareto optimality: no profitable trading cycles, maximization of weighted utilitarian welfare, and MWW graphs
In this auxiliary subsection, we reformulate Pareto optimality using various languages which turn out to be useful afterwards.
Profitable trading cycles.
Consider a path , where , in a complete bipartite digraph. We define the product of disutilities along the path as
(1) 
A path is a cycle if ; a cycle is simple if no agent and no chore enter the cycle twice.
Consider an allocation and a cycle , where , such that each agent consumes some fraction of chore (i.e., ) for . We say that is a profitable trading cycle for if .
Weighted utilitarian welfare and MWW graphs
Consider a vector of weights and define the weighted utilitarian welfare of an allocation as
Definition 14 (Maximal Weighted Welfare Graph).
Let be a vector of weights. Consider the bipartite graph such that agent and chore are linked if
We call this the Maximal Weighted Welfare (MWW) graph and denote it by .
The set of all MWWgraphs is denoted by
Proposition 15.
Let be a matrix of values and a feasible allocation. Then the following statements are equivalent:

the allocation is Pareto optimal

there are no simple profitable trading cycles^{18}^{18}18Similar characterizations of Pareto optimality are known for the houseallocation problem of [SS74], where indivisible goods (houses) are allocated among agents with ordinal preferences, one to one. See [AS03] for expost efficiency and [BM01] for SDefficiency (aka ordinal efficiency).

there exists a vector of weights such that the consumption graph is a subgraph of a maximal weighted welfare graph

there exists a vector of weights such that maximizes the weighted utilitarian welfare over all feasible allocations^{19}^{19}19The link between Pareto optimal allocations and welfare maximization has a simple geometric origin and holds for any problem with convex set of feasible utility profiles. For any point at the boundary, we can trace a hyperplane supporting . Hence, any on the boundary maximizes the linear form over , where is a normal vector to . Thus, the Pareto frontier of corresponds to with positive components..
For a more general cakecutting setting, analogs of items 2,3,4 constitute Sections 8, 10, and 7 of [Bar05]; the link between Pareto optimality and weighted utilitarian welfare is classic, see [Var74].
Proof.
We will show the implications .

Let us show that if there is a simple profitable trading cycle , then we can find a Paretoimprovement of the allocation . Indeed, transfer amount of from to where the ratio of and comes from the condition that all agents , are indifferent between and : . These conditions define epsilons up to a multiplicative constant which can be selected small enough to guarantee feasibility. Profitability of implies that agent is strictly better off: and thus dominates .

Let be an agent with a nonempty bundle . Set its weight to . For other agents define as where the maximum is taken over all paths connecting and such that for all . The set of such paths is nonempty: for example, it contains a path for any chore with . By statement , eliminating cycles in can only increase and thus the maximum is finite and is attained on an acyclic path.
Consider the consumption graph and let and be an agent and a chore that are connected by an edge in . We show that they are also connected in . For this we must check that for each agent . Consider an optimal path and extend it to a path by adding two extra vertices and . By definition of we get
which is equivalent to the desired inequality.

Statement ensures that each chore is given to an agent with the lowest weighted disutility . Therefore, has the maximal weighted welfare among all feasible allocations.

If Pareto dominates , then . Thus, the maximizer of is undominated, which gives Pareto optimality.
∎
If the consumption graph contains a cycle with , then by inverting the order of vertices we get a profitable trading cycle. Therefore, statement of the proposition implies the following corollary.
Corollary 16.
If an allocation is Pareto optimal and its corresponding consumption graph contains a cycle , then .
In other words, can have cycles only for matrices of values satisfying certain algebraic equations. This observation is known (see the proof of Lemma 1 in [BMSY18]) and motivates us to consider nondegenerate problems, where no such equations hold. It turns out that such nondegenerate problems have better algorithmic properties (see Subsection 6.3 and [SSH19]).
4.2 Richness of the MWW family. Encoding faces of the Pareto frontier by MWWgraphs.
Recall that a collection of bipartite graphs is rich for a division problem if for any competitive utility profile there is a competitive allocation , such that and the consumption graph belongs to the collection.
By the first welfare theorem (Theorem 9), any competitive allocation is Pareto optimal. Therefore, Proposition 15 almost implies richness of the set of all MWWgraphs: indeed, by statement of the proposition, for any Pareto optimal allocation , there is a graph containing as a subgraph. However, itself can be outside of .
Showing richness requires finding a relation between MWW graphs and faces of the Pareto frontier.
Bijection between faces of the Pareto frontier and MWW graphs.
Consider the polytope of feasible utility profiles. If is a hyperplane touching the boundary of , then is a face of , see Figure 2. This face may have arbitrary dimension from (a vertex) to (a proper face of maximal dimension); see [Zie12] for the introduction to geometry of polytopes. The Pareto frontier is a union of faces.
Assume that the hyperplane is given by the equation and fix the sign of in such a way that is contained in the halfspace . Then has the following dual representation: it maximizes the linear form over . The converse is also true: the set of maximizers for any nonzero is a face.
Denote by the set of all allocations corresponding to a face , that is,
Lemma 17.
There is a bijection between faces of the Pareto frontier and . A feasible allocation belongs to if and only if is a subgraph of .
Proof.
Statement of Proposition 15 implies the result since there is a onetoone correspondence between faces of and solutions to , when ranges over . ∎
Richness.
For any utility profile , consider the set of all feasible allocations with .
Lemma 18.
For any Paretooptimal utility profile , there is a feasible allocation such that .
Proof of Lemma 18.
If is a vertex (i.e., a zerodimensional face ), then consider from Lemma 17 and pick any allocation with . Then the lemma implies that and we are done.
If is not a vertex, then we can find a face such that is in its relative interior (i.e., but not a boundary point of ). Indeed, consider some face containing ; if is not in its relative interior, then we can find a face of the boundary of such that ; since the new face has a smaller dimension, after a finite number of repetitions, we either find a desired face or find out that is a vertex.
Fix an auxiliary allocation with . Then by Lemma 17. Since , we can represent the utility profile as
where the vector is given by
which belongs to for small enough. Consider an allocation , where . By the construction, and . ∎
We get the following desired corollary.
Corollary 19.
The set of graphs is rich.
Proof.
Remark 20.
By the construction, the allocation from Lemma 18 has the maximal graph w.r.t. subgraphinclusion among allocations from . This gives an alternative interpretation of as the set of all consumption graphs of Paretooptimal allocations that are maximal w.r.t. inclusion.
4.3 Polynomialtime algorithm listing a superset of all MWWgraphs. Fixed number of agents via reduction to the agent case.
We explicitly construct for two agents and then use the construction to build a polynomial time algorithm which outputs a superset of for arbitrary fixed .
Two agents.
For agents, the set of all MWW graphs has the following simple structure described in [BMSY18] and also used in [ACI18]. Reorder all the chores, from those that are relatively harmless to agent to those that are harmless to agent : the ratios must be weakly increasing in . As we see next, there are two types of graphs in :

split, for : agent is linked to all chores (if any) and agent is linked to all remaining . No other edges exist.

cuts, for : agent is linked to chores , agent to chores , and all chores for which are connected to both agents. No other edges exist.
Lemma 21.
For two agents, any graph is either a split or a cut.^{20}^{20}20Geometrically splits correspond to vertices of the Pareto frontier and cuts to faces. Any cut is contained in . A split is contained in if and only if one of the following holds: , or , or .
Proof.
Consider an arbitrary graph from . Agent is linked to chores such that or equivalently to those chores from the “prefix” chores with . Similarly, an edge is traced between agent and the “postfix” . Thus, if the ratio is equal to one of the values , for , we get a split allocation and otherwise a cut. ∎
This lemma implies that for two agents, the set of all MWW graphs can be listed in polynomial time in .
Corollary 22.
For two agents, the set of all MWW graphs contains at most graphs. All of them can be listed using operations (time needed to sort the ratios) or if chores are already sorted.
More than two agents.
For a division problem with agents given by matrix , consider auxiliary twoagent problems, where a pair of agents divides the whole set of chores between themselves (the corresponding matrix is composed by the two rows and of ).
Pick an MWW graph for each pair of agents and construct a graph for the original problem by the following rule: there is an edge between agent and a chore if and only if this edge is presented in for all agents .
By cycling over all combinations of graphs we obtain a set of graphs .
Proposition 23.
The set constructed for an matrix of values has the following properties:

it contains at most graphs

for fixed , enumerating the elements of takes time

it contains the set (and thus by Corollary 19, is rich)
Proof.
By Corollary 22, for each pair there are at most different graphs , thus at most combinations, and we get the first item. The same corollary implies that cycling over all combinations of takes which for absorbs , the time needed to sort the chores for each pair of agents. When a combination is given, can be constructed using operations, yielding the second item.
It remains to check that any graph is contained in . Let us find graphs in the construction of such that . Pick equal to . Hence, is connected to in iff . Therefore, an edge is traced in if and only if for all , which by the definition of MWW graphs, is equivalent to . ∎
Remark 24.
Note that the set may contain some clearly redundant elements: those where some chores are not connected to any agents (thus no feasible allocation corresponds to them), or where some agents consume no chores (hence no competitive allocation has such a consumption graph), or just consumption graphs of Pareto suboptimal allocations. Eliminating them may improve the performance of the algorithm in practice. Inefficient graphs can be found using item 2 from Proposition 15: inefficiency is equivalent to existence of a cycle with a multiplicative weight above in an auxiliary bipartite graph; such cycles can be detected using, for example, a multiplicative version of the BellmanFord algorithm.
Proposition 23 and Lemma 17 imply an upper bound on the number of faces of the Pareto frontier. In Section 5 we show that there is at most one competitive utility profile per face and therefore get the following corollary.
Corollary 25.
The number of faces of the Pareto frontier and the number of competitive utility profiles (for a given vector of budgets ) are both bounded by .
4.4 Algorithm for a fixed number of chores. Agentitem duality and the relation between MWW and MPB graphs
A polynomial algorithm for a fixed number of chores and large follows from the algorithm for fixed via the duality that allows one to exchange the roles of agents and chores. We interpret this duality as a repercussion of the Second Welfare theorem and show that MWW graph of the dual problem is a minimal pain per buck (MPB) graph.
Agentitem duality via the Second Welfare Theorem.
For a matrix of values with agents and chores, consider the transposed matrix where agents and chores exchanged their roles, so we have agents and chores.
There is the natural bijection between bipartite graphs on and and we will not distinguish between them. We say that a bipartite graph on has no lonely agents if every agent is connected to at least one chore. By we denote the set of all MWW graphs with no lonely agents.
Proposition 26.
For a matrix of values with nonzero elements we have
Definition 27 (Minimal Pain Per Buck (MPB)).
For a matrix of values and a price vector , the minimal pain per buck graph is constructed by tracing edges between each agent and all chores with minimum disutility/price ratio .
In the case of goods, maximal bang per buck (MBB) graphs were introduced in [DPSV02] to capture the demand structure for competitive allocations as a function of prices. Indeed, if is a competitive allocation for prices and budgets , then is a subgraph of (see Lemma 44 in the appendix).
An immediate corollary of the definitions is the relation between MWW and MPB graphs^{21}^{21}21Corollary 28 allows one to interpret Proposition 26 as a version of the Second Welfare Theorem: informally, it says that the class of MWW graphs (which encode the consumption structure of Pareto optimal allocation) coincides with the class of MPB graphs (which encode the consumption structure of competitive allocations)..
Corollary 28.
An MPB graph coincides with the MWW graph , where .
Proof of Proposition 26.
By the symmetry of the statement, it is enough to show the inclusion Pick a vector such that the graph has no lonely agents. By Corollary 28, it is enough to find a price vector such that .
Consider an allocation such that . By Proposition 15, is Pareto optimal and (here we use the fact that there are no lonely agents). By the Second Welfare Theorem, is a competitive allocation for some and budgets