1 Introduction

The fair allocation of indivisible goods has become an increasingly hot topic in both mathematics and economics [4, 23]. One of the most representative fair allocation problems is the max-min allocation problem [10], which assigns m indivisible goods to n heterogeneous agents such that the minimum utility of the agents is maximized, where the utility of an agent is the sum of its utilities for the items it receives. After nearly two decades of in-depth research, the best possible approximation algorithm is still far from resolved [26].

Budish [12] introduced a novel notion of fair allocation, called maximin share (MMS), where the MMS value of an agent is her best guarantee if she is to partition the goods into n bundles but receives the worst one. Kurokawa et al. [27] conducted in-depth research on maximin share, and since then, maximin share has attracted much attention from theoretical computer science and mathematics. They also proved that no algorithm can find a maximin share allocation for indivisible goods. Therefore, they turned their attention to the approximation guarantee of maximin share. They proved that a \(\frac{2}{3}\)-MMS allocation always exists. Therefore, improving the approximate guarantee of maximin share is a direct research direction in later research [1,2,3, 5, 7, 18, 22]. So far, for the additive valuations, the best approximation guarantee is \(\frac{3}{4}+\frac{3}{3836}\) [3] and the best inapproximation result is \(\frac{39}{40}\) [16]. Finding the best possible \(\alpha \)-approximate MMS allocation for any instance is still open [4].

In a real environment, each agent may have additional constraints, such as connectivity, cardinality, matroid, geometric, separation, budget, and conflict constraints [29]. In a company, when assigning goods (tasks) to agents (employees), each good has a size (working time) and each agent has a budget (total processing time) constraint. As the maximin share allocation [12], it is desirable to find the best possible \(\alpha \)-approximate MMS allocation to ensure agent satisfaction. This motivates us to study the budgeted maximin share problem, where we are given a set of m indivisible goods and a set of n agents. Each good g has a size s(g), and each agent i has an additive valuation function v and a budget \(b_i\). The budgeted maximin share allocation problem is to find a feasible allocation such that the bundle allocated to each agent i does not exceed its budget \(b_i\), and the minimum ratio of the valuation and the maximin share (MMS) value of any agent is as large as possible, where MMS value of each agent is that he can achieve by dividing the goods into n bundles, and receiving his least desirable bundle.

Somewhat surprisingly, both the budgeted maximin share allocation problem and the budgeted max-min allocation problem (which can be defined similarly) has not been studied before. Obviously, the budgeted maximin share allocation problem generalizes the maximin share allocation [27] and the maximin share allocation under cardinality constraints [11]. However, classical methods, including bag-filling and round-robin methods [4], cannot be directly applied to budget constraints. In this paper, we propose some existence results and present a polynomial time approximation algorithm based on the modified bag-filling algorithm. The main results can be seen in Table 1.

Table 1 Our results

The structure of the paper is as follows. In Sect. 2, we introduce the related works in detail. In Sect. 3, we introduce the symbols and related concepts. In Sect. 4, we give the existence results of approximate MMS allocation. In Sect. 5, we present a polynomial time algorithm to find \(\frac{1}{3}\)-MMS allocation. Finally, we draw conclusions and discuss future research directions.

2 Related works

If \(b_i=+\infty \) for each agent i, the budgeted maximin share allocation problem is exactly the maximin share allocation [12]. Kurokawa et al. [27] demonstrated that exactly MMS may not exist, but \(\frac{2}{3}\)-approximate MMS is guaranteed to exist. Amanatidis et al. [5] proposed a \((\frac{2}{3}-\epsilon )\)-approximation guaranteed polynomial time algorithm. Barman et al. [7] proposed a \(\frac{2}{3}\)-approximation guaranteed polynomial time algorithm. Ghodsi et al. [22] proposed a \((\frac{3}{4}-\epsilon )\)-approximation guaranteed polynomial time algorithm. Garg et al. [18] proposed a \((\frac{3}{4}+o(1))\)-approximation guaranteed polynomial time algorithm. Recently, Akrami et al. [1, 3] improved the existence guarantee to \((\frac{3}{4}+\min \{\frac{1}{36}, \frac{3}{16n-4}\})\) and \((\frac{3}{4}+\frac{3}{3836})\). Furthermore, Akrami et al. [2] proved the existence of a randomized allocation such that each agent obtains \(\frac{3}{4}\) her MMS value (ex-post) and \((17\sqrt{3}-24)/4\sqrt{3}\) her MMS value (ex-ante).

If \(s(g)=1\) for each good g, the budgeted maximin share allocation problem is exactly the maximin share allocation under cardinality constraints. Biswas et al. [11] demonstrated that \(\frac{1}{3}\)-approximate MMS can guarantee its existence. Hummel et al. [24] improved the existence guarantee to \(\frac{2}{3}\) and proposed a \(\frac{2}{3}\)-approximation guaranteed polynomial time algorithm.

The budgeted maximin share allocation problem is closely related to the max-min allocation problem [10], which assigns m indivisible goods to n heterogeneous agents such that the minimum utility of the agents is maximized. Asadpour and Saberi [6] presented an \(\Omega (\frac{1}{\sqrt{n}\log ^3 n})\)-approximation algorithm based an iterative method for rounding a fractional matching on a tree. Saha and Srinivasan [28] designed an \(\Omega (\frac{1}{\sqrt{n \log n}})\)-approximation algorithm by using a rounding method based on random walks in polytopes. Chakrabarty et al. [14] designed an \(\Omega (\frac{1}{m^{\epsilon }\log m})\)-approximation algorithm in \(n^{O(\frac{1}{\epsilon })}\) time for any \(\epsilon \ge \frac{9 \log \log m}{\log m}\). Recently, Ko et al. [26] designed an \(\frac{1}{c}\)-approximation algorithm where c is the maximum ratio of the largest utility to the smallest utility of any goods. In addition, Caprara et al. [13] designed an \(\frac{2}{3}\)-approximation algorithm under positive integer capacity for the max-min allocation problem.

The budgeted maximin share allocation problem is also closely related to relaxed envy free allocation with budget constraints. Barman et al. [9] studied EFX, which is a stronger concept than EF1, and demonstrated that EFX allocation always exists for generalized assignment constraints. They also proposed a pseudo polynomial time algorithm to calculate EFX and a fully polynomial-time approximation scheme to calculate EFX allocation. Wu et al. [31] demonstrated that the maximum Nash social welfare distribution is \(\frac{1}{4}\)-EF1 and PO. Gan et al. [21] proposed a polynomial time algorithm to find the a \(\frac{1}{2}\)-approximate EF1 allocation with identical additive valuations. Barman et al. [8] proposed a polynomial time algorithm to find the EF2 allocation with identical additive valuations. Garbea et al. [19] studied the EFX allocation of high Nash social welfare for two agents and three agents.

3 Preliminaries

For convenience, let \([k]=\{1,2,\ldots ,k\}\) for any positive integer k. We are given an instance \(I=(N, G, v_i, s, b)\), where \(N=[n]\) is the set of agents, \(G=\{g_1,g_2,\ldots ,g_m\}\) is the set of indivisible goods, \(v_i: G\mapsto \mathbb {R}^{+}\) is the value function of agent \(i\in N\), \(s: G\mapsto \mathbb {R}^{+}\) is the size function of goods, and \(b: N\mapsto \mathbb {R}^{+}\) is the budget function of agents.

For any subset \(K \subseteq G\), let \(s(K)=\sum _{g: g \in K}s(g)\) be the total size of the goods in K, and \(v_i(K)=\sum _{g: g \in K}v_i(g)\) be the total value of the goods in K for agent i. An n-partial-partition \(\textbf{P}^{(i)}=(P^{(i)}_1, \ldots , P^{(i)}_n)\) of G is called feasible for agent \(i\in N\), if \(\cup _{j=1}^n P^{(i)}_j \subseteq G\), \(s(P^{(i)}_j) \le b_i\) for any \(j \in [n]\), and

$$\begin{aligned} P^{(i)}_j \cap P^{(i)}_k=\emptyset , \text { for any } j, k \in [n] \text { such that } j\ne k, \end{aligned}$$

where \(b_i\) is the budget of agent i. Let \(\mathcal {P}^{(i)}(G, n)\) be the set of all feasible n-partial-partitions of goods G for agent i. An important fairness criterion, called maximin share (MMS), is first proposed by Budish [12], which is defined as follows.

Definition 1

[12] The maximin share (MMS) value of agent \(i\in N\) for allocating the goods in G is defined as

$$\begin{aligned} MMS_i(G, N)=\max _{\textbf{P}^{(i)} \in \mathcal {P}^{(i)}(G, n)} \min _{j \in [n]} v_i(P^{(i)}_j). \end{aligned}$$

An allocation \(\textbf{A}=(A_1, A_2,\ldots , A_n)\) is called feasible, if \(\cup _{i=1}^nA_i \subseteq G\), \(s(A_i) \le b_i\) for any \(i\in N\), and \(A_i \cap A_j=\emptyset \) for any \(i, j \in N\) with \(i\ne j\), where \(A_i\) is the bundle of goods assigned to agent \(i \in N\).

Definition 2

(\(\alpha \)-MMS). For \(0<\alpha \le 1\), a feasible allocation \(\textbf{A}\) is called \(\alpha \)-approximate MMS if \(v_i(A_i) \ge \alpha \cdot MMS_i(G, N)\) for any agent \(i \in N\).

Without causing confusion later, we will abbreviate \(MMS_i(G, N)\) as \(MMS_i\). The budgeted maximin share allocation problem is to find an \(\alpha \)-approximate MMS allocation, such that \(\alpha \) is as large as possible.

The user’s MMS value has scale invariance, that is, if the value of an agent is multiplied by a factor, then the agent’s MMS value is also scaled by the same factor.

Lemma 1

(Scale invariance). [5, 17] Given an instance \(I=(N, G, v_i, s, b)\) and positive scale factors \(d_i\), let \(I'=(N, G, v'_i, s, b)\) be a scaled instance such that

$$\begin{aligned} v'_i(g)={\frac{v_i(g)}{d_i}}, \text { for any good } g \in G \text { and any agent } i\in N, \end{aligned}$$

Then, \(MMS'_i={\frac{MMS_i}{d_i}}\) for any agent \(i\in [n]\).

Similar to [4, 5], we have

Lemma 2

(Monotonicity). For any \(j \in N\) and \(g \in G\) , \(MMS_i(G \backslash \{g\}, N \backslash \{j\}) \ge MMS_i(G, N)\) holds for any agent \(i \in N \backslash \{j\}\).

4 The existence of approximate MMS allocation

As a negative side, we can easily obtain the following results.

Theorem 1

For any \(\epsilon > 0\), there exists an instance for the budgeted maximin share allocation problem that does not have a \((\frac{3}{4}+\epsilon )\)-MMS.

Proof

Consider an instance with \(N=\{1,2\}\) and \(G=\{g_1, g_2, g_3, g_4, g_5\}\). The parameters of these agents and goods are shown in Table 2.

Table 2 The parameters of agents and goods

The budgets of the two agents are \(b_1=11\) and \(b_2=20\). Obviously, the 2-partial-partition \(\textbf{P}^{(i)}=(\{g_1, g_3\}, \{g_2, g_5\})\) is feasible for agent 1 and \(\min \{v_1(\{g_1, g_3\}), v_1(\{g_2, g_5\})\} = 1\), implying that \(MMS_1\ge 1\). Since \(v_1(G)=2\), we have \(MMS_1 = 1\). Similarly, we can obtain \(MMS_2=1\). If \(v_1(A_1)>(\frac{3}{4}+\epsilon )MMS_1\), we have \(A_1\in \{\{g_1, g_3\}, \{g_2, g_5\}, \{g_1, g_5\}\}\). It is easy to verify that \(\frac{v_2(A_2)}{MMS_2}\le \frac{3}{4}\) in any case, which implies that the theorem holds. \(\square \)

For a subset \(K\subseteq G\) of goods and an agent \(i\in N\), construct an instance (Ki) for the classical knapsack problem [15], whose objective is to find a subset \(K_i\subseteq K\), such that \(v_i(K_i)\) is maximized under the constraint \(s(K_i)\le b_i\). It is well-known that the knapsack problem is NP-hard and admits a fully polynomial time approximation scheme (FPTAS) [15]. Let \(K_i=\mathcal{A}(K,i)\subseteq K\) be subset of items produced by an \(\alpha \)-approximation algorithm \(\mathcal{A}\) for the instance (Ki) of the knapsack problem, implying that

$$\begin{aligned} v_i(K_i)=v_i(\mathcal{A}(K, i))\ge \alpha \cdot v_i(OPT(K,i)), \end{aligned}$$
(1)

where \(OPT(K,i)=\arg \max _{S\subseteq K: s(S)\le b_i} v_i(S)\) is the optimal solution for instance (Ki) of the knapsack problem and \(\alpha \in (0,1]\).

Assume that the guessed MMS values are \((d_1, d_2, \ldots , d_n)\). For convenience, let

$$\begin{aligned} \beta =\frac{\alpha }{1+2 \alpha - \frac{2\alpha }{n}}\in \left(0,\frac{1}{2}\right] \end{aligned}$$
(2)

for \(n \ge 2\). Given an instance \(I=(N, G, v_i, s, b)\), a good \(g \in G\) obtained by scaling the users’ valuation functions (i.e., \(v_i'=\frac{v_i}{d_i}\)) is called ‘large’ for agent \(i \in N\) if \(v_i'(g) \ge \beta \) and \(s(g) \le b_i\). Our algorithm to find a \(\beta \)-approximate MMS allocation works as follows. For each agent \(i \in N\), if there exists a large good, we can assign g to agent i by setting \(A_i=\{g\}\). By monotonicity, we only need to find a feasible allocation such that each agent receives a bundle with a value of at least \(\beta \) for \(v'\) for the remaining agents. Then, let \(RG_t\) (\(RN_t\)) be the set of remaining goods (agents) at the beginning of any iteration t, where \(t \in \{0, \ldots , n\}\). First, find the set \(RN'_t=\{i \in RN_t: v'_i(\mathcal{A}(RG_t,i)) \ge \beta \}\) by using the \(\alpha \)-approximation algorithm \(\mathcal{A}\) for the classical knapsack problem if there is an agent \(i \in RN_t\) such that \(v'_i(\mathcal{A}(RG_t,i)) \ge \beta \). Let \(K_{i_t}=\mathcal{A}(RG_t, i_t)\) where \(i_t \in RN'_t\) is the agent with the smallest budget. Then, select goods from the set \(K_{i_t}\) and continuously add them to bag B until agent \(j_t\) believes that the valuation of bag B is at least \(\beta \). Finally, assign B to any agent \(j_t\) such that \(v_{j_t}'(B) \ge \beta \).

Algorithm 1
figure a

Find a feasible allocation depending on \((d_1,d_2,\ldots ,d_n)\)

Theorem 2

In the allocation \((A_1, A_2, \ldots , A_n)\) produced by Algorithm 1, we have \(v_i(A_i) \ge \beta \cdot d_i\), for each agent \(i\in N\) such that \(d_i \le MMS_i\).

Proof

Let \(RN=\{i|A_i=\emptyset \}\) be the remaining agents and \(RG=RG_{|RN_0|-|RN|}=G\setminus (\cup _{i=1}^n A_i)\) be set of goods at the end of algorithm, as exactly one agent receives a bundle of goods at each iteration. Fix an agent i such that \(d_i \le MMS_i\). By contradiction, we assume that \(A_i=\emptyset \), implying that \(i\in RN\ne \emptyset \) and

$$\begin{aligned} v'_j(\mathcal{A}(RG,j)) < \beta , \text { for any agent } j\in RN, \end{aligned}$$
(3)

following from the choice of Algorithm 1. By the definition of \(RG_0\), we have

$$\begin{aligned} v_i'(g) < \beta \text { or } s(g) > b_i, \text { for any good } g \in RG_0. \end{aligned}$$

By the definition of \(\mathcal{A}\) and \(MMS_i\), we have

$$\begin{aligned} v_i'(\mathcal{A}(RG_0,i))\ge & \; {\alpha } \cdot v_i'(OPT(RG_0,i)) \\\ge & \;\alpha \cdot MMS'_i(RG_0, RN_0)\\= & \;\alpha \cdot \frac{MMS_i(RG_0, RN_0)}{d_i}\\\ge & \;\alpha \cdot \frac{MMS_i}{d_i}\\\ge & \;\alpha \ge \beta , \end{aligned}$$

where \(MMS'_i(RG_0, RN_0)\) is the maximin share of agent i according to the valuation function \(v'_i\), the first equality follows from Lemma 1, the third inequality follows from Lemma 2, and the fourth inequality follows from the assumption \(d_i\le MMS_i\).

For convenience, let \(\kappa =|RN_{0}|\). Since \(RG_{0}\supseteq RG_{1}\supseteq \cdots \supseteq RG_{|RN_0|-|RN|}\), by (3), there must exist an iteration

$$\begin{aligned} \tau < \kappa -1 \end{aligned}$$

such that

$$\begin{aligned} v_i'(\mathcal{A}(RG_{t},i)) \ge \beta \text { for each } t\in \{0, 1, \ldots , \tau \}, \text { and } v'_i(\mathcal{A}(RG_{\tau +1},i)) < \beta , \end{aligned}$$
(4)

as \(|RN| \ne \emptyset \) otherwise it contradicts the assumption. At each iteration \(t\in \{0, 1, \ldots , \tau \}\), let \(g_{t}\) be the last good added to \(B = A_{j_{t}}\), implying that

$$\begin{aligned} s(g_{t})\le b_{i_{t}} \le b_i, v_i'(g_{t})< \beta , \text { and } v_i'(A_{j_{t}} \setminus \{g_{t}\}) < \beta . \end{aligned}$$

Therefore, we have \(v_i'(A_{j_{t}})=v_i'(A_{j_{t}} \setminus \{g_{t}\})+ v_i'(g_{t}) < 2\beta \), and

$$\begin{aligned} \sum _{t=0}^{\tau } v_i'(A_{j_{t}})< 2(\tau +1)\beta . \end{aligned}$$
(5)

As in the last section, let \(\textbf{P}^{(i)}=(P^{(i)}_1, P^{(i)}_2,\ldots , P^{(i)}_{\kappa })\) be a \(\kappa \)-partial-partition of \(RG_{0}\) achieving the maximin share of agent i, which means that

$$\begin{aligned} v_i(P^{(i)}_k) \ge MMS_i(RG_0, RN_0) \ge MMS_i\ge d_i, \text { for } k=1,2,\ldots ,\kappa , \end{aligned}$$
(6)

where the first inequality follows from the definition of \(MMS_i\), the second inequality follows from Lemma 2, and the last inequality follows the assumption. Therefore, we have

$$\begin{aligned} \sum _{k = 1}^{\kappa } v_i'(P^{(i)}_k) = \sum _{k = 1}^{\kappa } \frac{v_i(P^{(i)}_k)}{d_i} \ge \kappa . \end{aligned}$$
(7)

Since \(RG_0=\cup _{t =0}^{\tau }A_{j_{t}} \cup RG_{\tau +1}\) and \(A_{j_t}, RG_{\tau +1}\) are disjoint, we have

$$\begin{aligned}{} & \sum _{k =1}^{\kappa } v_i'(P^{(i)}_k\cap RG_{\tau +1})\\&\quad =\sum _{k =1}^{\kappa } v_i'(P^{(i)}_k\cap RG_0)- \sum _{t =0}^{\tau }v_i'(P^{(i)}_k\cap A_{j_{t}})\\& \quad \ge \sum _{k =1}^{\kappa } v_i'(P^{(i)}_k)- \sum _{t =0}^{\tau }v_i'(A_{j_{t}})\\ & \quad \ge \kappa -2(\tau +1)\beta \\ & \quad \ge \kappa -2(\kappa -1)\beta , \end{aligned}$$

where the second inequality follows from (5) and (7), and the last inequality is due to \({\tau < \kappa -1}\).

Therefore, there is a bundle \(P^{(i)}_k\) such that

$$\begin{aligned} v_i'(P^{(i)}_k \cap RG_{\tau +1})\ge & \; 1-2\left(1-\frac{1}{\kappa }\right)\beta \\ \ge &\; 1-2\beta + \frac{2\beta }{n}, \end{aligned}$$

where the last inequality is due to \(\kappa \le n\), and \(s(P^{(i)}_k\cap RG_{\tau +1})\le s(P^{(i)}_k)\le b_i\), which implies that \(OPT(P^{(i)}_k\cap RG_{\tau +1},i)=P^{(i)}_k\cap RG_{\tau +1}\) and

$$\begin{aligned} v_i'(OPT(P^{(i)}_k\cap RG_{\tau +1}),i)&= v_i'(P^{(i)}_k\cap RG_{\tau +1}) \\ &\ge 1-2\beta + \frac{2\beta }{n}. \end{aligned}$$

Clearly, we have

$$\begin{aligned} v_i'(\mathcal{A}(RG_{\tau +1},i))\ge & {} \;v_i'(\mathcal{A}(P^{(i)}_k \cap RG_{\tau +1}),i) \\\ge & {} \;\alpha \cdot v_i'(OPT(P^{(i)}_k\cap RG_{\tau +1}),i) \\\ge & {}\; \alpha \cdot \left( 1-2\beta + \frac{2\beta }{n}\right) \\= & {} \;\alpha \cdot \left( 1-\frac{2\alpha }{1+2 \alpha - \frac{2\alpha }{n}} + \frac{\frac{2\alpha }{n}}{1+2 \alpha - \frac{2\alpha }{n}}\right) \\= & {} \;\beta , \end{aligned}$$

where the second inequality follows from (1) and the first equality follows from (2), contradicting (4).

Therefore, we have \(A_i\ne \emptyset \). From the choice of algorithm, we have \(v_i'(A_i)\ge \beta \), implying that

$$\begin{aligned} v_i(A_i)=v_i'(A_i)\cdot d_i\ge \beta \cdot d_i, \end{aligned}$$

implies that the theorem holds. \(\square \)

If \(d_i\) is an accurate MMS value for any agent \(i \in N\), i.e., \(d_i=MMS_i\), we have

Corollary 1

In the allocation \((A_1, A_2, \ldots , A_n)\) produced by Algorithm 1, we have \(v_i(A_i) \ge \beta \cdot MMS_i\) for any agent \(i \in N\), where \(\beta =\frac{\alpha }{1+2 \alpha - \frac{2\alpha }{n}}\).

Theorem 3

Algorithm 1 returns a \(\beta \)-MMS allocation and the ratio is tight, where \(\beta = \frac{\alpha }{1+2 \alpha - \frac{2\alpha }{n}}\).

Proof

According to Corollary 1, Algorithm 1 returns \(\beta \)-MMS allocation. Consider n agents, \(n-1+ \lceil \frac{1}{\alpha }+2-\frac{2}{n} \rceil \) indivisible goods and a small enough number \(\epsilon > 0\). The parameters of these agents and goods are as in Table 3.

Table 3 The parameters of agents and goods

The budget for each agent \(i \in N\) is \(b_i=1\). Obviously, partition (\(\{g_1\}\), \(\{g_2\}\), ..., \(\{g_{n-1}\}\), \(\{g_n, \ldots , g_{n-1+ \lceil \frac{1}{\alpha }+2-\frac{2}{n} \rceil }\}\)) is feasible n-partial-partition for all agent. Since \(\min \{v_i(\{g_1\}), v_i(\{g_2\}), \ldots , v_i(\{g_{n-1}\}), v_i(\{g_n, \ldots , g_{n-1+ \lceil \frac{1}{\alpha }+2-\frac{2}{n} \rceil }\})\} = 1\), we have \(MMS_i \ge 1\). In fact, no other feasible n-partial-partition provides a larger MMS value, i.e., \(MMS_1 = 1\). We can verify that when \(\epsilon \) is small enough, Algorithm 1 produces a feasible allocation \((A_1,A_2, \ldots , A_n)\), where at least one user i receives one good from \(\{g_n, \ldots , g_{n-1+ \lceil \frac{1}{\alpha }+2-\frac{2}{n} \rceil }\}\). Obviously, we have \(v_i(A_i)=\beta =\beta \cdot MMS_i\), implying that the ratio is tight. \(\square \)

If \(\mathcal{A}\) is an optimal algorithm for the classical knapsack problem, i.e., \(\alpha =1\), we have

Corollary 2

There exists a \(\frac{n}{3n-2}\)-MMS allocation for every instance I of the budgeted maximin share problem.

5 Polynomial-time algorithm

Based on the information of \(MMS_i\), we have proved the existence of \(\frac{n}{3n-2}\)-approximate MMS allocation for the budgeted maximin share problem. However, it is NP-hard to compute \(MMS_i\). In this section, we try to design a polynomial-time algorithm to find an approximate MMS allocation. As a negative side, we can easily obtain the following results.

Theorem 4

For any \(\epsilon >0\), there is no polynomial-time algorithm that finds a \((\frac{2}{3} + \epsilon )\)-approximate MMS for any instance I, unless \(\mathcal{P}=\mathcal{N}\mathcal{P}\).

Proof

Assuming that such an algorithm \(\mathcal{A}\) exists, we show how to use it to solve a famous NP-complete problem, called 3-partition problem [20]. Given a positive integer p and a set of \(m=3n\) elements where the size of each element is \(a_j\) such that \(\sum _{j=1}^{m}a_j=np\), and \(\frac{p}{4}<a_j<\frac{p}{2}\) for each \(j\in [m]\). The 3-partition problem is to determine whether there is a partition that divides \(m=3n\) elements into n subsets such that each subset contains 3 elements and the size of each subset is exactly p. Then, we construct an instance I of the budgeted maximin share problem with \(m=3n\) goods and n agents, where \(s(g_j)=a_j\) for each \(j\in [m]\), \(b_i=p\) for each agent \(i\in [n]\) and \(v_i(g)=1\) for each agent i and good \(g\in G\). By using \(\mathcal{A}\) to solve instance I, we can obtain a feasible allocation \(\textbf{A}=(A_1,A_2,\ldots ,A_n)\) with \(|A_i|\le 3\), as \(\frac{p}{4}<a_i<\frac{p}{2}\), and \(b_i=p\).

If \(|A_i|=3\) for each agent \(i\in N\), all the goods are allocated, implying that \(s(A_i)=p\) for each \(i\in [n]\). Thus, the answer to the 3-partition instance is yes. Moreover, if the answer to the 3-partition instance is yes, we have \(MMS_i=3\) for each agent \(i\in [n]\). Therefore, \(v_{i}(A_i)\ge (\frac{2}{3} + \epsilon )\cdot MMS_i=2+3\epsilon \), implying that \(|A_i|=3\). In other words, the answer to the 3-partition instance is yes if and only if \(|A_i|=3\) for all i. Therefore, we can solve the 3-partition problem by using algorithm \(\mathcal{A}\), contradicting the assumption \(\mathcal{P}\ne \mathcal{N}\mathcal{P}\). \(\square \)

For any small \(\epsilon \in (0,1)\), let \(\mathcal{A}\) be the fully polynomial time approximation scheme for the knapsack problem [15] and \(\alpha =1-\epsilon \). Let \(\epsilon =\frac{1}{5n}\). Therefore, we have

$$\begin{aligned} \beta =\frac{\alpha }{1+2 \alpha - \frac{2\alpha }{n}}=\frac{5n^2-n}{15n^2-15n+5} \end{aligned}$$
(8)

in Algorithm 1.

Algorithm 2
figure b

Finding a feasible \(\frac{1}{3}\)-approximate MMS allocation in polynomial time

For budgeted submodular partitioning, Wang et al. [30] introduced a method for finding a n-partial-partition \(\textbf{P}^{(i)}= (P^{(i)}_1, P^{(i)}_2,\ldots , P^{(i)}_{n}) \in \mathcal {P}^{(i)}(G, n)\) of G for agent i such that \(\min _{k \in N}v_i(P^{(i)}_{k}) \ge \frac{\rho }{n\rho +1} \cdot MMS_i\), where \(\rho \) is the approximation ratio of the greedy algorithm for the classic knapsack problem. However, for the additive utility function, the approximation ratio of greedy algorithms for classical knapsack problems is \(\rho =\frac{1}{2}\). Therefore, we can find a feasible n-partial-partition \(\textbf{P}^{(i)}= (P^{(i)}_1, P^{(i)}_2,\ldots , P^{(i)}_{n}) \in \mathcal {P}^{(i)}(G, n)\) for any agent i in polynomial time such that

$$\begin{aligned} \frac{1}{n+2} \cdot MMS_i\le \min _{k \in N}v_i(P^{(i)}_{k}) \le MMS_i. \end{aligned}$$

For each \(i\in N\), let \(d_i=(n+2)\cdot \min _{k \in N}v_i(P^{(i)}_{k})\). Clearly,

$$\begin{aligned} MMS_i\le d_i \le (n+2) MMS_i, \text { for each } i\in N. \end{aligned}$$
(9)

Since \(d_i \ge MMS_i\), if agent i receives a bundle \(A_i \ne \emptyset \) in the allocation \((A_1, A_2, \ldots , A_n)\) produced by Algorithm 1, then \(v_i(A_i) \ge \beta \cdot d_i \ge \beta \cdot MMS_i\). Otherwise, let

$$\begin{aligned} \delta ={\frac{12n-5}{15n^2-3n}\in (0,1)}, \end{aligned}$$

and reduce \(d_i\) by multiplying it by a constant factor \((1-\delta )\). In this way, it can be ensured that Algorithm 1 produces a nonempty bundle for agent i when \(MMS_i \ge d_i > (1-\delta ) MMS_i\). Formally, our algorithm is shown in Algorithm 2.

Theorem 5

Algorithm 2 produces a feasible allocation \(\textbf{A} = (A_1, A_2, \ldots , A_n)\) in polynomial time with \(v_i(A_i) \ge {\frac{1}{3}} \cdot MMS_i\) for any agent \(i \in N\).

Proof

By Theorem 2, for any value \(d_i\in ((1-\delta ) \cdot MMS_i, MMS_i]\), we have

$$\begin{aligned} v'_i(A_i)= \frac{v_i(A_i)}{d_i} \ge \beta , \end{aligned}$$

which implies that the value of \(d_i\) will not decrease. In other words, \(d_i\ge (1-\delta ) \cdot MMS_i\) for each agent i at the end of Algorithm 2, which implies that

$$\begin{aligned} v_i(A_i)= v'_i(A_i)\cdot d_i \ge \beta \cdot d_i \ge \beta \cdot (1-\delta ) \cdot MMS_i={\frac{1}{3}} \cdot MMS_i, \end{aligned}$$

where the first inequality follows from the choice of Algorithm 2, and the last equality follows from the definitions of \(\beta \) and \(\delta \).

The initial values of \(d_i\) can be computed in time \(O(m^3\log m)\) by using the method in [30]. Since \(d_i\) is reduced by factor \((1-\delta )\), as in [25], the number of adjustments per agent is at most

$$\begin{aligned} \log _{1-\delta }\left(\frac{1}{n+2}\right) = \frac{\ln (\frac{1}{n+2})}{\ln \left(1-\frac{12n-5}{15n^2-3n}\right)} \le \left( 1.25n+ \frac{13n}{4(12n-5)}\right) \ln (n+2), \end{aligned}$$

where the inequality comes from the Maclaurin formula \(\ln (1-x)=-\sum _{r=1}^{\infty }\frac{x^r}{r}\), i.e.,

$$\begin{aligned} \ln \left( 1-\frac{12n-5}{15n^2-3n}\right) =-\sum _{r=1}^{\infty }\frac{(\frac{12n-5}{15n^2-3n})^r}{r} \le -\frac{12n-5}{15n^2-3n}. \end{aligned}$$

Thus, the maximum number of iterations required is \(O(n \log _{1-\delta }(n+2))=O(n^2 \log n)=O(m^2\log m)\), implying that the total running time is polynomial in m.

Therefore, the theorem holds. \(\square \)

6 Conclusion

In this article, we propose a modified bag-filling algorithm to obtain a \({\frac{1}{3}}\)-approximate MMS allocation for the budgeted maximin allocation problem in polynomial time. Designing a polynomial time algorithm to find the best-possible approximate MMS allocation is a very interesting open problem. Another interesting direction is to consider utility functions beyond additivity in the model presented in this article.