1 Introduction
Fisher markets are fundamental models of resource allocation in mathematical economics [BS00]. Such markets consist of a set of divisible goods along with a set of buyers who have prespecified budgets and valuations (over all possible bundles of the goods). In this work we focus on the basic setup wherein the valuations of the buyers are additive. In an equilibrium of a Fisher market, goods are assigned prices, each buyer spends its entire budget selecting only those goods that provide maximum value per unit of money spent, and the market clears. The relevance of market equilibria (specifically from a resourceallocation perspective) is substantiated by the first welfare theorem which asserts that such equilibria are always Pareto efficient [MCWG95, Chapter 16].
The convex program of Eisenberg and Gale provides a remarkable characterization (and, in conjunction, a proof of existence) of equilibria in Fisher markets with additive valuations: the primal and dual solutions of their convex program correspond to the equilibrium allocations and prices, respectively [EG59; NRTV07]. The seminal work of Arrow and Debreu [AD54] further shows that equilibria exist under more general market models and convex settings; see, e.g., MasColell et al. [MCWG95]. The notable aspect of the EisenbergGale characterization is that—in contrast to the encompassing result of Arrow and Debreu—it provides an efficient method for finding equilibria under additive valuations. Several algorithmic results have been developed recently for computing Fisher market equilibria and, in fact, strongly polynomialtime algorithms are known for the additive case [Orl10; Vég12].
Along with efficiency, market equilibria provide strong fairness guarantees. A wellknown result of Varian [Var74] shows that if in a market all the agents have equal budgets, then any market equilibrium—specifically called competitive equilibrium from equal incomes (CEEI)—leads to an envyfree allocation. Envy freeness is a standard solution concept and it deems an (fractional) allocation of the (divisible) goods to be fair if, under it, each agent prefers its own bundle over that of any other agent [Fol67].
However, Fisher markets do not yield a representative model in the context of indivisible goods. Such goods correspond to discrete resources (that cannot be fractionally assigned) and naturally occur in several allocation problems, e.g., course assignment [OSB10] and inventory pricing [Rot11]. A market equilibrium, in general, requires a fractional assignment of goods to agents. Hence, one cannot simply consider a market with indivisible goods and expect an equilibrium outcome wherein the goods do not have to be fractionally assigned. In other words, the desirable market properties of efficiency, fairness, and computational tractability are somewhat confined to divisible goods.
Our work shows that one can bypass this hurdle and, up to a bounded change in budgets, always obtain markets that admit integral equilibria. Specifically, we will consider markets that admit an equilibrium wherein each good is integrally assigned to some agent. We will refer to such Fisher markets as pure markets. Of cou(rse, not all markets are pure.^{1}^{1}1Consider a market of a single good and two agents with equal budgets. Nevertheless, the present paper shows that for every Fisher market (with additive valuations) there exists a “nearby” market which admits an integral equilibrium. Specifically, we prove that for any given market one can construct—with a bounded change in the budgets—a pure market . Here, both the markets have the same set of agents, goods, and valuations, and the absolute change in any agent’s budget is upper bounded by , where
is the equilibrium price vector of
(Theorem 3.1 and Theorem 3.6).Note that pure markets enable us to treat indivisible goods as divisible ones and apply standard (Fisher market) results, such as the first welfare theorem. The fact that the resulting equilibrium is integral ensures that—independent of the analytic treatment—the final allocation does not require the discrete goods to be fractionally allocated, i.e., it conforms to a legitimate assignment of the given indivisible goods.
Pure Markets for Discrete Fair Division. Our work on pure markets leads to novel algorithmic results for discrete fair division. Specifically, we address fair division of indivisible goods among agents with additive valuations. Note that there are no monetary transfers in this setup, i.e., unlike the market setting, here we do not have budgets or prices.
Classical notions of fairness—e.g., envyfreeness and proportionality^{2}^{2}2A division among agents is said to be proportionally fair iff each agent gets a bundle of value at least times her value for the grand bundle of goods.—typically address allocation of divisible goods and are not directly applicable in the discrete setting. For instance, while an envyfree and proportional allocation of divisible goods always exists [Str80], such an existential result does not hold when the goods are indivisible.^{3}^{3}3If a single indivisible good has to be allocated between two agents, then, under any allocation, the losing agent will be envious and will not achieve proportionality.
To address this issue, in recent years cogent analogues of envyfreeness and proportionality have been proposed for addressing the discrete version of the fairdivision problem. A wellstudied solution concept in this line of work is envyfreeness up to one good [Bud11]: an (integral) allocation is said to be envyfree up to one good (EF1) iff each agent prefers its own bundle over the bundle of any other agent up to the removal of one good. Along the lines of EF1, a surrogate of proportionality—called proportionality up to one good—has also been considered in prior work [CFS17]. In particular, an allocation is said to be proportional up to one good (Prop1) iff each agent receives its proportional share after the inclusion of one extra good in its bundle.^{4}^{4}4In a fairdivision problem with agents, the proportional share of an agent is defined to the times the value that has for the entire set of goods.
The work of Lipton et al. [LMMS04] shows that as long as the valuations of the agents are monotone an EF1 allocation can be computed efficiently. This result is notably general, since it guarantees the existence of EF1 allocations under arbitrary, combinatorial (monotone) valuations. Caragiannis et al. [CKM16] established another attractive feature of this solution concept: under additive valuations, there always exists an allocation which is both EF1 and Pareto optimal (PO). Though, polynomialtime algorithms are not known for finding such a fair and efficient allocation–the work of Barman et al. [BKV18] provides a pseudopolynomial time algorithm for this problem.
Under additive valuations, an EF1 allocations is also Prop1. Hence, in the additivevaluations context, the result of Lipton et al. [LMMS04] is also applicable to Prop1. Similarly, via the existence result of Caragiannis et al. [CKM16], we get that if the agents’ valuations are additive, then there exists an allocation that is both Prop1 and PO.
We will show that—in contrast to the known pseudopolynomial result for finding EF1 and PO allocations [BKV18]—one can compute allocations that are Prop1 and PO in strongly polynomial time (Corollary 4.1). This result highlights the applicability of our work on pure markets.
We also consider another, natural relaxation of EF1, which we refer to as : this solution concept requires that any agent is not envious of any other agent , up to the inclusion of one good in ’s bundle and the removal of one good from ’s bundle. We develop an efficient algorithm for computing allocations of indivisible goods that are simultaneously and PO (Corollary 4.2).
It is relevant to note that the work of Barman et al. [BKV18] can also be considered as one that finds pure markets with limited change in budgets. However, in this sense, the result obtained in [BKV18] is not stronger than the one established in the present paper. That result does provide a stronger fairness guarantee (EF1 and PO in pseudopolynomial time), but one can show that the algorithm developed in [BKV18] can lead to larger (than the ones obtained in the present paper) perturbations in the budgets; see Appendix C for a specific market instance in which the current algorithm outperforms (in terms of budget perturbations) the one developed in [BKV18]. Overall, the puremarket existence result obtained in this work is not weaker than the one obtained in [BKV18]. Also, in contrast to that work, the present algorithm runs in strongly polynomial time and is able to address unequal budgets.
Our Techniques: We establish the result for pure markets via a constructive proof. In particular, we develop an efficient algorithm that starts with an equilibrium of the given market and rounds its (fractional) allocation to obtain an integral one. In particular, our algorithm integrally assigns all the goods, which to begin were fractionally assigned. The algorithm does not alter the prices of the goods. We obtain a pure market at the end by setting the new budgets to explicitly satisfy the budgetexhaustion condition with respect to the computed allocation and the unchanged prices. While the algorithm is quite direct, the sequence in which it allocates the goods is fairly relevant. A careful curation ensures that the new budgets are close to the given ones. Notably, in our empirical study (Section 5), it takes less time to execute this rounding than to compute an equilibrium of the given Fisher market.
In Section 4 we show that the integral allocation we obtain (via rounding) satisfies notable fairness and efficiency guarantees. Given that fairdivision methods are widely used in practice,^{5}^{5}5See, e.g., Spliddit [GP15]: http://www.spliddit.org/ efficient and easytoimplement algorithms—such as the ones developed in this work—have a potential for direct impact.
Additional Related Work: An interesting work of Babaioff et al. [BNTC17] considers markets wherein the indivisibility of goods is explicitly enforced. In particular, in their framework each agent selects its most preferred subset of goods, among all subsets that satisfy the budget constraint. Hence, fractional selection/allocations are ruled out in this setup. For such integral markets, existence of equilibria is not guaranteed. By contrast, we solely focus on pure/fractional markets, wherein equilibria necessarily exist. The key distinction here is that a pure market is a fractional market that happens to admit an integral equilibria. While a pure market is integral in the sense of Babaioff et al. [BNTC17], the indivisibility of goods is not explicitly enforced in this framework.
Babaioff et al. [BNTC17] characterize the existence of equilibria in integral markets with two agents, at most five goods, and generic budgets. On the other hand, this paper establishes that, in the space of Fisher markets, pure (and, hence, integral) markets are dense, up to bounded perturbations in the budgets.
2 Notation and Preliminaries
Fisher market is a tuple wherein denotes the set of agents, denotes the set of goods, denotes the valuation profile, and denotes the budget vector. The valuation profile specifies the cardinal preferences of each agent over the set of goods via a valuation function . For any agent , the parameter represents agent ’s budget/endowment.
A bundle of goods is a vector in which represents the allocated quantity of the good . In particular, the value that an agent has for a bundle is denoted as . A bundle is said to be integral if under it each good is allocated integrally, i.e., for each we have . Note that an integral bundle corresponds to the subset of goods . If is an integral bundle, we will overload notation and let also denote the corresponding subset of goods, i.e., .
Throughout, we will assume that agents have nonnegative and additive valuations, i.e., for each agent and any bundle , we have , where denotes the value agent has for good .
Allocation: An allocation refers to a collection of bundles where is the bundle allocated to agent . Furthermore, in an allocation at most one unit of each good is allocated, i.e.,
for all , we have . In other words, an allocation corresponds to a fractional allocation of the goods among the agents. We will say that an allocation is integral iff its constituent bundles are integral, .
Market outcome and equilibrium: For a Fisher market , a market outcome is tuple where corresponds to an allocation and the price vector associates a price with each good .
Given a price vector , write to denote the set of goods that provide agent the maximum possible utility per unit of money spent, . is called the maximum bangperbuck set of agent (under the price vector ) and, for ease of presentation, we will denote the maximum bangperbuck ratio by as well, i.e., .
An outcome is said to an equilibrium of a Fisher market iff it satisfies the following conditions:

Market clearing: each good is either priced at zero, , or it is completely allocated, .

Budget exhaustion: Agents spend their entire budget, i.e., for all , the following equality holds .

Maximum bangperbuck allocation: Each agent spends its budget only on optimal goods, i.e., if for good , then .
We will explicitly use the term integral equilibrium to refer to a market equilibrium in which the allocation is integral.
Recall that equilibria of markets (with additive valuations) correspond to optimal solutions of the EisenbergGale convex program [EG59; NRTV07]. Furthermore, in the additive case, strongly polynomialtime algorithms exist for finding market equilibria [Orl10; Vég12].
The first welfare theorem ensures that equilibrium allocations are Pareto efficient, i.e., satisfy a standard measure of economic efficiency. Specifically, for an instance , an allocation is said to be Pareto dominated by another allocation if , for each agent , and for some agent . That is, compared to allocation , every agent is better off under and at least one agent is strictly better off. An allocation is said to be Pareto efficient or Pareto optimal (PO) if it is not Pareto dominated by any other allocation.
Definition 2.1 (Fractionally Pareto Efficient Allocation).
An allocation is said to be fractionally Pareto efficient (fPO) iff it is not Pareto dominated by any fractional allocation .
Note that an integral allocation can be fPO.
Proposition 2.1 (First Welfare Theorem; MasColell et al. ([Mcwg95, Chapter 16])).
If is an equilibrium of a Fisher market with additive valuations, then the equilibrium allocation is fractionally Pareto efficient (fPO).
Along with efficiency, market equilibria are known to fair. In particular, if in a market all the agents have equal endowments, then any market equilibrium—specifically called competitive equilibrium from equal incomes (CEEI)—leads to an envyfree allocation [Var74]. Envy freeness is a standard solution concept and it deems an allocation to be fair if, under it, each agent prefers its own bundle over that of any other agent: for all [Fol67]. Hence, using Proposition 2.1 and the result of Varian [Var74], we get that CEEI are both fair and efficient.
However, as observed earlier, equilibrium allocations are not guaranteed to be integral. That is, with indivisible goods, one can not directly apply the market framework and hope to retain the desirable properties of efficiency, fairness, computational tractability, or even universal existence.
Our work shows that interestingly, up to a bounded change in the endowments, one can always bypass this hurdle and obtain integral equilibria. Towards this end, the following notion will be useful.
Definition 2.2 (Pure Market).
A Fisher market is said to be pure iff it admits an integral equilibrium.
As mentioned previously, pure markets enable us to treat indivisible goods as divisible ones and apply standard (Fisher market) results, such as the first welfare theorem. The fact that the resulting equilibrium is integral ensures that—independent of the analytic treatment—the final allocation does not require the discrete goods to be fractionally allocated, i.e., it conforms to a legitimate assignment of the given indivisible goods.
Spending Graph: We will use the construct of a spending graph to state and analyze our algorithm. Given a market along with an outcome , the spending graph is a weighted bipartite graph whose (bipartition) vertex sets correspond to the set of agents and the set of goods , respectively. In the spending graph, we have an edge between agent and good if and only if . The weight of any edge in is the amount that agent is spending on good , i.e., weight of edge is .
Given a Fisher market and an equilibrium , it is always possible to rearrange the spending so that the spending graph is a forest, i.e., we can, in strongly polynomial time, find an such that is an equilibrium of and is a forest. This fact has been used in computing market equilibrium for markets [Orl10] and for approximating the Nash social welfare objective [CG15]. For completeness, we provide a proof of this result in Appendix A.
Claim 2.2.
Given a Fisher market and its equilibrium , we can find—in strongly polynomial time—an (fractional) allocation such that is also an equilibrium of and is a forest.
3 On the Proximity of Pure Markets
The main result of this section shows that for every Fisher market there always exists a “nearby” market which is pure. Our proof of this result is constructive. In particular, we develop a strongly polynomialtime algorithm (Alg) that, for any given market and its equilibrium , finds a pure market such that the absolute perturbation in endowments is at most , i.e., . Alg also computes an integral equilibrium of .
Theorem 3.1 (Main Result).
Given a Fisher market with additive valuations and its equilibrium , we can find—in strongly polynomial time—a budget vector and an integral allocation such that

is an integral equilibrium of the market .

The budget vector is close to : . In addition, .
Note that (in contrast to computing an arbitrary equilibrium) finding an integral equilibrium is computationally hard, i.e., determining whether a given Fisher market is pure is an NPhard problem (Appendix B). Hence, a notable aspect of Alg is that it, along with a pure market, finds an accompanying integral equilibrium.
3.1 Rounding Algorithm
Recall that, for any given market and its equilibrium , we can assume, without loss of generality, that the spending graph is a forest. Our algorithm, Alg, constructs a new (integral) allocation by iteratively assigning goods to agents until all the goods are allocated. In Alg, we initialize to be the spending forest and root each tree in at some agent. Then, we assign child goods to agents with no parents (i.e., to root agents), until adding any more child good to would violate ’s original endowment (i.e., budget constraint) . The remaining child goods are then appropriately assigned to grandchildren agents. After each such distribution, we delete this parent agent and all of its child goods (that have now been alloted). Overall, we repeat this specific method of distributing goods until is empty.
The integral allocation we construct is a rounding of the allocation . In particular, if a good is integrally allocated to agent under , then it will continue to be assigned to in . Hence, the focus here is to analyze the assignment of goods which are fractionally allocated (i.e., are not integrally allocated) in . We will use the term contested goods to refer to goods that are fractionally allocated in . Note that all the goods considered in the nested whileloops of Alg are contested.
3.2 Proof for Theorem 3.1
The runtime analysis of Alg is direct and leads to following proposition.
Proposition 3.2.
Alg runs in strongly polynomial time.
In Lemma 3.4 we will show that the output of Alg, i.e., , is an equilibrium of market . Lemma 3.5 asserts that the computed endowments are close to given budgets . Together, Lemma 3.4 and Lemma 3.5 directly imply Theorem 3.1.
The following supporting claim shows that Alg maintains a useful invariant.
Claim 3.3.
Throughout the execution of Alg, the graph is a forest. In addition, the root and leaves of every tree in correspond to agents (i.e., are agent nodes).
Proof.
The graph is initialized to be the spending forest, and throughout Alg we only delete vertices from , without ever adding an edge. Hence, continues to be a forest.
To establish the property about leaf nodes in , note that in Step 1 we assign all the leaves which correspond to goods. Therefore, before the whileloop begins, all leaf nodes correspond to agents. If, for contradiction, we assume that a node —which corresponds to a good—becomes a leaf at some point of time, then this must have happened due to the deletion of ’s child node (which corresponds to an agent). However, we delete an agent node only if it has no parent in (this is exactly the case in which is considered in the outer whileloop). This contradicts that fact that Alg would have deleted , implying that a node (which corresponds to a good) never becomes a leaf in .
Finally, note that at the beginning of Alg the root nodes correspond to agents: in Step 1 we explicitly root the trees of at agent nodes. As before, if we assume, for contradiction, that a good node becomes a root at some point of time, then this must have happened due to the deletion of ’s parent node (which corresponds to an agent). However, we delete an agent node only after all of ’s child nodes (which includes ) have been assigned (see Step 1). Therefore, before ’s deletion we would have assigned to a grandchild of (who is guaranteed to exist, due to the fact that is not a leaf node). That is, Alg would have deleted (from ) before , contradicting the assumption that ends up being a root node. Hence, the stated claim follows for the root nodes as well. ∎
Lemma 3.4.
For a given market (with additive valuations) and equilibrium , let and , respectively, be the allocation and the endowment vector computed by Alg. Then, is an integral equilibrium of the market .
Proof.
We will first show that Alg ends up allocating every good. For any good , consider the iteration in which its parent node is being considered in the outer whileloop, i.e., the loop after which gets deleted. Note that the parent node is guaranteed to exist since is never a root (Claim 3.3). Furthermore, the algorithm does not terminate till it deletes all the agent nodes from , hence there necessarily exists a point of time when the agent node is under consideration.
By construction, good either gets assigned to or to a grandchild of node ; Claim 3.3 ensures that exists. Hence, we get that all goods are allocated/deleted from over the course of the algorithm. Hence, the integral allocation satisfies the market clearing condition.
By construction, the allocation , returned by Alg, is a rounding of the allocation . In particular, for every agent , the set of goods that spends on in is a subset of the goods that spends on in , i.e., . Therefore, analogous to , in agents spend only on maximum bangperbuck goods, ; note that the prices of the goods remain unchanged. Moreover, the budget vector is chosen to satisfy the budget exhaustion condition. Hence is an integral equilibrium of the market . ∎
Lemma 3.5.
For any given market (with additive valuations) and equilibrium , the budget vector computed by Alg satisfies and .
Proof.
In the whileloops of Alg an agent can receive only contested goods: either the parent good and/or its child goods. Agents that have no children in (at the beginning of the while loops) or are isolated satisfy the endowment bound directly; such an agent has at most one contested good, its parent , and we have . Recall that . Hence, to complete the proof we now need to obtain the endowment bounds for agents that have child nodes.
Note that the child nodes (goods) of an agent are never deleted before . The child goods are allocated/deleted only when agent is selected in the outer whileloop. If an agent has children, but it does not receive any of its child nodes, then it must be the case that ’s endowment is high enough to not accommodate any child, . Specifically, we have , i.e., . Furthermore, in this case, the only good that may have received during the execution of the whileloops is its parent good, , hence .
The remainder of the analysis addresses agents who have children and receive at least one of their child nodes (goods). For such agents, the condition of the inner whileloop ensures that we never over allocate child nodes, . We will establish a lower bound for s by considering different cases based on whether an agent receives all of its child nodes or just some of them. Here, we write to denote the parent good of agent in .

If an agent receives all of its child nodes, then ; here, the subtracted term, , accounts for the fact that might not have received its parent good . Hence, in this case we have .

In case agent does not receive a child good , from the condition in the inner whileloop, we get . Otherwise, child would have been included in . Therefore, and we get a lower bound in this case as well.
Overall, the endowments satisfy .
Note that Alg does not modify the prices of the goods. Since both the markets and have the same equilibrium prices , the budgetexhaustion and marketclearing conditions of and give us: . ∎
Remark 3.1.
The proof of Lemma 3.5 shows that if then there exists a good that was fractionally allocated to under (i.e., ) such that . Note that for such a good (via the maximum bangperbuck condition in the definition of an equilibrium) we have .
The analysis also ensures that if , then there exists a good (specifically, the parent of ) such that .
3.3 An Extension of Theorem 3.1
The fact that Theorem 3.1 requires an equilibrium of the given market is not a computational hurdle. The work of Orlin [Orl10] provides a strongly polynomialtime algorithm for computing an equilibrium of a given Fisher market . Hence, Theorem 3.1, along with the result of Orlin [Orl10], leads to the following algorithmic result.
Theorem 3.6.
Given goods, agents with additive valuations, , and a budget vector . In (strongly) polynomial time, we can find a budget vector , an integral allocation , and a price vector such that:

is an integral equilibrium of the (pure) market .

The budget vector is close to : and .
4 Pure Markets for Discrete Fair Division
The section addresses the problem of fairly dividing indivisible goods among a set of agents with nonnegative, additive valuations . We will denote an instance of a fair division problem as a tuple .^{6}^{6}6We do not have budgets or prices in the fair division setup. Note that for each agent the valuation for a subset of goods satisfies , where is the value that agent has for good .
A prominent solution concept in discrete fair division is envyfreeness up to one good. Formally, for a fairdivision instance , an integral allocation is said to be envyfree up to one good (EF1) iff for every pair of agents there exists a good such that .
Strong existential guarantees are known for EF1, even under combinatorial valuations: it is show in [LMMS04] that as long as the valuations of the agents are monotone an EF1 allocation exists and can be computed efficiently. Caragiannis et al. [CKM16] prove that, in the case of additive valuations, this notion of fairness is compatible with (Pareto) efficiency, i.e., there exists an allocation which is both EF1 and Pareto optimal (PO). However, polynomialtime algorithms are not known for finding such allocations–prior work [BKV18] provides a pseudopolynomial time algorithm for this problem.
Along the lines of EF1, a surrogate of proportionality—called proportionality up to one good—has also been considered previously [CFS17]. Formally, an allocation is said to be proportional up to one good (Prop1) iff for every agent there exists a good such that . Write to denote the proportional share of agent , i.e., .
Under additive valuations, EF1 allocations are also Prop1. Hence, the result of Lipton et al. [LMMS04] implies that Prop1 allocations exist when the valuations are additive. Similarly, via [CKM16], we get that if the agents’ valuations are additive, then there exists an allocation that is both Prop1 and PO.
We will show that—in contrast to the known pseudopolynomial results for finding EF1 and fPO allocations [BKV18]—one can compute allocations that are Prop1 and fPO in strongly polynomial time (Corollary 4.1).^{7}^{7}7Recall that fPO is a stronger solution concept that PO, since it requires that an allocation is not Pareto dominated by any fraction (and, hence, any integral) allocation. On the other hand, PO rules out domination solely by integral allocations. Finding a Prop1 and PO allocation in polynomial time was identified as an open question in [CFS17], and our algorithmic result for this problem highlights the applicability of Theorem 3.6 in the context of fair division of indivisible goods.
In addition, we prove a similar result for a natural relaxation of EF1, which we call envyfree up to addition of a good in the first bundle and removal of another good from the other bundle (). Formally, an integral allocation is said to be iff for every pair of agents , there exist goods and , such that . Corollary 4.2 shows that an integral allocation, which is both and fPO, can be computed efficiently.
Corollary 4.1.
Given a fairdivision instance with indivisible goods and additive valuations, in strongly polynomial time we can compute an integral allocation which is both Prop1 (fair) and fPO (efficient).
Proof.
Given a fairdivision instance , we construct a Fisher market by setting the endowment of each agent equal to one. Theorem 3.6 shows that in strongly polynomial time we can compute an equilibrium of the market and, then, round to an integral allocation and obtain a budget vector such that is a integral equilibrium of the market and the budget vector is close to ; in particular, .
Since is an equilibrium of the Fisher market , via the first welfare theorem (Proposition 2.1), we know that is fPO. Next, we will prove that is Prop1 as well.
The conditions that define an equilibrium ensure that for all agents and goods (i.e., the goods that are allocated to in ) we have .^{8}^{8}8Note that the prices of the goods are the same under the two equilibria and . The proof of Lemma 3.5 further provides the guarantee that if , then there exists a good such that (Remark 3.1). Using these facts we will perform a case analysis to show that allocation satisfies the stated fairness guarantee:

If , then there exists a good such that . Therefore,
( is additive and ) () () ( for all goods ) 
If , then
()
Overall, we get that for any fairdivision instance , a Prop1 and fPO allocation can be computed in strongly polynomial time. ∎
Next, we provide a strongly polynomialtime algorithm for finding integral allocations that are simultaneously and fPO.
Corollary 4.2.
Given a fairdivision instance with indivisible goods and additive valuations, in strongly polynomial time we can compute an integral allocation which is both and fPO.
Proof.
Given a fairdivision instance , we construct a Fisher market by setting the endowment of each agent equal to one. Theorem 3.6 shows that in strongly polynomial time we can compute an equilibrium of the market and, then, round to an integral allocation and obtain a budget vector such that is a integral equilibrium of the market and the budget vector is close to ; in particular, .
As noted in Remark 3.1, in this construction, for each agent we have where is in fact a good that is fractionally allocated to under , i.e., . Therefore, the following two properties hold

For each agent , there exists a good such that .
If ,^{9}^{9}9By construction, . then this inequality follows from the first part of Remark 3.1. Otherwise, if , then the inequity holds trivially–the prices are nonnegative.

For each agent , there exists a good such that .
If , then (as stated in the second part of Remark 3.1) we have a good such that . For the complementary case, , this inequality directly holds.
Properties P1 and P2 imply that allocation is (here, for any two agents and we select goods and as specified in the two properties, respectively):
( and )  
(P1)  
(P2)  
( for all goods ) 
∎
5 Some Empirical Results
For an experimental analysis of Alg, we generate random instances of Fisher markets with equal incomes () and number of agents . For each , the number of goods are kept to be five times the number of agents () and we run the experiment times. Agents’ valuations for the goods are selected uniformly at random from the set (i.e., for any agent and any good we pick uniformly at random from the set ). Generating the valuations this way helps avoid convergence issues while solving the EisenbergGale convex program.
Given a Fisher market , we compute its equilibrium allocation () using projected gradient ascent on the corresponding EisenbergGale convex program.^{10}^{10}10Recall that the optimal solutions of the EisenbergGale convex program correspond to equilibrium allocations of the underlying Fisher market [EG59]. In addition, we find an equilibrium price vector () using the equilibrium conditions. Then, we update using Algorithm 2 (Appendix A) to ensure that that its spending graph is a forest and, finally, execute Alg on the input . Note that while there are sophisticated algorithms to compute exact equilibrium of Fisher markets in strongly polynomial time [Orl10; Vég12], we use the projected gradient ascent for ease of implementation and convergence speed.
Our empirical results appear in Table 1. As established in Corollary 4.1 and Corollary 4.2, the above procedure always finds an allocation which is Prop1 and . In fact, for about 96% of the (randomly generated) instances, the implemented method finds an envyfree allocation. This suggests that, in practice, our algorithms outperform our theoretical guarantees. In addition, we find that it takes notably less time to execute the rounding method than to compute a market equilibrium (i.e., solve the EisenbergGale program).
Number of agents (n)  
Number of goods (m)  
Mean runtime of Gradient Ascent  1.104 sec  1.621 sec  2.067 sec  2.869 sec  5.593 sec  6.559 sec 
Mean runtime of Algorithm 2  0.0007 sec  0.005 sec  0.020 sec  0.067 sec  0.198 sec  1.033 sec 
Mean runtime of Alg  0.0002 sec  0.0005 sec  0.0007 sec  0.002 sec  0.007 sec  0.025 sec 
Max runtime of Gradient Ascent  1.747 sec  3.897 sec  4.155 sec  10.006 sec  29.11 sec  7.788 sec 
Max runtime of Algorithm 2  0.001 sec  0.011 sec  0.050 sec  0.109 sec  0.299 sec  1.329 sec 
Max runtime of Alg  0.001 sec  0.005 sec  0.002 sec  0.004 sec  0.012 sec  0.038 sec 
Number of allocations (out of 100)  99  86  95  99  98  100 
Number of EF1 allocations (out of 100)  100  86  95  99  98  100 
Number of allocations (out of 100)  100  100  100  100  100  100 
Number of Prop allocations (out of 100)  99  86  96  100  100  100 
Number of Prop1 allocations (out of 100)  100  100  100  100  100  100 
References
 [AD54] Kenneth J Arrow and Gerard Debreu. Existence of an Equilibrium for a Competitive Economy. Econometrica: Journal of the Econometric Society, pages 265–290, 1954.
 [BKV18] Siddharth Barman, Sanath Kumar Krishnamurthy, and Rohit Vaish. Finding fair and efficient allocations. In Proceedings of the 2018 ACM Conference on Economics and Computation, pages 557–574. ACM, 2018.
 [BNTC17] Moshe Babaioff, Noam Nisan, and Inbal TalgamCohen. Competitive equilibria with indivisible goods and generic budgets. arXiv preprint arXiv:1703.08150, 2017.
 [BS00] William C Brainard and Herbert Scarf. How to Compute Equilibrium Prices in 1891. Technical report, Cowles Foundation for Research in Economics, Yale University, 2000.
 [Bud11] Eric Budish. The Combinatorial Assignment Problem: Approximate Competitive Equilibrium from Equal Incomes. Journal of Political Economy, 119(6):1061–1103, 2011.
 [CFS17] Vincent Conitzer, Rupert Freeman, and Nisarg Shah. Fair public decision making. In Proceedings of the 2017 ACM Conference on Economics and Computation, pages 629–646. ACM, 2017.

[CG15]
Richard Cole and Vasilis Gkatzelis.
Approximating the nash social welfare with indivisible items.
In
Proceedings of the fortyseventh annual ACM symposium on Theory of computing
, pages 371–380. ACM, 2015.  [CKM16] Ioannis Caragiannis, David Kurokawa, Hervé Moulin, Ariel D Procaccia, Nisarg Shah, and Junxing Wang. The Unreasonable Fairness of Maximum Nash Welfare. In Proceedings of the 2016 ACM Conference on Economics and Computation (EC), pages 305–322, 2016.

[EG59]
Edmund Eisenberg and David Gale.
Consensus of Subjective Probabilities: The Parimutuel Method.
The Annals of Mathematical Statistics, 30(1):165–168, 1959.  [Fol67] Duncan Foley. Resource Allocation and the Public Sector. Yale Economic Essays, pages 45–98, 1967.
 [GP15] Jonathan Goldman and Ariel D Procaccia. Spliddit: Unleashing Fair Division Algorithms. ACM SIGecom Exchanges, 13(2):41–46, 2015.
 [LMMS04] Richard J Lipton, Evangelos Markakis, Elchanan Mossel, and Amin Saberi. On Approximately Fair Allocations of Indivisible Goods. In Proceedings of the 5th ACM Conference on Electronic Commerce (EC), pages 125–131, 2004.
 [MCWG95] Andreu MasColell, Michael Dennis Whinston, and Jerry R Green. Microeconomic Theory, volume 1. Oxford university press New York, 1995.

[NRTV07]
Noam Nisan, Tim Roughgarden, Eva Tardos, and Vijay V. Vazirani.
Algorithmic Game Theory
. Cambridge University Press, 2007.  [Orl10] James B Orlin. Improved algorithms for computing fisher’s market clearing prices: computing fisher’s market clearing prices. In Proceedings of the fortysecond ACM symposium on Theory of computing, pages 291–300. ACM, 2010.
 [OSB10] Abraham Othman, Tuomas Sandholm, and Eric Budish. Finding Approximate Competitive Equilibria: Efficient and Fair Course Allocation. In Proceedings of the 9th International Conference on Autonomous Agents and Multiagent Systems (AAMAS), pages 873–880, 2010.
 [Rot11] Julio J Rotemberg. Fair pricing. Journal of the European Economic Association, 9(5):952–981, 2011.
 [Str80] Walter Stromquist. How to Cut a Cake Fairly. The American Mathematical Monthly, 87(8):640–644, 1980.
 [Var74] Hal R Varian. Equity, Envy, and Efficiency. Journal of Economic Theory, 9(1):63–91, 1974.
 [Vég12] László A Végh. Strongly polynomial algorithm for a class of minimumcost flow problems with separable convex objectives. In Proceedings of the fortyfourth annual ACM symposium on Theory of computing, pages 27–40. ACM, 2012.
Appendix A Proof of Claim 2.2
In this section we will show that Algorithm 2 finds, in strongly polynomial time, an allocation that satisfies Claim 2.2. Algorithm 2 initializes to be the input allocation and keeps iteratively modifying . In every iteration of the whileloop, an edge which was part of a cycle of gets deleted and, hence, every iteration deletes a cycle from the spending graph. Throughout these modifications, we maintain the invariant that is an equilibrium of the given Fisher market . These observations establish the stated claim and are detailed below.
Proof of Correctness: Since in every iteration the graph considered by the algorithm is bipartite, the selected cycles are always of even length. Hence, as we alternately add and subtract the least weight though a cycle, no agents total spending ever changes. Specifically, consider a cycle in . Without loss of generality, we can assume that is the least weight edge in the spending graph and let be the weight associated with this edge. We will delete the edge by subtracting the weight from it and alternately add and subtract throughout the cycle. Hence for any agent (say agent ), we increase ’s spending on by and decrease ’s spending on by . Hence the total amount spent by any agent does not change. Moreover, as is the least weight of any edge in the cycle, adding or subtracting any agents spending on any good in the cycle by will maintain the nonnegativity of all the spendings. Therefore, throughout the execution of the algorithm, the budgetexhaustion condition is maintained.
For any good on the cycle, the consumption by agent decreases by and the consumption of this good by the agent goes up by . Therefore, the marketclearing conditions are maintained as well. Finally, the maximum bangperbuck condition is also maintained. This follows from the fact that in agents only spent on goods which provided them maximum bangperbuck and in agents only spend on a subset of goods that they originally spent on in .
These observations imply that Algorithm 2 maintains the invariant that is an equilibrium of . From the condition in the whileloop, it is clear that the algorithm terminates if and only if is a forest. We will now complete the proof of the claim by showing that Algorithm 2 terminates in time.
RunTime Analysis: In each iteration of the algorithm we delete one edge from and never add a new edge to the graph. Therefore, the algorithm iterates at most times. Furthermore, each iteration runs in strongly polynomial time, since it entails finding a cycle and a minimum weight edge on it. Therefore, Algorithm 2 terminates in strongly polynomial time. This completes the proof.
Appendix B Hardness of Finding Integral Equilibria
Theorem B.1.
It is NPhard to determine whether a given Fisher market admits an integral equilibrium or not.
Proof.
We establish the hardness of determining whether a market is pure by reducing the partition problem to it. Recall that in the partition problem, we are given a set of positive integers and the goal is to find a partition of such that the sum of the numbers in is equal to the sum of number in . Given an instance of the partition problem with positive integers, we will construct a market with two agents and goods, . Here, both agents have equal budget, , and identical, additive valuation for all .
Note that is an integral equilibrium of iff:

Market clearing: is a partition of ; in particular, for all we have .

Maximum bangperbuck allocation: for both the agents and for each good the condition implies that . Since both agents have the same valuation, we have for all .

Budgets exhaustion: for all . Therefore, . This along with the fact that for all implies that .
This implies that is a market outcome of iff and
Hence, there exists a integral equilibrium for iff there exists a partition of such that the sum of the numbers in is equal to the sum of the numbers in . This establishes the stated claim. ∎
Appendix C Comparative Example
This section provides an example of a Fisher market wherein Alg outperforms (in terms of budget perturbations) the algorithm developed in [BKV18].
Consider a market that consists of goods and agents, each with a budget of . The first agents value the first goods uniformly at . In addition, the first agents have a value of zero for the last goods. The last agents value the first goods uniformly at and their value for each of the last goods is equal to one.
At equilibrium, each of the first goods will be priced at . In addition, the equilibrium prices of last goods will be , each.
Therefore, via Theorem 3.6, we can find a pure market by perturbing the budgets no more than . Next, we will show that the pure market obtained via the algorithm in [BKV18] leads to a budget perturbation of .
The algorithm of Barman et al. [BKV18] would start with a welfaremaximizing allocation, i.e., it would start by allocating (i) the first goods among the first agents and (ii) the last goods among the last agents. Note that, under this allocation, one of the last agents gets less than two goods. In [BKV18] the prices are initialized to be equal to the valuations; one can normalize them after the termination of the algorithm to ensure that the sum of prices is equal to the sum of the budgets, i.e., equal to .
Since this initial allocation is not price envyfree up to one good, the algorithm of Barman et al. [BKV18] would scale the prices up and, in particular, increase the prices of the last goods to each. At this point of time, price envyfreeness up to one good is achieved and the algorithm would terminate. Overall, the method in [BKV18] will find a solution in which every good is priced at and there exists an agent who receives exactly one good; the remaining agents will obtain two goods, each.
Note that, at this point, however, the sum of prices is . To get the sum of prices back to we scale them down by . Hence, the budget of the agent with a single good scales down to . Therefore, the change in the budget of this agent is about . As mentioned previously, the algorithm developed in the present paper would lead to a budget perturbation of close to and, hence, will perform better on this instance.