MMS Allocations of Chores with Connectivity Constraints: New Methods and New Results
Abstract
We study the problem of allocating indivisible chores to agents under the Maximin share (MMS) fairness notion. The chores are embedded on a graph and each bundle of chores assigned to an agent should be connected. Although there is a simple algorithm for MMS allocations of goods on trees, it remains open whether MMS allocations of chores on trees always exist or not, which is a simple but annoying problem in chores allocation. In this paper, we introduce a new method for chores allocation with connectivity constraints, called the group-satisfied method, that can show the existence of MMS allocations of chores on several subclasses of trees. Even these subcases are non-trivial and our results can be considered as a significant step to the open problem. We also consider MMS allocations of chores on cycles where we get the tight approximation ratio for three agents. Our result was obtained via the linear programming (LP) method, which enables us not only to compute approximate MMS allocations but also to construct tight examples of the nonexistence of MMS allocations without complicated combinatorial analysis. These two proposed methods, the group-satisfied method and the LP method, have the potential to solve more related problems.
1 Introduction
The theory of the fair allocation investigates how to allocate items to a set of agents under some fairness notion, where different agents may have different valuation functions on the items. The spirit of the fair allocation problem is to achieve a desired outcome for individuals and the whole community simultaneously, which motivates several important problems in mathematics and computer science. The goods allocation problem with positive valuation functions has received extensive studies [18, 10, 9, 20]. However, in some scenarios in real life, the items to be allocated may have disutility, i.e., the valuation functions are negative, such as troublesome jobs, household chores, or debt. For this case, the problem is called the chores allocation problem [3]. Seemingly, the problem of chores allocation is similar to the well-studied goods allocation problem as we can reduce the former to the latter by setting all valuation functions as their negative counterparts. However, many properties of the problem may change and not be applicable under this reduction. Thus, most results for goods allocation cannot be trivially extended to chores allocation [3, 4, 14, 2, 23].
There are several fairness notions for allocations, such as envy-free (EF) [18], proportionality (PROP) [22], maximin share (MMS) [10], and so on. In this paper, we consider the MMS fairness notion where the MMS value is the best possible guarantee that an agent can expect when he divides the items into several bundles but picks after all other agents. Moreover, we study MMS allocations of chores on graphs with connectivity constraints in which chores are embedded on a graph and each bundle assigned to an agent is required to be connected [5, 15, 8, 19, 7]. The connectivity requirements for chores capture the scenarios such as the allocation for energy conservation and emission reduction obligations between countries where the feature of geographical adjacency is natural, crop harvesting task allocation problem or clean work arrangement in the street where arranging a task with continuous geographical location is more convenient to set and use tools, and so on. Note that MMS allocation may not always exist. It is also meaningful to study the approximate -MMS allocation: whether each agent can always get fraction of his MMS guarantee in the allocation.
1.1 Our Contribution
We propose two novel techniques to study MMS allocation of chores with connectivity constraints and demonstrate their applications on trees and cycles. Although the graph classes are restrictive, claiming the existence of the (approximate) MMS allocations of chores with these constraints is already non-trivial and requires sophisticated analysis.
For trees, the simple algorithm for MMS allocation of goods [8] can not be extended to chores and an illustrated example will be presented in our later discussion. Resulted from the subtle difference between the goods and chores settings, it remains unknown whether or not MMS allocation of chores on a tree always exists. We generalize the classical last-diminisher method to a method called the group-satisfied method. Together with a matching technique in graph theory, we show the existence of MMS allocations of chores on some special trees, such as trees with depth at most 3, spiders, and so on.
For cycles, the idea for goods allocation in [19] can be trivially used to obtain a 3/2-MMS allocation of chores on cycles. Here our major contribution is the idea of using linear programming to design algorithms for approximate -MMS allocations and construct examples to show the nonexistence of MMS allocations. We take the problem of allocating chores on a cycle to three agents as an example to show the linear programming method. By using the linear programming method, we may be able to avoid some complicated combinatorial analysis. We show a tight result: -MMS allocation of chores on a cycle to three agents always exists and can be found in polynomial time; -MMS allocation may not exist for any constant . The linear programming method may be used to solve more allocation problems. A directed extension to MMS allocation of goods on a cycle to three agents, we also get a tight ratio of for .
In the following part of the paper, we first introduce related work on MMS and preliminary background. Second, we discuss the difference between allocating goods and chores on trees and introduce the group-satisfied method. Third, we show how to use the group-satisfied method to find MMS allocations for chores on two kinds of trees: trees with depth 3 and spiders. Fourth, we consider MMS allocations of chores on cycles and introduce a linear programming method to find approximation MMS allocations. Finally, we discuss the feasibility of our new methods for other problems.
1.2 Other Related Works
For goods allocation, the MMS fairness notion was first introduced in [10]. The first instance where MMS allocation does not exist was given in [17]. An instance with a fewer number of goods was identified in [16]. On the other hand, a 2/3-MMS allocation always exists [17]. Later, the ratio was improved to 3/4 [13] and to [12], where is the number of agents. For only three agents and four agents, the ratio can be further improved to 7/8 [1] and 4/5 [13] respectively. It is also known that a 39/40-MMS allocation for three agents is impossible [11]. All the above results do not take into account connectivity constraints. For goods allocation on a graph with connectivity constraints, MMS allocation always exists on trees [8] but may not exist on single cycles [19]. For goods on a cycle, it is known that 1/2-MMS allocation always exists and the ratio can be improved to 5/6 if there are only three agents [19].
For the chores setting, MMS allocation may not always exist, but 2-MMS allocation always exists [3]. The result was later improved to [4] and to [14]. For chores with connectivity constraints, EF, PROP, and Equitability allocations on paths and stars were studied in [7]. A more relaxed fairness notion was studied on paths in [6]. Nevertheless, the MMS criterion has not been well explored, except for some trivial results extended from goods allocation.
2 Backgrounds
Let be a set of agents and be a set of chores. There is an undirected graph with vertices being chores in . For each agent , there is a disutility function on chores , where the functions are additive, i.e., holds for any subset of chores . The whole disutility function profile for all agents is denoted by .
Let be a positive integer. Let be a -partition of such that and for any different , where and the set is called the th bundle in the -partition. A -partition is valid if the induced subgraph is connected for each . Let denote the set of all valid -partitions. An allocation of is defined as a valid -partition .
We mainly consider the Maximin share (MMS) criterion for the allocation of chores. Given a graph and a positive integer , for each , we define the MMS value of agent as follows when the chores in are allocated to agents
For simplification, we use and to denote and , respectively.
For any constant . An -partition of is called an -MMSi split for agent if each bundle induces a connected subgraph and . When , we simply call it an MMSi split. We say a valid allocation is an -MMS allocation if for each agent . When , we simply call it an MMS allocation.
We focus on the existence of MMS (or -MMS) allocations of chores on graphs and algorithms to find them if they exist. Our algorithms may need to use the MMS value for each agent. We show that when the graph is a tree or a cycle, the MMS value for each agent can be easily computed. The algorithms are modified from the algorithms for goods in [8] and the detailed proof can be found in Appendix A.
Lemma 2.1.
For allocating chores on a tree or a cycle, the MMS value for each agent can be computed in polynomial time.
3 Failure of the Last-diminisher Method on Trees for Chores Allocations
As mentioned in the introduction, MMS allocations of goods on trees always exist and can be computed in polynomial time [8]. The algorithm uses the idea of the last-diminisher method for proportionality cuttings of divisible cake [21].
We first review the allocation procedure for goods. First, let one agent take a sub rooted tree as (the original tree is rooted by taking an arbitrary vertex as the root); second, each other agent, in order, replaces with a sub rooted tree of it if he thinks is too much and does nothing if he thinks the current subtree is not enough or just right; third, the last agent who modifies gets the bundle . Note that after deleting from the original tree , the remaining part is still a connected tree. The same procedure is then applied to allocate the remaining tree to the remaining agents. This algorithm is not exactly the algorithm for allocating goods on trees in [8]. Both algorithms use the idea of the last-diminisher method and we just present a simplified version.
For chores, agents do not want to get more burdens. The corresponding last-diminisher method will be different: each agent may want to expand the current bundle if he thinks the current bundle of burdens is too light. At first glance, we can also assign the last expanded bundle to the last agent who expands it. However, the expanding operation will cause trouble on trees. After expanding the current bundle (a subtree) by including some vertices to it, the remaining graph after deleting the new bundle may not be connected (not be a connected tree anymore). This may change the property of the problem. Specifically, we give an example in Figure 1 to show that after expanding a rooted subtree the remaining part may not be connected. The current subtree is the subtree rooted as , which contains three vertices . An agent may include two vertices and to the subtree . However, after adding them, is not a rooted subtree and the remaining graph after deleting is not connected. For this case, we can not guarantee the existence of allocations to the remaining agents even if the original allocations to the agents exist.

It turns out that chores allocation on trees become much harder. We show that chores allocation on some special trees always exists and can be found in polynomial time. Our algorithms will use a technique, called the group-satisfied method, which can be regarded as an extension of the last-diminisher method. In an allocation procedure of the group-satisfied method, we will assign bundles to agents together such that the remaining agents ‘agree with’ this allocation and the remaining objects still form a connected tree. Here ‘agree’ means that the agent thinks in the new instance his MMS value will not decrease. The group-satisfied method will iteratively apply this allocation procedure until all objects are assigned to agents. If in each allocation procedure only one bundle is assigned to one agent, then the group-satisfied method becomes the last-diminisher method. Before introducing the group-satisfied method in detail, we first define some concepts.
4 Preliminaries for the group-satisfied method
Recall that a partial allocation is valid if each bundle of chores in the allocation induces a connected graph.
Definition 4.1.
Let be a valid partial allocation of a subset set of chores to a subset of agents . An agent is satisfied with if the disutility of the bundle assigned to him is not less than his MMS value, i.e., ; an agent is satisfied with if in the remaining instance his MMS value is not decreasing, i.e., for each agent .
Definition 4.2.
A valid partial allocation is group-satisfied if all agents are satisfied with it.
Given a valid partial allocation . To check whether is group-satisfied we need to check whether all agents are satisfied with it. For an agent in , it is easy to check since we only need to compute the disutility of the bundle assigned to him. For an agent , we use the following sufficient condition to guarantee their requirements,
Lemma 4.3.
Let be a valid partial allocation. Let be an agent in and be an MMSi split of . If contains chores only from at most bundles of and the chores from the same bundle induce a connected graph in , then is satisfied with .
Proof.
For agent , we split into at most bundles according to the MMSi split of , i.e., chores in the same bundle of will still be in the same bundle. We can see that each bundle is also connected. Furthermore, the disutility of each bundle is not less than . This split is a valid -partition of . So we know that . ∎
A subclass of trees satisfying a certain property is called Property- graphs. For example, the class of paths is trees having the property: having no vertices of degree . In this paper, we will consider several Property- graphs, such as paths, trees with only one vertex of degree , trees with depth 3, and so on. We have the following important lemma that will widely be used in our proofs.
Lemma 4.4.
For any instance of MMS allocation of chores on Property- graphs, if there is always a group-satisfied partial allocation such that the remaining graph is still a Property- graph, then MMS allocations of chores on Property- graphs always exist. Furthermore, if the partial allocation can be found in polynomial time, then MMS allocations of chores on Property- graphs can be found in polynomial time.
Proof.
We prove this lemma by induction on the number of agents. It trivially holds for one agent: MMS allocations always exist and they can be found in polynomial time. Next, we assume that the lemma holds for any agents and proves that the lemma also holds for agents. Let be a group-satisfied partial allocation and there is an algorithm that can find it in polynomial time. We consider the remaining problem after the allocation . The remaining set of chores also induces a graph that is a Property- graph since is group-satisfied. We need to allocation to the remaining agents in . By the induction, we know that there is an MMS allocation such that holds for each . By the definition of group-satisfied allocations, we also know that holds for each . Therefore, the two allocations and will form a valid MMS allocation of the original graph .
For the running time, by the induction, we know that the allocation can be found in polynomial time. The allocation can also be executed in polynomial time by the assumption. So an MMS allocation of the whole graph can be done in polynomial time. ∎
Next, we show how to use Lemma 4.4 to find feasible allocations. We first consider the simple case of paths.
4.1 Paths
Assume that the graph is a path now. We consider the MMSi split of the path for each agent . In each MMSi split, the bundle containing the most left chore in the path is called the first bundle. Since the graph is a path, we know that there is always an agent whose first bundle contains any other agent’s first bundle. The allocation procedure is to allocate bundle to agent . We can see that this allocation is group-satisfied and the remaining chores still form a path. By Lemma 4.4, we know that MMS allocations of chores on paths always exist. For the running time, if we already know the MMS value of each agent, then the algorithm takes only time because we check from the left to right at each chore whether the sum of the values of all the chores on the left is greater than the MMS value for each agent. Note that, in this allocation procedure, only one bundle of chores is assigned to one agent in each iteration. So it is indeed the last-diminisher method.
Before introducing the algorithms for trees of a more complicated structure, we introduce more notations.
4.2 -perfect and -super subtrees
Next, we assume the input graph is a tree. We will select a vertex in as the root and consider the tree as a rooted tree. The subtree rooted as a vertex is denoted by . The length of the path from the root to a vertex in the tree is the depth of the vertex . The depth of a rooted tree is the largest depth of all vertices. We will also say an unrooted tree has the depth at most if we can select a vertex as the root such that the rooted tree has the depth at most . A tree of a single vertex is called a trivial tree and a tree of more than one vertex is called a non-trivial tree.
For each agent , we fix an MMSi split of the tree. Let be a vertex on the tree. We consider the subtree rooted at . Assume that bundles in an MMSi split are contained in the subtree , and bundles in contain at least one vertex in . It always holds that since there is at most one bundle in , which contains the vertex , that contains some vertices in but is not contained in . We say that agent -splits the subtree if the MMSi split makes and -splits the subtree if the MMSi split makes . See Figure 2 for an illustration of -splitting and -splitting.

Definition 4.5.
A rooted subtree is called -perfect if no agent -splits it for any , no agent -splits it for any , and there is at least one agent -splits it. A rooted subtree is called -super if no agent -splits it for any , no agent -splits it for any , and there is at least one agent -splits it.
Definition 4.6.
For an -super tree , an agent that -splits it is called a dominator of the tree , and the set of dominators of is denoted by .
Lemma 4.7.
Let be an -perfect rooted subtree, and be a valid partial allocation that allocates to agents . If each agent in is satisfied with , then is group-satisfied.
Proof.
We only need to show that any agent in is also satisfied with . According to the definition of -perfect subtrees, we know that for any agent , the graph contains chores from at most bundles of his MMSi split of . Furthermore, the chores from the same bundle form a connected graph in since is a rooted subtree of . By Lemma 4.3, we know that all agents in are satisfied with . ∎
Lemma 4.8.
Let be a set of disjoint rooted subtrees of , where is -super . Let be a valid partial allocation that allocates chores in all subtrees in to agents , where contains all dominators of all subtrees in . If each agent in is satisfied with , then is group-satisfied.
Proof.
We only need to show that any agent in is also satisfied with the allocation . For any subtree and any agent , by the definition of -super subtrees and dominators, we know that the graph contains only chores from at most bundles of the MMSi split of . By iteratively applying this claim, we get that for any agent , the graph contains only chores from at most bundles of his MMS split of . Furthermore, the chores from the same bundle form a connected graph in since each is a rooted subtree of . We have that . By Lemma 4.3, we know that all agents in are satisfied with . ∎
Lemmas 4.7 and 4.8 provide some ideas to construct group-satisfied partial allocations based on -perfect and -super subtrees. Note that Lemma 4.7 only considers one -perfect subtree while Lemma 4.8 considers several -super subtrees together. For several -perfect subtrees, we can deal with them one by one by using Lemma 4.7. However, for several -super subtrees, we should use the stronger Lemma 4.8.
5 Trees with depth 3
Now we consider trees with depth at most 3 and show how to use the group-satisfied method to solve the allocation problem on these trees. Let be the root of the tree . If the depth of the tree is 2, then the tree is a star. For this case, we consider the MMS split of an arbitrary agent and let agent take the bundle containing the root. Note that all other bundles in contain only one chore in one leaf of the tree. We arbitrarily assign the chores to the other agents, since the value of every single chore will not less than the MMS value of each agent. This will be an MMS allocation. Next, we assume that the depth of is 3.
In the algorithm, we also first consider the MMS split of an arbitrary agent and denote the bundle containing the root by . In the graph after deleting , each connected component is either a star or a single vertex. Let be the set of stars in . Each star in is a rooted subtree of . We will show that we can always find a group-satisfied allocation.
Case 1: There is a star that is -perfect for some integer . Assume that agent -splits star . We consider the -partition of by agent and assign the bundle containing the center vertex of to agent and assign the left chores to arbitrary agents. All the agents are satisfied with this allocation. By Lemma 4.7, we know that this allocation of to the agents is group-satisfied.
Case 2: All stars in are -super for different integers . Assume that is -super for . In this case, we will use a matching technique to show that there is either a group-satisfied allocation to allocate some stars in or a group-satisfied allocation to allocate the whole graph .
We construct an auxiliary bipartite graph . The vertex set contains vertices. Each star in is corresponding to a vertex in and the last vertex in is corresponding to the bundle in , i.e., . The vertex set is corresponding to the agent set , i.e., . A vertex in is adjacent to a vertex if and only if the corresponding agent is a dominator of the subtree , i.e., . The vertex is only adjacent to vertex . See Figure 3 for an illustration of the construction of the auxiliary graph .

We use a standard matching algorithm to find a maximum matching between and in .
Case 2.1: All vertices in are matched in . For this case, we will show that we can find a group-satisfied allocation to allocate the whole graph according to the matching . First of all, the vertex can only be matched with since is only adjacent to in . So we assign the bundle to agent . Next, we consider other edges in the matching . Assume that is matched with . Then agent is a dominator of the subtree . We consider an -partition of by agent and assign the bundle containing the center vertex to agent . All other bundles left are bundles of a single chore. For each vertex in , we do the above allocation. Then we can allocate bundles to different agents since is a matching. After this, the remaining chores will form an independent set. We assign each remaining chore to a remaining agent. This is the algorithm.
Lemma 5.1.
The allocation in Case 2.1 is group-satisfied.
Proof.
First, we show that the allocation is a valid allocation to allocate all chores to agents. The MMS split of agent splits the graph into bundles. For a star , which is -super, if it contains exact bundles in , then according to Definition 3 we know that . This relation holds for all stars in . In our allocation, we will split each star into bundles. So our allocation will split the whole graph into bundles. In our allocation, the first bundles are assigned according to the matching. So no two bundles are assigned to the same agent. For the remaining bundles, each of them contains a single chore and the number of bundles is not greater than the number of remaining agents by . So all chores can be assigned to agents. This is a valid allocation to allocate all chores to agents.
Second, we show that all agents are satisfied with the allocation. First, agent is satisfied with the bundle because is a bundle in his MMS split . For each , we will assign a bundle containing the center vertex of to agent . Agent is satisfied with this bundle because the star was split by agent . All other bundles left are bundles of a single chore. Each agent is satisfied with a single chore. So all agents are satisfied with the allocation. ∎
Case 2.2: Some vertices in are not in the matching . In this case, we will show that we can find a group-satisfied allocation to allocate a subset of stars at . Our algorithm will use the following concept crown.
Definition 5.2.
Let be a bipartite graph. A pair of nonempty vertex sets is called a crown of , if the following conditions hold:
-
1.
and .
-
2.
any vertex in is only adjacent to vertices in .
-
3.
there is a matching of size between and . The matching is called a witness matching of the crown.
The following lemma gives a condition for the existence of the crown structure.
Lemma 5.3.
Let be a bipartite graph and be a maximum matching between and . If , then there is a crown of , which can be found in linear time.
Proof.
A vertex in is called -saturated if it is an endpoint of an edge in and -unsaturated otherwise. A path in that alternates between edges not in and edges in is called an -alternating path. Since , we know that there are some -unsaturated vertices in . Let be the set of vertices in that are reachable from an -unsaturated vertex in via an -alternating path, possibly of length zero (which means that all -unsaturated vertices in are in ). Let be the set of vertices in that are reachable from an -unsaturated vertex in via an -alternating path. Note that and can be computed in linear time by a breadth-first search if is given. We will show that is a crown.
The first condition in the definition of crown is trivial. The second condition holds because any vertex adjacent to a vertex must be in because any -alternating path from an -unsaturated vertex in to plus the edge will form an -alternating path from an -unsaturated vertex in to , no matter is in or not. For the third condition, we show that the subset of edges in with two endpoints in will form a witness matching. We know that is a matching since it is a subset of the matching . We only need to prove that . It is sufficient to prove that any vertex in is contained in an edge in . For any , there is an -alternating path from an -unsaturated vertex to . Note that the first edge (containing ) in is not in since is -unsaturated. If the last edge (containing ) in is not in , then we could get a bigger matching of by replacing with in , which is a contradiction to the maximality of . So we know that any vertex in is contained in an edge in . All three conditions in the definition of the crown hold. So is a crown. ∎
Lemma 5.4.
Let be the auxiliary bipartite graph constructed in Case 2 for trees with depth 3. Given a crown of , we can find a group-satisfied allocation in linear time.
Proof.
We will use Lemma 3 to prove this lemma. So we only need to show that we can always find a group-satisfied allocation after executing which the remaining graph is still a connected tree or an empty graph.
If the condition of Step 2 holds, then it becomes Case 1. For this case, we find an -perfect subtree. We will assign the -perfect subtree to agents such that all the agents are satisfied with this allocation. By Lemma 4, we know that this allocation is group-satisfied. Otherwise, the algorithm will execute Step 5, and then it becomes Case 2. If the condition of Step 7 holds (Case 2.1), we will get a group-satisfied allocation by Lemma 5.1. If the condition of Step 9 holds (Case 2.2), we will also get a group-satisfied allocation by Lemma 5.4. In any case, we can get a group-satisfied allocation that keeps the remaining graph connected. By Lemma 3, we know that this lemma holds. ∎
For Case 2.2, the size of the matching is less than the size of , and then the condition of Lemma 5.3 holds. By Lemma 5.3, we can find a crown in polynomial time. Then we execute the group-satisfied allocation according to the crown by Lemma 5.4.
The main steps of our algorithm to compute MMS allocations of chores on trees with depth 3 are described as Algorithm 1.
Lemma 5.5.
MMS allocations of chores in trees with depth 3 always exist and can be computed in polynomial time.
Proof.
We will use Lemma 4.4 to prove this lemma. So we only need to show that we can always find a group-satisfied allocation after executing which the remaining graph is still a connected tree or an empty graph.
If the condition of Step 2 holds, then it becomes Case 1. For this case, we find an -perfect subtree. We will assign the -perfect subtree to agents such that all the agents are satisfied with this allocation. By Lemma 4.7, we know that this allocation is group-satisfied. Otherwise, the algorithm will execute Step 5, and then it becomes Case 2. If the condition of Step 7 holds (Case 2.1), we will get a group-satisfied allocation by Lemma 5.1. If the condition of Step 9 holds (Case 2.2), we will also get a group-satisfied allocation by Lemma 5.4. In any case, we can get a group-satisfied allocation that keeps the remaining graph connected. By Lemma 4.4, we know that this lemma holds. ∎
6 Spiders
A graph is a spider if it is a tree having only one vertex of degree . We will also use the group-satisfied method to show the existence of MMS allocations of chores in spiders.
The vertex of degree in a spider is called the center. A degree-1 vertex in a spider is called a leaf. The path from a leaf to the center is called a branch of the spider and the number of edges in a branch is the length of the branch.
In this section, we assume that the input graph is a spider, and use to denote the center and use to denote the branch between the center and a leaf . We also consider the tree as a rooted tree with the root being the center .
Similar to the algorithm for trees with depth 3, the algorithm will also use Lemma 4.7 and Lemma 4.8 to construct group-satisfied partial allocations based on -perfect and -super subtrees.
Lemma 6.1.
If there is a branch of not completely contained in one bundle in the MMSj split of any agent , then we can find a group-satisfied allocation after which the remaining graph is still a spider.
Proof.
We give an algorithm to prove this lemma. For each agent , the bundle in the MMSj split containing a leaf is called an ending bundle. For each agent, the ending bundle containing the leaf is a subpath of the branch by the condition of the lemma. Assume that agent has the longest ending bundle containing . We assign this bundle to the agent . This allocation is group-satisfied because all agents are satisfied with this allocation and the remaining graph is still a spider. This algorithm is like what we do in paths. ∎
The above lemma provides a way to find group-satisfied allocations for a special case. Our algorithm iteratively applies the operation in the proof of Lemma 6.1 until we get a spider such that each branch of it is contained in one bundle in the MMSj split of an agent . The following part of the algorithm is similar to the algorithm for trees with depth 3.
We consider the MMS split of an arbitrary agent and denote the bundle containing the root by . In graph , each connected component is a path. Let be the set of these paths. Each path in is 1-super because the whole branch is contained in a bundle in the MMSj split of some agent .
We also construct an auxiliary bipartite graph . Set contains vertices, which are corresponding to the paths in and the bundle . Each vertex in is corresponding to an agent in and we simply denote by . A vertex is adjacent to a vertex in if and only if the corresponding agent is a dominator of . Vertex is only adjacent to . We compute a maximum matching between and in .
Case 1: . We allocate the whole graph to the agents according to the matching . The bundle corresponding to a vertex in will be assigned to agent if they are matched in . It is easy to see that all chores will be allocated to agents, and all agents are satisfied with the allocation. The allocation is group-satisfied.
Case 2: . By Lemma 5.3, we can find a crown in polynomial time. We allocate the chores to agents according to the algorithm in the proof of the following lemma.
Lemma 6.2.
Let be the auxiliary bipartite graph constructed in Case 2 for spiders. Given a crown of , we can find a group-satisfied allocation in linear time.
Proof.
We will give an algorithm to find the group-satisfied allocation. The proof is similar to the proof of Lemma 8.
Let be the witness matching of the crown . Let be the subset of vertices appearing in . The group-satisfied allocation will assign each path in to an agent in . We assume that is matched with in . Then agent is a dominator of the subpath and agent is satisfied with . We assign to agent . Then we allocate each subpath in to a different agent in since is a matching. Furthermore, all agents in are assigned with a bundle. This is the allocation algorithm. It is easy to see that the algorithm can be executed in linear time.
We show that the allocation satisfies the condition in Lemma 5 to prove that it is group-satisfied. It is easy to see that after deleting all the subpaths in from , the remaining graph is still a spider. According to the construction of and the definition of crown, we know that for any path , the set of dominators of it is a subset of , i.e., holds for each . In our algorithm, all agents in will be assigned with a bundle. So any agent left unassigned is not a dominator of a path in . By Lemma 5, we know that the allocation is group-satisfied. ∎
All the above results imply that
Lemma 6.3.
MMS allocations of chores on spiders always exist and can be computed in polynomial time.
Proof.
Our algorithm to find the -MMS allocation is that: first, remove an arbitrary edge from the cycle, and then find an MMS allocation for the instance on a path. To prove the correctness, we only need to show that the for each agent the MMS value on the path is not less than times of his MMS value on the cycle, since we can always find MMS allocations for chores on paths in polynomial time by using the algorithm presented in previous sections.
For each agent , we consider the MMSi split of the cycle . After deleting an edge from , one bundle in may be split into two pieces and . At least one piece, say has disutility not less than . We adjoin with its neighbor bundle in and let become a single bundle. In this way, we split the path into bundles, the disutility of each bundle is not less than . Then we know that the . ∎
7 Cycles
Next, we consider the case where the chores are on a simple cycle. Different from trees, MMS allocations of chores on cycles may not exist. We will give an example to show the nonexistence of MMS allocations even to only three agents. We will show how we find the example later.
Agent 1 | |||||||||
Agent 2 | |||||||||
Agent 3 |
In the example in Table 1, we are going to allocate nine chores on a cycle to three agents. The chores appear on the cycle are in the same order as that in the table. The numbers in the table are the disutilities of the chores for the agents. The MMS value of each agent is . For any four consecutive chores, the disutility for any agent is at most . If an -MMS allocation with exists, then it would split the cycle into three bundles of three consecutive chores. There are only three ways to split it. It is easy to check that none of the three partitions yields an -MMS allocation with . Thus, no -MMS allocation with exists for this instance.
On the other hand, -MMS allocations of chores on cycles always exist. The simple observation of the -MMS allocations of goods on cycles in [19] can get the corresponding result for chores.
Lemma 7.1.
An -MMS allocation of chores on a cycle always exists and can be found in polynomial time.
Proof.
Our algorithm to find the -MMS allocation is that: first, remove an arbitrary edge from the cycle, and then find an MMS allocation for the instance on a path. To prove the correctness, we only need to show that the for each agent the MMS value on the path is not less than times of his MMS value on the cycle, since we can always find MMS allocations for chores on paths in polynomial time by using the algorithm presented in previous sections.
For each agent , we consider the MMSi split of the cycle . After deleting an edge from , one bundle in may be split into two pieces and . At least one piece, say has disutility not less than . We adjoin with its neighbor bundle in and let become a single bundle. In this way, we split the path into bundles, the disutility of each bundle is not less than . Then we know that the . ∎
7.1 Allocating a cycle to three agents
We use a linear programming method to help us find the (tight) approximation ratio for allocating chores on a cycle to three agents. We will construct a linear programming model for our problem. Let be the ratio. Our objective is to find the maximum value of such that for any valid allocation of the cycle to agents, at least one agent will get a bundle with the disutility less than times of his MMS value. So our objective is to find the maximum value of such that there is no -MMS allocation. However, the constraints in our model are hard to list out directly. The number of constraints may even be exponential to and . We will first give some properties that will allow us to dramatically decrease the number of constraints if there are only three agents. In the remaining of this subsection, we always assume that the problem is to allocate chores on a cycle to three agents.
Lemma 7.2.
Assume that the instance has three agents and let . If there is an -MMSi split of for agent and an -MMSj split of for agent such that one bundle in is a subset of one bundle in , then -MMS allocations for this instance always exist.
Proof.
Let the agent set be and be an -MMSi split for agent (). W.l.o.g, we assume that the bundle in is a subset of the bundle in and show that there is an -MMS allocation. We partition the cycle into three connected bundles , , and . We will assign the three bundles to different agents according to different cases.
Case 1. : Now we have that . For any partition of into two connected bundles, the disutility of at least one bundle is not less than for agent 3. So one of and always holds. Note that and are subsets of and . We know that and . We assign to agent 1, let agent 3 takes one of the favorite in and , and assign the remaining bundle to agent 2. This is an -MMS allocation.
Case 2. : We can see that either or holds since . So one of and always holds. Then we assign to agent 3, let agent 1 takes one of the favorite in and , and assign the remaining bundle to agent 2. This is an -MMS allocation. ∎
A partition of the cycle into 3 bundles can be represented by a set of three edges in the cycle. We will call it the cut representation of the partition. Next, we give some important properties for instance having no -MMS allocation, which will be used to build our linear programming constraints.
Lemma 7.3.
Assume that the instance has three agents. Let and be the cut representations of -MMS splits of for agents 1, 2 and 3, respectively, which always exist for .
If the instance has no -MMS allocation, then it holds that
(a) all the edges in and are different;
(b) we can relabel the edges in the three sets and such that the nine edges appear in the following order
on the cycle : (See Figure 4).
Proof.
(a) Assume that two of , and , say and have a common edge . After deleting the graph becomes a path. Both of and will partition the path into three connected bundles. Let be the bundle of agent 1 containing the most left chore on the path and let be the bundle of agent 2 containing the most left chore on . It is easy to see that either or , which implies the condition of Lemma 7.2 holds. We get a contradiction that the instance has an -MMS allocation. So the edges in and are different.
(b) If the nine edges do not appear in the above order, say exchanging the positions of any two edges, we will see that one bundle of one agent is a subset of one bundle of another agent. By Lemma 7.2, we will also get a contradiction. We omit the trivial and tedious case analysis here. ∎
Corollary 7.4.
MMS allocations of at most eight chores on a cycle to three agents always exist.
Proof.
When there are at most eight chores, the cycle has at most eight edges. The cut representations of MMS split of for agents 1, 2, and 3 will have at least one common edge. By Lemma 15(a), we know that MMS allocation always exists. ∎
Let , and be the edge representations of an MMS split of for agents 1, 2 and 3, respectively. Each connected part in the graph after deleting edges in is called a segment (See Figure 4).
Lemma 7.5.
Assume that the instance has three agents. Fix an MMSi split of for each agent . Let . If the instance has no -MMS allocation, the disutility of any four consecutive segments is less than for any agent .
Proof.
Let denote four consecutive segments. Assume that holds for an agent . We show that there is always an -MMS allocation.
Case 1. contains a bundle in the MMS split of for agent : Then there is an -MMS split for agent such that one bundle in it is exactly . Note that any four consecutive segments will contain two bundles in the MMS splits of for two different agents. Any MMS split is also an -MMS split for . So the condition of Lemma 7.2 holds and then -MMS allocations always exist.
Case 2. does not contain a bundle in the MMS split of for agent . For this case, it is easy to see that the remaining path consists of two connected paths, each of which is a subset of a bundle in the MMS split of for an agent other than . We assign these two parts to these two agents and assign to agent . This will be an -MMS allocation.
In any case, we can find an -MMS allocation, a contradiction. So the lemma holds. ∎
Lemma 7.6.
Assume that the instance has three agents. Let . If the instance has no -MMS allocation, then for any -MMSi split of for agent , there is one bundle in such that holds for any agent , and for all other bundles in it holds that for any agent .
Proof.
We say that an agent is satisfied with a bundle if the disutility of this bundle is not less than times of his MMS value. We know that agent is satisfied with all the three bundles in . For the other two agents , each is satisfied with at least one bundle in . If agent and agent are satisfied with two different bundles in , then we assign these two bundles in to them and assign the last bundle in to agent . This would be an -MMS allocation. So we know that agent and agent are satisfied with the same bundle in . ∎
Now, we are ready to describe our linear programming (LP). Assume that the instance has no -MMS allocation. We use Lemmas 7.3 to 7.6 to construct the constraints in LP.
We consider an instance of allocating chores on a cycle to three agents . Let and be the cut representations of MMS splits of for agents 1, 2 and 3, respectively. We assume that does not have -MMS allocation for some constant . By Lemma 7.3, we know that the nine edges in are different and we can assume without loss of generality that they appear in the following order on the cycle : . After deleting the nine edges in , the cycle will be split into nine segments. We label the nine segments as in the order as shown in Figure 4. Let the MMS splits of for agents 1, 2 and 3 be and , where , , , , , , , , and .
For each segment, it may contain only one chore. So in the next analysis, we will not split a segment anymore and consider each segment as a single big chore. Besides , our LP has variables and (). The variable (resp., and ) is the disutility of segment of agent 1 (resp., agent 2 and agent 3), i.e., , and . The first set of constraints in our LP model is to set the domain of these variables.
(1) |
We normalize the MMS value for each agent by letting . According to the MMS splits of the three agents, we get constraints
(2) | |||||
(3) | |||||
(4) |
where the indices are computed modulo 9. We will always assume this without stating it every time.
By Lemma 7.5, we directly get constraints
(5) | |||||
(6) | |||||
(7) |
Next, we consider the constraints generated by Lemma 7.6. The three bundles in the MMS1 split for agent 1 are and . By Lemma 7.6, we know that for agents 2 and 3, at most one bundle is satisfied (the disutility is not less than times of his MMS value). W.l.o.g., we assume that agents 2 and 3 are satisfied with , which means that agents 2 and 3 are not satisfied with the other two bundles. Then we get 4 constraints
(8) | |||||
(9) |
We look at the MMS2 split for agent 2 and the MMS3 split for agent 3. By Lemma 7.6 again, agent 1 and agent 3 are satisfied with one bundle in , and agent 1 and agent 2 are satisfied with one bundle in . By identifying the symmetrical cases (Rotations of the three agents are also considered), we only need to consider three different cases. Case 1: agent 1 and agent 3 are satisfied with , and agent 1 and agent 2 are satisfied with ; Case 2: agent 1 and agent 3 are satisfied with , and agent 1 and agent 2 are satisfied with Case 3: agent 1 and agent 3 are satisfied with , and agent 1 and agent 2 are satisfied with . For each case, we generate constraints like (8) and (9). There are three cases. So we will get three LP models. Each LP model has the same number of constraints.
By solving the three LPs, we get that for two LPs and for the other one. The bigger one is . This means for any , our LP will have no solution. We get the following result.
Lemma 7.7.
-MMS allocations of chores on a cycle to 3 agents always exist and can be found in polynomial time.
Proof.
For any instance, we fix an MMS split for each agent (considering them as the cut representations). If they have some common edges, then we can find an MMS allocation directly in polynomial time by Lemma 7.3(a) and the algorithm in Lemma 7.2. Otherwise, we let and . They are nine different edges. We can relabel them in the order as shown in Figure 4, otherwise, we know that one bundle of one agent will be a subset of one bundle of another agent by Lemma 7.3(b) and we can find an MMS allocation in polynomial time by Lemma 7.2.
Next, we can assume that the above LP model is suitable for this instance. The LP does not have any solution for , which means some constraints in the LP will not hold for . The constraints (1) to (4) clearly hold. If some constraints in (5) to (7) do not hold, then there is an -MMS allocation with one bundle containing four consecutive segments by Lemma 7.5. We can enumerate all these kinds of partitions and find the -MMS allocation in polynomial time. Otherwise, one of (8) and (9) and the following constraints will not hold. For this case, one of , and is a -MMS allocation by Lemma 7.6 and we can also check it in polynomial time.
In any case, there is a -MMS allocation and it can be found in polynomial time. ∎
The LP model can also be used to find instances with possible tight approximation ratio. If we add the equal sign into the constraints (5) to (9) and the following constraints, we will solve one LP with and two LPs with . For the LP with the solution , we get the values of the other variables and () as shown in Table 1. That is the way we got the example of the nonexistence of -MMS allocations for in Table 1.
Lemma 7.8.
For any , -MMS allocations of chores on a cycle to three agents may not exist.
The LP method can also be directly used to solve the problem of allocating goods on a cycle to three agents. The detailed arguments are put in Appendix B. We get the following results which are consistent with the results obtained by using combinatorial analysis in [19].
Lemma 7.9.
-MMS allocations of goods on a cycle to three agents always exist and can be found in polynomial time for , and may not exist for .
8 Discussion and Conclusion
For MMS allocations of chores on a tree, we propose the group-satisfied method to solve the problem on two subclasses. Whether MMS allocations of chores on general trees always exist or not is still an open problem. We believe that MMS allocations of chores on trees always exist. We also believe that the proposed group-satisfied method can be used to solve more related problems.
Another contribution of this paper is a novel method based on linear programming (LP) to characterize the optimal approximate MMS allocations without complicated combinatorial analysis. This method could potentially solve more general cases by figuring out simple and clean necessary conditions for the non-existence of -MMS allocation.
References
- [1] G. Amanatidis, E. Markakis, A. Nikzad, and A. Saberi. Approximation algorithms for computing maximin share allocations. ACM Trans. Algorithms, 13(4):52:1–52:28, 2017.
- [2] H. Aziz, B. Li, and X. Wu. Strategyproof and approximately maxmin fair share allocation of chores. In IJCAI, pages 60–66, 2019.
- [3] H. Aziz, G. Rauchecker, G. Schryen, and T. Walsh. Algorithms for max-min share fair allocation of indivisible chores. In AAAI, pages 335–341, 2017.
- [4] S. Barman and S. K. Krishnamurthy. Approximation algorithms for maximin fair division. ACM Trans. Economics and Comput., 8(1):5:1–5:28, 2020.
- [5] V. Bilò, I. Caragiannis, M. Flammini, A. Igarashi, G. Monaco, D. Peters, C. Vinci, and W. S. Zwicker. Almost envy-free allocations with connected bundles. In ITCS, pages 14:1–14:21, 2019.
- [6] V. Bilò, I. Caragiannis, M. Flammini, A. Igarashi, G. Monaco, D. Peters, C. Vinci, and W. S. Zwicker. Almost envy-free allocations with connected bundles. Games Econ. Behav., 131:197–221, 2022.
- [7] S. Bouveret, K. Cechlárová, and J. Lesca. Chore division on a graph. Auton. Agents Multi Agent Syst., 33(5):540–563, 2019.
- [8] S. Bouveret, K. Cechlárová, E. Elkind, A. Igarashi, and D. Peters. Fair division of a graph. In IJCAI, pages 135–141, 2017.
- [9] S. Bouveret and M. Lemaître. Characterizing conflicts in fair division of indivisible goods using a scale of criteria. Auton. Agents Multi Agent Syst., 30(2):259–290, 2016.
- [10] E. Budish. The combinatorial assignment problem: approximate competitive equilibrium from equal incomes. In BQGT, page 74:1, 2010.
- [11] U. Feige, A. Sapir, and L. Tauber. A tight negative example for MMS fair allocations. In WINE, volume 13112 of Lecture Notes in Computer Science, pages 355–372, 2021.
- [12] J. Garg and S. Taki. An improved approximation algorithm for maximin shares. In EC, pages 379–380, 2020.
- [13] M. Ghodsi, M.-a. T. Hajiaghayi, M. Seddighin, S. Seddighin, and H. Yami. Fair allocation of indivisible goods: improvements and generalizations. In EC, pages 539–556, 2018.
- [14] X. Huang and P. Lu. An algorithmic framework for approximating maximin share allocation of chores. In EC, pages 630–631, 2021.
- [15] A. Igarashi and D. Peters. Pareto-optimal allocation of indivisible goods with connectivity constraints. In AAAI, pages 2045–2052, 2019.
- [16] D. Kurokawa, A. D. Procaccia, and J. Wang. When can the maximin share guarantee be guaranteed? In AAAI, pages 523–529, 2016.
- [17] D. Kurokawa, A. D. Procaccia, and J. Wang. Fair enough: Guaranteeing approximate maximin shares. J. ACM, 65(2):8:1–8:27, 2018.
- [18] R. J. Lipton, E. Markakis, E. Mossel, and A. Saberi. On approximately fair allocations of indivisible goods. In EC, pages 125–131, 2004.
- [19] Z. Lonc and M. Truszczynski. Maximin share allocations on cycles. In IJCAI, pages 410–416, 2018.
- [20] E. Markakis. Approximation algorithms and hardness results for fair division with indivisible goods. Trends in Computational Social Choice, pages 231–247, 2017.
- [21] A. D. Procaccia. Cake cutting algorithms. In Handbook of Computational Social Choice, pages 311–330. Cambridge University Press, 2016.
- [22] H. Steihaus. The problem of fair division. Econometrica, 16:101–104, 1948.
- [23] S. Zhou and X. Wu. Approximately EFX allocations for indivisible chores. In IJCAI, pages 783–789, 2022.
Appendix A The proof of Lemma 2.1
In this section, we prove Lemma 2.1 by giving algorithms to compute the MMS value for each agent for allocating chores on trees or cycles. It is not hard to see that the computational task for cycles can be easily reduced to trees by enumerating one of the cutting edges and computing the corresponding MMS value on a path.
Before introducing the algorithm for trees, we first give a subroutine to determine whether there is a valid -partition of the chores such that for each . The details are listed in Algorithm 2. Recall that for a vertex in a rooted tree, we use to denote the subtree rooted at vertex , use to denote the children of vertex on a rooted tree, and denote as the disutility function restricted on the chores set for agent .
Lemma A.1.
Given an instance , there exists a valid -partition such that the disutility of each bundle is no less than for agent if and only if Algorithm Check(, , , ) returns true.
Proof.
Firstly, it is easy to see that the decision algorithm presented above can be modified as a constructive algorithm. Thus, if the algorithm returns true, we can find an n-partition of the instance such that for .
It remains to show that for any instance which exists a valid -partition such that the disutility of each bundle is no less than (we call it a -feasible partition), Algorithm 2 returns true. We prove it by induction. For , the correctness is obvious. For , we select one of the -feasible partition of as and assume that the algorithm on instance finds the subtree . It’s not hard to observe that one of the following events happens but not both.
Case 1: contains some bundles in . In this case, we know that cutting the subtree off the whole will make the number of left bundles in no greater than and the disutility of all left bundles are not decreased which means that the instance exists a feasible valid -partition with respect to . According to our induction hypothesis, the algorithm returns true.
Case 2: is strictly contained in a bundle of called . We observe that, according to the choice of , has to intersect with at least two bundles one of which is . Due to that fact that is strictly contained in which means that , there exists a bundle in contained in where and . Because , we know that if , . Therefore, we can replace bundle in the remaining instance as bundle which implies that there still exists a feasible valid -partition with respect to in the instance . The correctness follows by the induction hypothesis. ∎
We do a binary search and use Algorithm 2 as a subroutine to compute the MMS value for chores on a tree. The algorithm is presented in Algorithm 3.
Now, we are ready to prove Lemma 2.1.
Proof.
The correctness of the Algorithm 3 relies on the correctness of Algorithm 2 and the definition of the MMS value. As for the running time, it is easy to see that there at most iterations, and in each iteration the Check subroutine runs in polynomial time. So the Algorithm runs in polynomial times.
As for cycle, we can enumerate one of the cutting edge , then we run MMS-tree(, , ). The maximum value among all enumerations is the MMS value for agent in the cycle. ∎
Appendix B Allocating Goods on a Cycle to Three Agents
In this section, we consider the problem of allocating goods on a cycle to three agents and prove Lemma 7.9. We will extend our linear programming method for chores in Section 7.1 to goods. The extension is intuitive. Almost all statements and arguments only need simple modifications to fit the setting of goods.
Lemma B.1.
Assume that the instance has three agents and let . If there is an -MMSi split of for agent and an -MMSj split of for agent such that one bundle in is a subset of one bundle in , then -MMS allocations for this instance always exist.
Proof.
Let the agent set be and let be an -MMSi split for agent (). Without loss of generality, we assume that the bundle in is a subset of the bundle in and show that there is an -MMS allocation.
Case 1. : For this case, we have that . For any partition of into two connected bundles, the utility of at least one bundle is not less than for agent 3. The same holds for agent 2. Therefore, we assign to agent 1. Then in the instance of the remaining good, we find an MMS split for agent 2 and letting agent 3 get the most valuable bundles for him. The remaining goods are allocated to agent 2. It is obviously an -MMS allocation.
Case 2. : We assign to agent 3. Similar to the discussion in case 1, the MMS value of both agent 1 and agent 2 in the instance of the remaining good does not decrease where MMS allocation for 2 agents always exists.
∎
We use the same cut representation of the partition notion for chores on cycles in the following lemmas for goods.
Lemma B.2.
Assume that the instance has three agents. Let and be the cut representations of -MMS splits of for agents 1, 2 and 3, respectively, which always exist for .
If the instance has no -MMS allocation, then it holds that
(a) all the edges in and are different;
(b) we can relabel the edges in the three sets and such that the nine edges appear in the following order
on the cycle
Let , and be the edge representations of an MMS split of for agents 1, 2 and 3, respectively. After deleting the edges in , the cycle will be split into several connected parts. We call each connected part a segment.
Lemma B.3.
Assume that the instance has three agents. Fix an MMSi split of for each agent . Let . If the instance has no -MMS allocation, then for any agent , the utility of any two consecutive segments is less than .
Proof.
Let denote two consecutive segments. Assume that holds for an agent . We show that there is always an -MMS allocation.
Case 1. is contained in a bundle among the MMS split of for agent : W.L.O.G, we assume and is . Then there is an -MMS split for agent such that one bundle in it is exactly , i.e. . Note that any MMS split is also an -MMS split for . So the condition of Lemma 7.2 holds and then -MMS allocations always exist.
Case 2. is not contained in a bundle among the MMS split of for agent . For this case, it is easy to see that the remaining path consists of two connected paths, each of which is a supset of a bundle in the MMS split of for an agent other than . We assign these two parts to these two agents and assign to agent . This will be an -MMS allocation.
In any case, we can find an -MMS allocation, a contradiction. So the lemma holds. ∎
Lemma B.4.
Assume that the instance has three agents. Let . If the instance has no -MMS allocation, then for any -MMSi split of for agent , there is one bundle in such that holds for any agent , and for all other bundles in it holds that for any agent .
Proof.
We say that an agent is satisfied with a bundle if the utility of this bundle is at least times of his MMS value. We know that agent is satisfied with all the three bundles in . For the other two agents , each is satisfied with at least one bundle in . If agent and agent are satisfied with two different bundles in , then we assign these two bundles in to them and assign the last bundle in to agent . This would be an -MMS allocation. So we know that agent and agent are satisfied with the same bundle in . ∎
We are ready to describe the linear programming model. Here, we continue to use the same variables notations as chores and we declare the new constraints in the goods situations.
The first set of constraints in the LP model is to set the domain of these variables, i.e.
(10) |
We normalize the MMS value for each agent by letting . According to the MMS splits of the three agents, we get the following constraints.
(11) | |||||
(12) | |||||
(13) |
where the indices are computed modulo 9. We will always assume this without stating it every time.
By Lemma B.3, we directly get the following constraints,
(14) | |||||
(15) | |||||
(16) |
Next, we consider the constraints generated by Lemma B.4 which is similar to chores situation except for the following slightly modification.
(17) | |||||
(18) |
Then, we get five LP models as before. By solving the five LP, we find out that the worst ratio is . This means for any , our LP will have no solution. We get the following result.
Lemma B.5.
-MMS allocations of goods on a cycle to three agents always exist and can be found in polynomial time.
Proof.
For any instance, we fix an MMS split for each agent (considering them as the cut representations). We let , and . Without loss of generality, we assume that they are nine different edges and we can relabel them in the order . (Otherwise, we have a polynomial time algorithm to find a MMS allocation similar to chores situations.)
According to a fixed MMS split, we instantiate the variables of the LP model with the corresponding value. The LP does not have any solution for , which means some constraints in the LP will not hold for . The constraints (10) to (13) clearly hold. If some constraints in (14) to (16) do not hold, then there is an -MMS allocation with one bundle containing two consecutive segments. Then we can find the -MMS allocation in polynomial time by the algorithm stated in the proof of the Lemma B.3. Otherwise, one of (17) and (18) and the following constraints will not hold. For this case, one of , and is a -MMS allocation by Lemma B.4 and we can also check it in polynomial time.
In any case, there is a -MMS allocation and it can be found in polynomial time. ∎
The tight instance we get by the LP method is shown in Table 2.
Agent 1 | |||||||||
Agent 2 | |||||||||
Agent 3 |