1 Introduction

This chapter discusses mechanism design for mobility. With goals such as reducing carbon dioxide emissions and promoting resource conservation being imposed globally, car sharing becomes increasingly important. On the other hand, with various services coming online, we are now in an era where the needs of individual users can be met more flexibly. The same is true for car sharing and other transportation services. Uber, for example, is no different from a conventional cab in that it transports people to their destinations. However, it offers added value to both drivers and users, such as improved user experience in that payment is completed on a smartphone application and a driver evaluation system is introduced, as well as a response to supply-demand mismatches by adjusting the fare.

Here, because the physical movement of people and vehicles is the essence of mobility services, mobility services have different properties from other services that are completed online. In other words, an important issue of developing mobility technology is how to integrate physical constraints with digital services’ flexibility so that it meets the needs of many potential users and is accepted by them. In examining this question, it is helpful to introduce the concept of mechanism design.

Mechanism design is a branch of economics that aims to design rules that enable autonomous/decentralized realization of goals in areas such as resource allocation and social decision-making. Mechanism design studies are not limited to basic research but have also been very successful in real-world applications, including spectrum auctions, school choice mechanisms in public schools, and kidney donor matching.

In recent years, computational approaches to mechanism design have become popular and have developed significantly as an interdisciplinary area with artificial intelligence and theoretical computer science [35]. In particular, the contributions of computer science have been remarkable, such as the development of algorithms for kidney donor matching that can obtain a solution in a reasonable amount of time, even when the number of donors is large [1]

This chapter presents two topics in developing basic research on matching theories and one topic in applying the matching theory to car sharing. Section 10.2 discusses online facility assignment problems on a line. One challenge for developing basic research toward mobility applications is its online nature [33]. For example, ride-hailing, one form of car sharing, involves passengers hiring a driver to take them to their destinations. The operator of the ride-hailing system must decide which car to assign to each usage request without knowing in advance exactly when and where future requests will occur. Here, it is important to understand what algorithm effectively achieves social goals such as minimizing total travel distance.

Section 10.3 discusses two-sided matching with flexible quotas: student-project-resource matching-allocation problem.Footnote 1 Another challenge for developing basic research toward mobility applications is dealing with preferences. Here, in the design of vehicle-sharing systems, the medium-term issues include how to provide proper incentives to users, and the long-term issues include how to design parking facilities [12]. Some studies have introduced the preference argument into mobility design. However, the previous studies have discussed the matching problem for the medium-term issues and the resource allocation problem for the long-term issues separately. Integrating these two problems will produce more desirable outcomes for individuals and society.

On the application side, Sect. 10.4 shows how matching theory can be applied to station-based one-way car sharing. So far, the target of applying matching theory is often ride-sharing in that drivers and riders have preferences for each other [47]. However, station-based car sharing is also widely deployed in which multiple drivers share a single car, and a supply-demand mismatch problem still needs to be solved. Therefore, we focus on negotiations among drivers to solve a supply-demand mismatch problem, which can be naturally expressed as preference matching.

Note that the studies in this chapter aim to build the essential elements of the next-generation car-sharing system, but they can also be applied to other mobility applications, such as controlling logistics systems.

2 Online Facility Assignment Problems on a Line

In this section, we summarize the results of the competitive analysis for the online facility assignment problem on a line, which appear in [17, 20].

2.1 Background and Known Results

Online optimization (profit maximization or cost minimization) problems are real-time computations, in which a sequence of requests is an input, each request is given to an online algorithm one by one, and an online algorithm must decide how to deal with the current request before the next one is given. Once the decision is made for a request, it cannot be changed later. In general, the efficiency of online algorithms is measured by competitive analysis, which is initiated by Sleator and Tarjan [44]. Informally, we say that an online algorithm alg is c-competitive (or the competitive ratio of alg is at most c) if the cost of the solution output by alg is at most c times worse than the optimal cost (the formal definition will be given in Sect. 10.2.2.2).

The online metric matching problem is initiated independently by Kalyanasundaram and Pruhs [22] and Khuller et al. [26] as an online variant of the minimum cost bipartite matching problem, and is formulated as follows: k servers are located on a given metric space and k requests (on the same metric space) are given one by one in an online manner. The task of an online algorithm is to match each request immediately with one of the k servers. The cost of matching a request with a server is determined by the distance between them. The goal of the problem is to minimize the sum of the costs of matching k requests to k distinct servers. For this problem, Kalyanasundaram and Pruhs [22] and Khuller et al. [26] presented a deterministic online algorithm, which is called Permutation [22], and showed that it is \((2k-1)\)-competitive and best possible.

Later, Kalyanasundaram and Pruhs [23] restricted the underlying metric space to a line and introduced a problem referred to as the online matching problem on a line. For this restricted problem, the best upper bound on the competitive ratio is \(O(\log k)\) [34, 39], which is achieved by the robust-matching algorithm [38]. While the best lower bound on the competitive ratio has been 9.001 for a long time [10], Peserico and Scquizzato [37] drastically improved it to \(\Omega (\sqrt{\log k})\).

As a variant of the online metric matching problem, Ahmed et al. [2] formulated the online facility assignment problem as follows: There exist k servers located equidistantly on a line and each request appears (one by one) on the line. Each server has a capacity, which corresponds to the possible number of requests that can be matched to the server. Ahmed et al. [2] showed (with rough proofs) that the greedy algorithm is 4k-competitive. They also proposed an Optimal-fill algorithm and showed that the algorithm is k-competitive for any \(k > 2\).

2.2 Preliminaries

2.2.1 Problem Definition

Let (Xd) be a metric space, where X is a (possibly infinite) set of points and \(d: X \times X \rightarrow \mathbb {R}\) is a distance function. We use \(S=\{s_{1},\ldots ,s_{k}\}\) to denote the set of k servers and use \(\sigma =r_{1}\cdots r_{n}\) to denote a request sequence, where each \(r_{i}\) is a request. For each \(1 \le j \le k\), a server \(s_{j}\) is characterized by the position \(p(s_{j}) \in X\) and \(s_{j}\) has capacity \(c_{j} \in \mathbb {N}\), i.e., \(s_{j}\) can be matched with at most \(c_{j}\) requests. We assume that \(n \le c_{1}+\cdots +c_{k}\), so that every request can be matched with some server. For each \(1 \le i \le n\), a request \(r_{i}\) is also characterized by the position \(p(r_{i}) \in X\).

The set S is given to an online algorithm in advance, while requests are given one by one from \(r_{1}\) to \(r_{n}\). At any time of the execution of an algorithm, a server is called free if the number of requests matched with it is less than its capacity, and full otherwise. When a request \(r_{i}\) is revealed, an online algorithm must match \(r_{i}\) with one of the free servers. If \(r_{i}\) is matched with \(s_{j}\), the pair \((r_{i},s_{j})\) is added to the current matching and the cost \({{\textsc {cost}}}(r_{i},s_{j})=d(p(r_{i}),p(s_{j}))\) is incurred for this pair. The cost of the matching is the sum of the costs of all the pairs contained in it. The goal of online algorithms is to minimize the cost of the final matching. We refer to such a problem as the online facility assignment problem with k servers and denote it by \(\textrm{OFA}(k,\{c_{j}\}_{j=1}^{k})\). For the special case that \(c_{1}=\cdots =c_{k}=\ell \ge 1\), we simply denote the problem by \(\textrm{OFA}(k,\ell )\), and call this setting uniform capacity.

By setting \(X=\mathbb {R}\), we can regard the underlying metric as a line, and we denote such a problem by \(\textrm{OFAL}(k,\{c_{j}\}_{j=1}^{k})\) for general capacities and \(\textrm{OFAL}(k,\ell )\) for uniform capacities. Note that in this case, \(p(s_{j})\) and \(p(r_{i})\) are real numbers. Without loss of generality, we assume that \(p(s_{1}) < \cdots < p(s_{k})\) and let \(d_{j}=p(s_{j+1})-p(s_{j})\) for each \(1 \le j \le k-1\). When \(d_{1}=\cdots = d_{k-1}=d\) with some constant \(d>0\), we attach the subscript “eq” to the problem name to indicate that k servers are of equidistant, such as \(\textrm{OFAL}_{eq}(k,\{c_{j}\}_{j=1}^{k})\) and \(\textrm{OFAL}_{eq} (k,\ell )\). For the subsequent discussion, we assume without loss of generality that \(d=1\) for both \(\textrm{OFAL}_{eq}(k,\{c_{j}\}_{j=1}^{k})\) and \(\textrm{OFAL}_{eq} (k,\ell )\).

In the rest of the section, we will abuse the notations \(r_{i} \in \mathbb {R}\) and \(s_{j} \in \mathbb {R}\) for \(\textrm{OFAL}(k,\{c_{j}\}_{j=1}^{k})\) instead of \(p(r_{i}) \in \mathbb {R}\) and \(p(s_{j}) \in \mathbb {R}\), respectively, when it causes no confusion.

2.2.2 Competitive Ratio

To evaluate the performance of an online algorithm alg, we use the (strict) competitive ratio. For \(\textrm{OFA}(k,\{c_{j}\}_{j=1}^{k})\), let \(S=\{s_{1},\ldots ,s_{k}\}\) be the set of k servers. For an online algorithm alg for \(\textrm{OFA}(k,\{c_{j}\}_{j=1}^{k})\) and a request sequence \(\sigma =r_{1}\cdots r_{n}\), we use \({{\textsc {alg}}}(\sigma )\) to denote the total cost incurred by alg when processing \(\sigma \). Also, let \({{\textsc {opt}}}(\sigma )\) denote the optimal cost for a request sequence \(\sigma \), i.e., the total cost incurred by an optimal offline algorithm for \(\sigma \). We say that alg is c-competitive if \({{\textsc {alg}}}(\sigma ) \le c \cdot {{\textsc {opt}}}(\sigma )\) for any request sequence \(\sigma \). The competitive ratio \({\mathcal R}({{\textsc {alg}}})\) of alg is defined to be the infimum of \(c\ge 1\) such that alg is c-competitive, i.e., \({\mathcal R}({{\textsc {alg}}}) = \inf \{c \ge 1:{\textsc {alg}} \text{ is } c \text{-competitive }\}\).

2.2.3 Technical Lemmas

As mentioned in Sect. 10.2.2.1, servers may have different capacities \(c_{1}, c_{2}, \ldots , c_{k}\) and the condition is that \(n \le c_{1}+\cdots + c_{k}\). However, as we show below, for the design of online algorithms for \(\textrm{OFA}(k,\{c_{j}\}_{j=1}^{k})\), it is sufficient to deal with the case that \(n=c_{1}+\cdots +c_{k}\) (Lemma 10.1) and that \(c_{1}=\cdots c_{k}=\ell \) (Lemma 10.2).

Lemma 10.1

For \(\textrm{OFA}(k,\{c_{j}\}_{j=1}^{k})\), let \(L = c_{1}+\cdots +c_{k}\). Then for any \(c \ge 1\) and any online algorithm alg, \({{\textsc {alg}}}(\sigma ) \le c \cdot {{\textsc {opt}}}(\sigma )\) holds for any request sequence \(\sigma \) such that \(|\sigma | =L\) iff \({{\textsc {alg}}}(\sigma ') \le c \cdot {{\textsc {opt}}}(\sigma ')\) holds for any request sequence \(\sigma '\) such that \(|\sigma '| \le L\).

Lemma 10.2

For any \(\ell \ge 1\), any \(c_{1},\ldots ,c_{k}\) such that \(1 \le c_{1},\ldots ,c_{k} \le \ell \), and any \(c \ge 1\), there exists a c-competitive algorithm for \(\textrm{OFA}(k,\ell )\) iff there exists a c-competitive algorithm for \(\textrm{OFA}(k,\{c_{j}\}_{j=1}^{k})\).

Based on Lemmas 10.1 and 10.2, we can focus on the case that \(c_{1}=\cdots =c_{k}=\ell \) and the number of requests is exactly \(k\ell \).

2.2.4 Greedy Algorithm

Finally, we give the definition of the greedy algorithm (denoted by \({{\textsc {grdy}}}\)) for \(\textrm{OFA}(k,\ell )\).

Definition 10.1

The greedy algorithm (denoted by grdy) matches each request with the nearest free server. If there exist at least two nearest free servers for the request \(r_{i}\), then grdy chooses the one with the largest index to match \(r_{i}\).

2.3 Online Facility Assignment with a Small Number of Servers

In this subsection, we review the results in [20], which studies \(\textrm{OFA}(k,\ell )\) and \(\textrm{OFAL}_{eq}(k,\ell )\) for small k, i.e., \(k=2, 3, 4\), and 5. For \(k=2\), we have the following two theorems.

Theorem 10.1

For any \(\ell \in \mathbb {N}\), the competitive ratio of grdy is at most 3 for \(\textrm{OFA}(2,\ell )\).

Theorem 10.2

For any \(\ell \in \mathbb {N}\), the competitive ratio of any deterministic online algorithm for \(\textrm{OFA}(2,\ell )\) is at least 3.

These two theorems imply that grdy is one of the best online algorithms for \(\textrm{OFA}(2,\ell )\) in terms of the competitive ratio. Since \(\textrm{OFAL}_{eq}(2,\ell )\) is a special case of \(\textrm{OFA}(2,\ell )\), Theorem 10.1 applies also for \(\textrm{OFAL}_{eq}(2,\ell )\). Since the adversarial requests in the proof of Theorem 10.2 are constructed on line metric, we have the following corollary (note that the problem with two servers is trivially an equidistant case):

Corollary 10.1

For any \(\ell \in \mathbb {N}\), the competitive ratio of grdy is at most 3 and the competitive ratio of any deterministic online algorithm is at least 3 for \(\textrm{OFAL}_{eq}(2,\ell )\).

For \(k=3,4\), and 5, we obtained lower bounds on the competitive ratio for \(\textrm{OFAL}_{eq}(k,\ell )\). In order to analyze the lower bound, the following notions and lemma play key roles.

Definition 10.2

(Surrounding servers [3, 30]) Given a request r for \(\textrm{OFAL}(k,\ell )\), the surrounding servers for r are \(s^{L}\) and \(s^{R}\), where \(s^{L}\) is the closest free server to the left of r (if any) and \(s^{R}\) is the closest free server to the right of r (if any). If there is a free server \(s \in S\) such that \(s=r\), then the surrounding server of r is only s.

Definition 10.3

(Surrounding-oriented [3, 30]) Let alg be an online algorithm for \(\textrm{OFAL}(k,\ell )\). We say that alg is surrounding-oriented for a request sequence \(\sigma \) if it matches every request r of \(\sigma \) with one of the surrounding servers of r. We say that alg is surrounding-oriented if it is surrounding-oriented for any request sequence.

Lemma 10.3

([3, 20]) Let alg be an online algorithm for \(\textrm{OFAL}(k,\ell )\). Then there exists a surrounding-oriented algorithm \({{\textsc {alg}}}'\) for \(\textrm{OFAL}(k,\ell )\) such that \({{\textsc {alg}}}'(\sigma ) \le {{\textsc {alg}}}(\sigma )\) for any \(\sigma \).

For the purpose of discussing lower bounds on the competitive ratio, it suffices by Lemma 10.3 to consider only surrounding-oriented algorithms. Using this property, we obtained the following three theorems.

Theorem 10.3

The competitive ratio of any deterministic online algorithm for \(\textrm{OFAL}_{eq}(3,\ell )\) is at least \(1+\sqrt{6} \; (>3.449)\).

Theorem 10.4

The competitive ratio of any deterministic online algorithm for \(\textrm{OFAL}_{eq}(4,\ell )\) is at least \(\frac{4+\sqrt{73}}{3} \; (>4.181)\).

Theorem 10.5

The competitive ratio of any deterministic online algorithm for \(\textrm{OFAL}_{eq}(5,\ell )\) is at least \(\frac{13}{3} \; (>4.333)\).

2.4 Capacity-Insensitive Algorithms

This subsection introduces the results in [17], which studies \(\textrm{OFA}(k,\ell )\) and \(\textrm{OFAL}_{eq}(k,\ell )\) for general k. The competitive analysis for \(\textrm{OFA}(k,\ell )\) for general capacity \(\ell \) looks harder than that for \(\textrm{OFA}(k,1)\). In order to make the algorithm design much easier, we define the capacity-insensitive property [17]. We say that an online algorithm alg has capacity-insensitive property if the c-competitiveness of alg for \(\textrm{OFA}(k,1)\) is equivalent to the c-competitiveness of alg for \(\textrm{OFA}(k,\ell )\) with general \(\ell \).

2.4.1 MPFS Algorithms

To begin with, we introduce the class of MPFS (Most Preferred Free Servers) algorithms and show that any MPFS algorithm has the capacity-insensitive property (Theorem 10.6).

Definition 10.4

Let alg be an online algorithm for \(\textrm{OFA}(k,\ell )\). We say that alg is an MPFS (Most Preferred Free Servers) algorithm if for any request sequence \(\sigma =r_{1}\cdots r_{n}\) such that \(n=k\ell \), it behaves as follows: For each \(1 \le i \le n\),

  1. 1.

    the priority (a total order) of servers for \(r_{i}\) is determined by only the position of \(r_{i}\);

  2. 2.

    alg matches \(r_{i}\) with the server with the highest priority among free servers.

Let \({\mathcal M}{\mathcal P}{\mathcal F}{\mathcal S}\) be the class of MPFS algorithms. If alg’s priority is sorted by the distance from a request, then alg is the greedy algorithm. Therefore, the class \({\mathcal M}{\mathcal P}{\mathcal F}{\mathcal S}\) contains the greedy algorithm.

Theorem 10.6

Let \({{\textsc {alg}}} \in {\mathcal M}{\mathcal P}{\mathcal F}{\mathcal S}\). For any \(c \ge 1\) and any \(\ell \ge 1\), alg is c-competitive for \(\textrm{OFA}(k,1)\) if and only if alg is c-competitive for \(\textrm{OFA}(k,\ell )\).

This theorem enables us to focus on \(\textrm{OFA}(k,1)\) once an online algorithm for \(\textrm{OFA}(k,\ell )\) is confirmed to be in \(\mathcal {M}\mathcal {P}\mathcal {F}\mathcal {S}\).

2.4.2 Competitive Analysis for grdy

Based on the above idea, we succeeded in showing the exact competitive ratio of grdy for \(\textrm{OFAL}_{eq}(k,\ell )\).

Theorem 10.7

For \(\textrm{OFAL}_{eq}(k,\ell )\) such that \(k \ge 2\), the competitive ratio of grdy is exactly \(4k-5\).

Note that Theorem 10.7 generalizes Corollary 10.1 to \(k>2\). Here we show only the proof for the lower bound.

Proof

(of the lower bound) For simplicity, assume that \(s_{j}=j-1\) for each \(1 \le j \le k\). We construct a request sequence \(\sigma \) such that \({{\textsc {grdy}}}(\sigma ) = (4k-5)\cdot {{\textsc {opt}}}(\sigma )\). First, for each j, we give \(\ell -1\) requests to the position \(j-1\) (where the server \(s_{j}\) is placed), and without loss of generality, both opt and grdy match them with \(r_{j}\) with zero cost. We then give k requests \(r_{1}\cdots r_{k}\) where \(r_{1}=\frac{1}{2}\) and \(r_{j}=s_{j}=j-1\) for each \(2 \le j \le k\). By Definition 10.1,

$$\begin{aligned} {{\textsc {grdy}}}(\sigma ) = {} & {} \frac{1}{2} + (k-2)+(k-1) = \frac{4k-5}{2};\\ {{\textsc {opt}}}(\sigma ) = {} & {} \frac{1}{2}. \end{aligned}$$

Thus for the request sequence \(\sigma \) defined above, it follows that

$$\begin{aligned} \frac{{{\textsc {grdy}}}(\sigma )}{{{\textsc {opt}}}(\sigma )} = \frac{\frac{4k-5}{2}}{\frac{1}{2}} = 4k-5 \end{aligned}$$

and this implies that \({\mathcal R}({{\textsc {grdy}}}) \ge 4k-5\). \(\square \)

2.4.3 Competitive Analysis for idas and MPFS Algorithms

Now we give an MPFS algorithm idas (Interior Division for Adjacent Servers) that performs better than grdy. We show that its competitive ratio is at most \(2k-1\) for \(\textrm{OFAL}_{eq}(k,\ell )\). We also show that idas is best among MPFS algorithms, by showing a lower bound on the competitive ratio of any MPFS algorithm. We first formally state the lower bound.

Theorem 10.8

The competitive ratio of any MPFS algorithm for \(\textrm{OFAL}_{eq}(k,\ell )\) is at least \(2k-1\).

Next, we show the definition of idas. Before doing so, we provide several notations. Fix \(a,b \in \mathbb {R}\) with \(a<b\) arbitrarily. For any \(x,y \in \mathbb {R}\) such that \(a \le x < y\le b\), let B(xy) be the point that internally divides the line segment [xy] into \(b-x\) to \(y-a\), i.e.,

$$\begin{aligned} B(x,y) = \frac{(b-x)y+(y-a)x}{(b-x)+(y-a)}=\frac{by-ax}{b-a+y-x}. \end{aligned}$$

Note that \(x < B(x,y) < y\) and B(xy) implies a boundary between x and y.

Given the set \(S=\{s_{1},\ldots ,s_{k}\}\) of k servers with \(s_{1} < \cdots < s_{k}\), we fix parameters \(a,b \in \mathbb {R}\) such that \(a \le s_{1}<s_{k}\le b\). Then the algorithm \({{\textsc {idas}}}_{[a,b]}\) can be described in Algorithm 10.1.

Algorithm 1
An algorithm of IDAS over a, b of interior division for adjacent servers. It reads, for a request r, let s s over r be the set of surrounding servers for r with two conditions, one is if modulus of s s over s = 1 and if modulus of s s over r = 2.

\({{\textsc {idas}}}_{[a,b]}\) (Interior Division for Adjacent Servers)

To observe that \({{\textsc {idas}}}_{[a,b]} \in {\mathcal M}{\mathcal P}{\mathcal F}{\mathcal S}\), the following property of \(B(*,*)\) is useful and the boundary \(B(*,*)\) naturally induces a total order \(\preceq _{\rho }\).

Property 10.2

Fix \(a,b \in \mathbb {R}\) with \(a<b\) arbitrarily. For any \(x,y,z\in \mathbb {R}\) such that \(a\le x < y < z \le b\), \(B(x,y)<B(x,z)<B(y,z)\).

Proof

This follows from the straightforward calculations:

$$\begin{aligned} B(x,z)-B(x,y) & = & \frac{(b-a)(z-y)(b-x)}{(b-a+z-x)(b-a+y-x)}>0;\\ B(y,z)-B(x,z) & = & \frac{(b-a)(y-x)(z-a)}{(b-z+y-a)(b-a+z-x)}>0, \end{aligned}$$

where the inequalities follow from the assumption that \(a\le x<y<z \le b\). \(\square \)

We define the following binary relation \(\preceq _{\rho }\) on [ab] with a parameter \(\rho \in \mathbb {R}\).

Definition 10.5

For any \(a,b \in \mathbb {R}\), let [ab] be the closed interval and fix \(\rho \in \mathbb {R}\) arbitrarily. For any \(x,y \in [a,b]\), we write \(x \preceq _{\rho } y\) if one of the following conditions holds: (1) \(x=y\); (2) \(x < y\) and \(B(x,y)<\rho \); (3) \(y < x\) and \(\rho \le B(y,x)\).

For the binary relation \(\preceq _{\rho }\) on [ab], the following result holds.

Theorem 10.9

For any \(\rho \in \mathbb {R}\), \(\preceq _{\rho }\) is a total order on the closed interval [ab].

We summarize the properties of the total order \(\preceq _{\rho }\) in the following remark.

Remark 10.1

For any \(a,b \in \mathbb {R}\) such that \(a<b\), let [ab] be the closed interval. Then for any \(x,y \in [a,b]\) and any \(\rho \in \mathbb {R}\), the following properties hold:

  1. (1)

    if \(\rho < x < y\), then \(y \preceq _{\rho } x \preceq _{\rho } \rho \);

  2. (2)

    if \(x < y < \rho \), then \(x \preceq _{\rho } y \preceq _{\rho } \rho \);

  3. (3)

    if \(\rho <a\), then \(x \preceq _{\rho } y\) iff \(x \ge y\);

  4. (4)

    if \(b<\rho \), then \(x \preceq _{\rho } y\) iff \(x \le y\);

  5. (5)

    if \(\rho \in [a,b]\), then \(x \preceq _{\rho } \rho \).

The property (5) implies that \(\rho \) is the maximum in [ab] w.r.t. the total order \(\preceq _{\rho }\). \(\square \)

From Remark 10.1, the following Definition 10.6 of \({{\textsc {idas}}}_{[a,b]}\) is equivalent to Algorithm 10.1. For a request r, we say that \(s \in S\) is the highest free server w.r.t. \(\preceq _{r}\) if s is free and \(s' \preceq _{r} s\) for all free servers \(s' \in S\) just before matching r to a server.

Definition 10.6

For a request sequence \(\sigma =r_{1}\cdots r_{i} \cdots r_{k\ell }\), the algorithm \({{\textsc {idas}}}_{[a,b]}\) for \(\textrm{OFAL}(k,\ell )\) works as follows: For each \(1 \le i \le k\ell \), it matches a request \(r_{i}\) with the highest free server \(s \in S\) w.r.t. the total order \(\preceq _{r_{i}}\).

From Definition 10.6, it is immediate that \({{\textsc {idas}}}_{[a,b]} \in {\mathcal M}{\mathcal P}{\mathcal F}{\mathcal S}\). The following theorem claims that \({{\textsc {idas}}}_{[s_1,s_k]}\) is one of the best MPFS algorithms.

Theorem 10.10

The competitive ratio of \({{\textsc {idas}}}_{[s_{1},s_{k}]}\) for \(\textrm{OFAL}_{eq}(k,\ell )\) is at most \(2k-1\).

2.5 Conclusions

In this section, we gave overview on the competitive analysis for the online facility assignment problem on a line, which appear in [17, 20]. One of the most interesting future works is to design an online algorithm better than idas. Since no algorithm in \({\mathcal M}{\mathcal P}{\mathcal F}{\mathcal S}\) can be better than idas, we need to invent a capacity-insensitive algorithms not in \({\mathcal M}{\mathcal P}{\mathcal F}{\mathcal S}\).

3 Two-Sided Matching with Flexible Quotas: Student-Project-Resource Matching-Allocation Problem

This section presents a new framework called a student-project-resource matching-allocation problem, where students have preferences over projects and the projects have preferences over students [32]. Liu et al. [32] show that no strategyproof mechanism satisfies fairness and weak efficiency requirements, and develop a new class of strategyproof mechanisms called Sample and Deferred Acceptance (SDA), which satisfies several properties of fairness and efficiency.

3.1 Introduction

This section introduces a simple, but fundamental problem called student-project-resource matching-allocation problem (SPR) presented in [32]. On one hand, SPR can be considered as a two-sided, many-to-one matching problem [41] since students are matched to projects based on their preferences. On the other hand, it is also a discrete resource allocation problem [29] since resources are allocated to each project. However, unlike the standard setting of two-sided many-to-one matching, where the capacity of each project is exogenously determined, we assume the capacities are endogenously determined by resource allocation.

If the mechanism designer knows the preferences of the students, she can allocate resources to projects using combinatorial optimization techniques. If each project’s capacity is determined, even if the mechanism designer does not know the students’ preferences beforehand, she can find a matching that satisfies desirable properties with a strategyproof mechanism, e.g., Deferred Acceptance mechanism (DA) [11], such that students voluntarily disclose their true preferences. However, the mechanism designer usually does not know their preferences. Thus, a common practice for solving this problem is to determine its resource allocation part based on the expectations or the past data and set the capacities of the projects. Then the actual matching of students to projects is determined by a matching mechanism. In this approach, if the expectations used in the first problem are incorrect, the outcome can be sub-optimal; excess demand and supply for seats can coexist, which can be avoided by better resource allocation.

One instance where such a practice is applied is a school choice program for assigning students to public schools. In a standard setting, each school has a maximum quota that is determined in advance. Assume a local government (e.g., a city/prefecture/state) has spare resources, e.g., sufficient budget to hire temporary teachers, which can be allocated based on the demand. Then the maximum quota of each school is no longer fixed in advance, but it can be flexibly modified based on the actual demand utilizing extra budget/resources.

This article follows previous works that address constrained matching problems. Two-sided matching has attracted considerable attention from AI and theoretical computer science researchers. A standard market deals with maximum quotas, i.e., capacity limits that cannot be exceeded. However, many real-world matching markets are subject to a variety of distributional constraints [28], including regional maximum quotas, which restrict the total number of students assigned to a set of schools [24], minimum quotas, which guarantee that a certain number of students are assigned to each school [9, 14, 16], and diversity constraints  [7, 15, 27, 31, 46]. The rest of this section is organized as follows. Section 10.3.2 introduces a model of an SPR. Section 10.3.3 shows that no mechanism is fair, weakly nonwasteful, resource efficient, and strategyproof. Section 10.3.4 introduces a class of mechanisms called Sample and Deferred Acceptance (SDA). Finally, Sect. 10.3.5 concludes the section.

3.2 Model

A student-project-resource matching-allocation problem (SPR) is defined as follows:

Definition 10.7

(Student-Project-Resource allocation (SPR) Instance) An SPR instance is a tuple \((S,P,R,\succ _S,\succ _P,q_R,T_R)\).

  • \(S=\{s_1, \ldots , s_{|S|}\}\) is a set of students.

  • \(P=\{p_1, \ldots , p_{|P|}\}\) is a set of projects.

  • \(R=\{r_1, \ldots , r_{|R|}\}\) is a set of indivisible resources.

  • \(\succ _S = (\succ _s)_{s \in S}\) are the student’s strict preferences over set \(P\cup \{\emptyset \}\). Symbol \(\emptyset \) means that a student is not assigned to any project.

  • \(\succ _P =(\succ _p)_{p \in P}\) are the projects’ strict preferences over set \(S\cup \{\emptyset \}\). Symbol \(\emptyset \) means that a project is assigned no student.

  • \(q_R = (q_r)_{r \in R}\) are the capacities of resources; \(q_r\in \mathbb {N}_{>0}\) for every \(r \in R\).

  • \(T_R=(T_r)_{r\in R}\) is a profile of the resource compatibility lists, where each \(T_r\subseteq P\) is a set of projects to which resource r can be allocated. Since resource r is indivisible, it must be allocated to exactly one project in \(T_r\).

Note that since we assume a resource indivisible, we cannot allocate a resource r with the capacity of two to the projects \(p_1\) and \(p_2\) with the capacity of one each. We illustrate our setting with the following example.

Example 10.1

There are four students, \(s_1, s_2, s_3, s_4\), four projects, \(p_1, p_2, p_3, p_4\), and two resources, \(r_1, r_2\), where \(T_{r_1} = \{p_1, p_2\}\), \(T_{r_2} = \{p_3, p_4\}\), and \(q_{r_1}=2\), \(q_{r_2}=1\). The following are their preferences:

$$\begin{aligned} \begin{array}{ccccccc} s_1: p_1 \succ p_2 \succ p_4 \succ p_3 \succ \emptyset , &{} p_1: s_4 \succ s_3 \succ s_2 \succ s_1 \succ \emptyset , \\ s_2: p_1 \succ p_2 \succ p_3 \succ p_4 \succ \emptyset , &{} p_2: s_4 \succ s_3 \succ s_2 \succ s_1 \succ \emptyset , \\ s_3: p_1 \succ p_2 \succ p_3 \succ p_4 \succ \emptyset , &{} p_3: s_1 \succ s_2 \succ s_3 \succ s_4 \succ \emptyset , \\ s_4: p_4 \succ p_3 \succ p_2 \succ \emptyset \succ p_1, &{} p_4: s_1 \succ s_2 \succ s_3 \succ s_4 \succ \emptyset .\\ \end{array} \end{aligned}$$

Since we assume resources are indivisible, it is impossible to allocate students to three different projects although the total capacity of all the resources equals three. A resource can only be allocated to a compatible project, e.g., \(r_1\) can be allocated to either \(p_1\) or \(p_2\). The following are the possible capacities of the four projects: (2, 0, 1, 0), (2, 0, 0, 1), (0, 2, 1, 0), or (0, 2, 0, 1).

We follow the matching with a contracts model [18]. Contract \((s,p)\in S \times P\) means that student s is matched to project p. Contract (sp) is acceptable to student s (resp. project p) if \(p \succ _s \emptyset \) holds (resp. \(s \succ _p \emptyset \)). Let X denote the set of all contracts that are acceptable to the projects.Footnote 2

A matching is a set of contracts satisfying the following conditions.

Definition 10.8

(Matching) A matching is a subset \(Y \subseteq X\), where for every student \(s \in S\), \(Y_s = \{(s, p) \mid (s, p) \in X\}\), either \(|Y_s|= 0\) or \(Y_s =\{(s,p)\}\) and \(p \succ _s \emptyset \) hold.

For matching Y, let Y(s) denote the project to which s is matched (\(Y(s) = \emptyset \) if s is not matched to any project in Y), and let \(Y(p) \subseteq S\) denote the set of students assigned to project p (\(Y(p) = \emptyset \) means no student is allocated to p in Y).

In an SPR, we also need to describe how resources are allocated to projects. A matching’s feasibility is defined based on this description.

Definition 10.9

(Allocation) An allocation \(\mu :R\rightarrow P\) maps each resource r to a project \(\mu (r)\in T_r\). Let \(q_{\mu }(p)=\sum _{r \in \mu ^{-1}(p)} q_r\).Footnote 3

In other words, a project’s maximum quota is defined by the sum of all resources that are allocated to it. Note that multiple resources can be allocated to a single project.

Definition 10.10

(Feasibility) A feasible matching \((Y,\mu )\) is a matching-allocation pair where \(|Y(p)| \le q_{\mu }(p)\) holds for every \(p\in P\).

In the setting of Example 10.1, assume matching \(\hat{Y}\) is \(\{(s_1, p_1),\) \((s_2, p_1), (s_3, \emptyset ), (s_4, p_3)\}\) and allocation \(\hat{\mu }\) distributes \(r_1\) to \(p_1\) and \(r_2\) to \(p_3\). Then \((\hat{Y}, \hat{\mu })\) is a feasible matching. See Fig. 10.1 for an illustration.

Fig. 10.1
A model of S P R instance has students from s 1 to s 4, projects from p 1 to p 4, and resources r 1 and r 2. In matching, s 1 and s 2 point to p 1 and s 4 points to p 3, and in allocation, r 1 points to p 1 and r 2 points to p 3.

SPR instance: matching \(\hat{Y}\) and allocation \(\hat{\mu }\) in Example 10.1

Next, we introduce a concept related to efficiency called nonwastefulness. First, we define a situation where a student claims that the current matching is inefficient since her welfare can be improved without disadvantaging other students.

Definition 10.11

(Claiming an Empty Seat with \(\mu \)) Given feasible matching \((Y,\mu )\), student s claims an empty seat in project p with \(\mu \) if the following conditions hold:

  • \(p \succ _s Y(s)\) and

  • \(Y\setminus \{(s,Y(s))\}\cup \{(s,p)\}\) is feasible with \(\mu \).

In other words, student s claims an empty seat in project p with \(\mu \) if she can move to p from current project Y(s) (which can be \(\emptyset \)) in current allocation \(\mu \).

Definition 10.12

(Nonwastefulness) Given feasible matching \((Y,\mu )\), student s possibly claims an empty seat in project p if \(\exists \mu '\) such that s claims an empty seat in p with \(\mu '\). A feasible matching \((Y,\mu )\) is nonwasteful if no student possibly claims an empty seat in any project.

In other words, s possibly claims an empty seat in p if s can be moved to a more preferred project p without changing the assignment of the other students with allocation \(\mu '\). Note that \(\mu '\) can be different from \(\mu \). Thus, s can possibly claim an empty seat in p even if it is impossible to move her to p with current allocation \(\mu \), as long as it becomes possible with a different/better allocation \(\mu '\). In a traditional setting, since each project’s maximum quota (capacity limit) is fixed, it suffices to check whether a student can be moved to another project under the fixed maximum quotas. In contrast, in our setting, maximum quotas are endogenous and flexible. Thus, the definition of nonwastefulness is modified to reflect this flexibility. In the setting of Example 10.1 in Fig. 10.1, \(s_4\) cannot claim an empty seat in \(p_4\) in current allocation \(\hat{\mu }\) because no resource is allocated to \(p_4\) and it is impossible to move her from \(p_3\) to \(p_4\). However, she possibly claims an empty seat in \(p_4\) since by allocating \(r_2\) to \(p_4\), we can move her to \(p_4\) without disadvantaging other students. Thus, \((\hat{Y}, \hat{\mu })\) does not satisfy nonwastefulness.

Next, we introduce a concept called fairness.

Definition 10.13

(Fairness) Given feasible matching \((Y,\mu )\), student s has justified envy toward student \(s'\) if for project p such that \(s' \in Y(p)\), \(p \succ _s Y(s)\), and \(s \succ _p s'\) hold. A feasible matching \((Y,\mu )\) is fair if no student has justified envy.

In other words, student s has justified envy toward \(s'\) if \(s'\) is assigned to project p although s prefers p over her current project Y(s) and project p prefers s over \(s'\).

Next, we formally define a mechanism and introduce the desirable properties a mechanism should satisfy: strategyproofness.

Definition 10.14

(Mechanism) Given any SPR instance, a mechanism outputs a feasible matching \((Y, \mu )\). If a mechanism always yields a feasible matching that satisfies property A (e.g., fairness), we say that this mechanism is A (e.g., fair).

Definition 10.15

(Strategyproofness) A mechanism is strategyproof if no student has an incentive to misreport her preference.

3.3 Impossibility Theorems

In an SPR, resources should be flexibly allocated to projects for more efficient matching. However, such flexibility is hard to combine with fairness. First, we show that fairness and nonwastefulness are incompatible.

Theorem 10.11

An SPR instance exists where no feasible matching is fair and nonwasteful.

Proof

Consider the following SPR instanceFootnote 4: two students, \(s_1, s_2\), two projects, \(p_1, p_2\), and a unitary resource compatible with both. The student preferences are \(p_1\succ _{s_1}p_2 \succ _{s_1} \emptyset \) and \(p_2\succ _{s_2}p_1 \succ _{s_2} \emptyset \). The project preferences are \(s_2\succ _{p_1}s_1\succ _{p_1} \emptyset \) and \(s_1\succ _{p_2}s_2\succ _{p_2} \emptyset \). By symmetry, we can assume the resource is allocated to \(p_1\) w.l.o.g. For fairness, \(s_2\) must be allocated to \(p_1\). Then \(s_1\) possibly claims an empty seat in \(p_2\) since moving her to \(p_2\) is possible by allocating the resource to \(p_2\). \(\square \)

Given this impossibility theorem, let us introduce weaker conditions on efficiency.

Definition 10.16

(Weak Nonwastefulness) For feasible matching \((Y, \mu )\), student s strongly claims an empty seat if \(Y(s) = \emptyset \) and s claims an empty seat in project p with \(\mu \). A feasible matching is weakly nonwasteful if no student strongly claims an empty seat.

In the setting of Example 10.1, feasible matching \((\hat{Y}, \hat{\mu })\) in Fig. 10.1 is weakly nonwasteful because \(s_3\) cannot strongly claim an empty seat. Although \(\hat{Y}(s_3) = \emptyset \), she cannot be assigned to any project with current allocation \(\hat{\mu }\).

Definition 10.17

(Very Weak Nonwastefulness) For feasible matching \((Y, \mu )\), student s very strongly claims an empty seat if \(Y(s) = \emptyset \), and \(\forall \mu '\), such that \((Y, \mu ')\) is feasible, \(\exists p\) in which s claims an empty seat with \(\mu '\). A feasible matching is very weakly nonwasteful if no student very strongly claims an empty seat.

In other words, student s very strongly claims an empty seat if she is currently unassigned, and under any feasible resource allocation \(\mu '\), project p exists such that s claims an empty seat in p with \(\mu '\). Note that p can be different for each \(\mu '\).

If student s very strongly claims an empty seat, she is currently unassigned and claims an empty seat in project p with current allocation \(\mu \), and thus she also strongly claims an empty seat. If she claims an empty seat in p under the current assignment, she also possibly claims an empty seat in p. Thus, nonwastefulness implies weak nonwastefulness, and weak nonwastefulness implies very weak nonwastefulness.

To define another concept called resource efficiency, let us first define unanimous preferences.

Definition 10.18

(Unanimous Preference) Students unanimously prefer p over \(p'\) if for every \(s \in S\), \((s, p) \in X\), and \(p \succ _s p'\) hold.

This condition means that project p accepts all students and all students prefer p over \(p'\). If students unanimously prefer p over \(p'\), allocating any resource (which is compatible with both p and \(p'\)) to \(p'\) is inefficient in terms of students’ welfare. The following formalizes this intuition.

Definition 10.19

(Resource Efficiency) Resource allocation \(\mu \) is resource efficient if no resource r, such that \(p, p' \in T_r\) and students unanimously prefer p over \(p'\), is allocated to \(p'\). A mechanism is resource efficient if it always returns a resource efficient allocation.

Now we are ready to introduce another impossibility theorem.

Theorem 10.12

No mechanism exists that is fair, very weakly nonwasteful, resource efficient, and strategyproof.

Proof

Consider the following situation: three students, \(s_1, s_2, s_3\), three projects, \(p_1, p_2, p_3\), one resource, r with \(q_r=2\), and \(T_r = \{p_1, p_2, p_3\}\). The following are their preferences:

$$\begin{aligned} \begin{array}{ccccccc} s_1: p_2 \succ p_3 \succ p_1 \succ \emptyset , &{} p_1: s_1 \succ s_2 \succ s_3 \succ \emptyset , \\ s_2: p_3 \succ p_1 \succ p_2 \succ \emptyset , &{} p_2: s_2 \succ s_3 \succ s_1 \succ \emptyset , \\ s_3: p_1 \succ p_2 \succ p_3 \succ \emptyset , &{} p_3: s_3 \succ s_1 \succ s_2 \succ \emptyset . \\ \end{array} \end{aligned}$$

Recall that since all the resources must be distributed, resource r must be allocated to a project. From very weak nonwastefulness and fairness, the following are the possible matchings: allocating \(s_1\) and \(s_2\) to \(p_1\), allocating \(s_2\) and \(s_3\) to \(p_2\), or allocating \(s_3\) and \(s_1\) to \(p_3\). From the symmetry, we can assume r is allocated to \(p_1\) and \(s_1\) and \(s_2\) are assigned to \(p_1\) w.l.o.g. Next, we examine the case where the preference of \(s_3\) is changed to \(p_3 \succ p_1 \succ p_2 \succ \emptyset \). From resource efficiency, r cannot be allocated to \(p_1\) since all students prefer \(p_3\) over \(p_1\). If r is allocated to \(p_2\) (or \(p_3\)), then from fairness and very weak nonwastefulness, \(s_3\) must be assigned to \(p_2\) (or \(p_3\)). This violates strategyproofness since \(s_3\) is not assigned to any project in the original situation. \(\square \)

3.4 Sample and Deferred Acceptance (SDA) Mechanism

Theorem 10.12 shows that fairness cannot be achieved without significantly sacrificing efficiency. To establish a good balance between fairness and efficiency in SPR problems, Liu et al. [32] introduce a new class of mechanisms called Sample and Deferred Acceptance (SDA). Before describing SDA, let us introduce two mechanisms, which are utilized in SDA. First, the Serial Dictatorship mechanism (SD) uses a serial order among the students. Although the order can be arbitrary, it must be determined independently of student preferences to guarantee strategyproofness. W.l.o.g., we assume this order is \(s_1, s_2, \ldots \). In SD, a student is chosen based on the serial order. Each student is assigned to her most preferred project p, such that a feasible allocation exists for the (partial) matching obtained so far. This mechanism is clearly strategyproof and nonwasteful, but it is very unfair since it does not use projects’ preferences at all. Next, we briefly describe the well-known Deferred Acceptance (DA) [11]. In DA, each student first applies to her most preferred project. Then each project provisionally accepts students up to its capacity limit based on its preference and rejects the rest of them. A rejected student applies to her second choice. Each project provisionally accepts students who have applied without distinguishing between newly applied and already provisionally accepted students, and so forth. To apply DA, the maximum quota (i.e., capacity limit) of each project must be predetermined. As long as maximum quotas are determined independently from students’ preferences, it is strategyproof and nonwasteful.

Now, we are ready to introduce SDA.

Mechanism 10.1

(Sample and Deferred Acceptance (SDA))  

Step 1::

Select \(S'\subseteq S\) independently of \(\succ _S\), which we call sampled students, and \(S' \ne \emptyset \). We call \(S\setminus S'\) the regular students. Then run SD and find (partial) matching \(Y_{S'}\) for \(S'\).

Step 2::

Allocate \(R' \subseteq R\) to projects such that \(Y_{S'}\) is feasible and \(R'\) is minimal: no \(R'' \subsetneq R'\) makes \(Y_{S'}\) feasible. Then allocate \(R\setminus R'\) based on the preferences of \(S'\).

Step 3::

Run DA for \(S\setminus S'\). The capacity of p is \(q_{\mu }(p) - |Y_{S'}(p)|\), where \(\mu \) is the resource allocation determined in Step 2.

 

The entire mechanism is carefully designed to guarantee strategyproofness. We adopt a popular technique used in auction domains to ensure strategyproofness, where a mechanism has some parameters and their selection affects participants’ welfare [4, 13]. The idea is first dividing students/participants into two groups, then extracting the information from one group, and lastly setting the parameters of the mechanism applied to the other group based on the obtained information.

By using different methods to determine resources in Step 2, we can create a variety of sample-based mechanisms that can strike a good balance between fairness and efficiency by slightly sacrificing fairness to improve efficiency. We introduce a first strategyproof sample-based mechanism, which we call Sample and Deferred Acceptance with Voting (SDA-V). In Step 2 of Mechanism 10.1, SDA-V determines resource allocation \(\mu \) based on the voting among sampled students. More specifically, each sampled student (hypothetically) votes for all projects based on \(\succ _s\), where each project obtains a Borda score, i.e., the top project obtains |P|, the second project obtains \(|P|-1\), and so on. Then for each project, the sum of these scores is calculated. Finally, each resource r is allocated to the project that obtains the highest total score within \(T_r\). The details of this voting procedure do not affect SDA-V’s theoretical properties, e.g., whether a student can vote for a project to which she is unacceptable, or how ties are broken. Thus, they can be arbitrarily determined.

SDA-V uses a simple voting scheme for deciding resource allocation. However, if students are divided into several groups in terms of their preferences, we might obtain a sub-optimal result. Actually, the Borda count is somewhat too coarse-grained to determine an appropriate resource allocation. More specifically, for each resource r, we choose a single winner among projects \(T_r\) in SDA-V. By using the Borda count, we can choose a broadly acceptable project among candidates \(T_r\).

Liu et al. [32] develop yet another way for deciding resource allocation, which does not rely on any voting scheme. Instead of aggregating the preference by voting, we create copies of sampled students and run a simulation for them to decide the resource allocation. More specifically, we (imaginarily) perform an SD mechanism for these copied students and obtain a resource allocation. We call this mechanism Sample and Deferred Acceptance with Simulation (SDA-S). Compared to SDA-V, SDA-S fully utilizes the preference of each sampled student, i.e., not only her first-choice project, but also her second-choice, third-choice, and so on.

In SDA-S, the detailed procedure of Step 2 in Mechanism 10.1 is given as follows:

  1. 1.

    Make \(|S|- |S'|\) copies of sampled students (i.e., for each sampled student, we create either \(\lfloor \frac{|S|- |S'|}{|S'|} \rfloor \) or \(\lceil \frac{|S|- |S'|}{|S'|} \rceil \) copies).

  2. 2.

    Run SD for these copies to determine the resource allocation. First, we create copied students and the serial order of them is determined as follows. Assume sampled students are \(s_1, s_2, \ldots , s_{|S'|}\). Let \(d^i_j\) denote the j-th copy of student \(s_i\). Then the serial order is \(d^1_1, d^2_1, \ldots , d^{|S'|}_1, d^1_{2}, d^2_2, \ldots , d^{|S'|}_2, d^1_3, \ldots \), i.e., using a round-robin order among the sampled students to determine the serial order of the copied students. Second, we run SD for these copied students to find an (imaginary) matching that is feasible with the remaining resources. The resources allocated by the imaginary matching are used for DA in Step 3 of Mechanism 10.1.

We describe that the family of SDA mechanisms satisfy several fundamental desiderata.

Theorem 10.13

Any SDA instance is strategyproof, weakly nonwasteful, fair among students in \(S \setminus S'\), and no sampled student has justified envy toward another regular student.

Proof

First, the sampled students \(S'\) are chosen independently of students’ preferences (e.g., by random sampling). Thus, students cannot affect who will be selected in \(S'\). Then, for each student in \(S'\), she has no incentive to misreport since her assignment is determined by SD, and the resource allocation for students \(S\setminus S'\) (which is determined using her preference) is irrelevant to her. Next, for each student in \(S\setminus S'\), the capacity of each project is determined independently of her preference. Also, since DA is strategyproof [6, 40], she has no incentive to misreport her preference.

Assume student s is matched to p (which can be \(\emptyset \)). She applied to project \(p'\), which outranks p, and was rejected. If \(s \in S'\), then no feasible allocation \(\mu '\) exists such that s can be assigned to \(p'\). If \(s \in S \setminus S'\), s cannot be assigned to \(p'\) with current allocation \(\mu \). Hence, any SDA instance is weakly nonwasteful.

Regarding fairness, since DA is fair [11], no regular student has justified envy toward another regular student. If sampled student \(s \in S'\) is rejected by p, then no more students can be assigned to p. Thus, s never has justified envy toward a regular student who is assigned after s. \(\square \)

Whether an SDA instance satisfies resource efficiency depends on how the resources are allocated based on the preferences of the sampled students. We show that the procedures for allocating resources in SDA-V and SDA-S are carefully designed such that they satisfy resource efficiency.

Theorem 10.14

SDA-V and SDA-S are resource efficient.

Proof

Assume students unanimously prefer p over \(p'\). When assigning sampled students \(S'\), students apply to p before applying to \(p'\). Thus, we do not require that any resource r is allocated to \(p'\) such that \(p, p' \in T_r\) holds. This property holds when assigning copied students by SD in SDA-S. Furthermore, \(p'\) never wins in the voting procedure in SDA-V. Thus, these mechanisms satisfy resource efficiency. \(\square \)

3.5 Conclusions

This section introduced the SPR model presented by Liu et al. [32], where the maximum quota of each project is determined endogenously via resource allocation, as well as a general class of mechanisms called SDA. Besides the theoretical results presented in this article, Liu et al. [32] perform experimental evaluations to illustrate that SDA strikes a good balance between fairness and efficiency.

4 Formalizing Station-Based One-Way Car Sharing as Three-Sided Matching

This section presents a matching mechanism for station-based one-way car-sharing services. This service model allows users to travel one way and pick up and drop off cars at any station in a dedicated service area.

4.1 Background

One-way car sharing provides high flexibility of usage to users, but on the other hand, it causes an imbalance between the distribution of available vehicles and origin-destination (OD) demand, which ends up decreasing service efficiency. Many studies have tried to solve this problem by pricing usage [8, 21, 36, 45, 48] and predicting demand [5, 42, 49].

In price-based control, price elasticity is assumed. However, it can change from time to time. If it differs from the assumption at the time of price calculation, realizing the expected level of efficient utilization of vehicles is difficult. The mechanism proposed by [43] applied an extension of the budgeted multi-armed bandit algorithm to bike sharing. It tries to find an appropriate amount of monetary incentives to users to encourage them to pick up a vehicle at stations with vehicles higher than a threshold and drop off a vehicle at stations with vehicles lower than the threshold. Their mechanism can mitigate the problem of the difficulty of obtaining accurate predictions. However, it still assumes the demands change gradually.

To overcome this difficulty, we formulate the problem as a stable matching problem, i.e., we consider car-sharing regulation as a problem in finding an appropriate user-vehicle match based on user preferences. This formalization enables us to utilize many research results on the stable matching problem, such as stability, efficiency, and fairness lessons. However, many existing studies on stable matching assume that all participants appear in advance. Thus, it needs to devise a mechanism to apply them to mobility matching. Some studies have dealt with mobility matching as a stable matching problem [47, 52], but their target is limited to ride-sharing. That is, there are still few that formulate vehicle sharing as a matching problem.

To solve the imbalance problem in car sharing, we introduce the drop-off station adjustment and formulate it as a three-sided matching problem. In conventional car-sharing systems, a drop-off user selects a drop-off station, and then a pick-up user chooses which station to rent the vehicle. Here, vehicle usage can be viewed as vehicle relocation for other pick-up users. Thus if a pick-up user indirectly asks drop-off users to place the car closer to their current location, and drop-off users may change their initially intended drop-off stations, it may increase the vehicle usage level. To realize such coordination, we simultaneously consider the drop-off users’ and pick-up users’ preferences and try to find a matching between a drop-off user and a pick-up user via a station. We assume that a drop-off user has a preference for stations. A station has a preference for pick-up users. A pick-up user has a preference for a combination of vehicles and stations. Under this assumption, we apply a three-sided matching mechanism to find a stable matching.

The previous mechanisms, such as [8, 21, 36, 48], can be considered as centralized regulation in that the operator examines the aggregated demands and supplies and then designs adequate incentives assuming that demand predictions are accurate. In contrast, our mechanism can also be viewed as centralized regulation but examines the individual preferences of pick-up and drop-off users. To the best of our knowledge, our mechanism is the first regulation strategy for station-based one-way car-sharing systems that realize (1) stable matching for pick-up users appearing dynamically and (2) no requirement for monetary transfer, which mitigates the problem of accurate prediction for price elasticity.

4.2 Problem Setting and Formulation

We formulate a three-sided matching problem for car sharing regulation, including drop-off agents, stations, and pick-up agents. Here, agents driving cars are drop-off agents. The set of drop-off agents, stations, and pick-up agents are represented by \(\mathcal {B}\), \(\mathcal {S}\), and \(\mathcal {A}\), respectively. Drop-off agent \(b_j\) has his preference on stations, \(P(b_j \Rightarrow \mathcal {S})\). For example, their types consist of the distance from the drop-off station to their final destination. Pick-up agent \(a_t\) has her preference on the tuple of stations and vehicles, \(P(a_t \Rightarrow \mathcal {B} \times \mathcal {S})\). For example, their preferences include the vehicle types \(\theta _j\), such as size and radar cruise control availability. Also, station \(s_i\) has its preference on pick-up agents, \(P(s_i \Rightarrow \mathcal {A})\), which the system operator sets. For example, their preferences consist of the waiting time length of pick-up agents and the scarcity of vehicles at the destination of pick-up agents.

We assume a road network \(\mathcal {L}\) consisting of nodes and links and parking stations are located at some nodes. There are \(n_{st}\) stations. Station \(s_i \in \mathcal {S}\) has \(n_{s_i}\) parking spots. Different parking stations may have different numbers of parking spots. Cars can be parked at any station with at least an unoccupied parking spot.

The car-sharing system operates \(n_{v}\) cars in a dedicated service area. The location l of a car corresponds to positions of the road networks \(l \in \mathcal {L}\). We use a discrete-time model, \(t=0, 1,2,\cdots \). At \(t=0\), the status of each vehicle is “driving” or “parked” at some locations.

At each time from \(t=1\), at most one pick-up agent \(a_t\) appears. We assume that if more than one pick-up agents demand car usage simultaneously, these requests are sequenced in an arbitrary order by reducing the time resolution. Pick-up agent \(a_t\) wants to leave location \(l_{a_t}^o\) at time \(t'\) (\(t'>t\)) and move to \(l_{a_t}^d\). Agents will show up (\(t'-t\))-time units before the desired usage time. If pick-up agent \(a_t\) realizes the intended trip by using the vehicle whose type is \(\theta _j\), she obtains positive valuation \(v_{a_t}(\theta _j)\). Also, pick-up agent \(a_t\) has disutility \(-f_{a_t}(x)(\le 0)\) depending on the elapsed time x from \(t'\) required to pick up a vehicle by walking from \(l_{a_t}^{o}\) to the station location or by waiting for the arrival of the arranged car. Pick-up agent \(a_t\) may use a parked car. We assume a virtual drop-off agent \(b_j\) for each parked car. Pick-up agent \(a_t\)’s preference list on the tuple of stations and vehicles can be composed of \(v_{a_t}(\theta _j)\) and \(-f_{a_t}(x)\). We assume that the preference list has no tie.

Agents driving cars are drop-off agents. \(\mathcal {B}_t\) represents the set of drop-off agents at time t. Drop-off agent \(b_j \in \mathcal {B}_t\) whose destination is \(l_{b_j}^d\) tries to drop off the vehicle at the station \(l_{b_j}^{d'}\) nearest to \(l_{b_j}^d\) and walk to \(l_{b_j}^d\). His drop-off station might be different from the nearest station to his destination because the nearest station is occupied, or he enters into a contract with a pick-up agent. In such cases, he has disutility \(-g_{b_j}(x)(\le 0)\) by the delay in arriving at the destination \(l_{b_j}^{d}\), i.e., the difference in time x between the new and original itineraries. Because the driving speed is faster than the walking speed, if he changes his itinerary, x is larger than zero. After pick-up agent \(a_t\) starts using a vehicle, she changes its role to drop-off agent \(b_{j'}\). We allow \(f_{a_t}(x) \ne g_{b_{j'}}(x)\). This is because the pick-up agent may change her trip plan, e.g., she can use public transportation instead or cancel her trip before departure but cannot do so once she has started using the vehicle. Drop-off agent \(b_j\)’s preference list on stations can be composed of \(-g_{b_j}(x)\). We assume that the preference list has no tie. For virtual agent \(b_j\), its preference list has one element of the currently parked station.

Station \(s_i\)’s preference list on pick-up agents is given by the system operator. The system operator can learn pick-up agents’ current locations and the time their usage request is reported. We assume that the preference list has no tie.

For pick-up agent \(a_t\), \((b_j, s_k, a_t)\) denotes the matching contract under which drop-off agent \(b_j\) drops off his car at station \(s_k\), which might be different from the original drop-off station \(l_{b_j}^{d'}\). \(b_j\) might be a virtual drop-off agent corresponding to a vehicle parked at station \(s_k\). \(t_{a_t}((b_j, s_k, a_t))\) is a function that returns the time from \(t'\) required to pick up a vehicle under matching contract \((b_j, s_k, a_t)\) for pick-up agent \(a_t\). \(t_{b_j}((b_j, s_k, a_t))\) is a function that returns the delay in arriving at the final destination for drop-off agent \(b_j\). Here, we assume that the agents and the operators have accurate information on the trip duration between two locations either by walking or driving.

If matching contract \((b_j, s_k, a_t)\) is entered into, the utilities for pick-up agent \(a_t\) and drop-off agent \(b_j\) are represented as follows.

$$\begin{aligned} u_{a_t} &= v_{a_t}(\theta _j) -f_{a_t}(t_{a_t}((b_j, s_k, a_t))) \end{aligned}$$
(10.1)
$$\begin{aligned} u_{b_j} &= -g_{b_j}(t_{b_j}((b_j, s_k, a_t))) \end{aligned}$$
(10.2)

The arguments in the utility functions are measured by time. For example, if a car is dropped off at a station near the current location of a pick-up agent, but the car’s arrival at the station takes a long time, the pick-up agent’s utility would decrease, and she would not confirm such a contract. Once the matching contract is entered into, neither the pick-up agent nor the drop-off agent is allowed to break the contract. Our objective is to find a matching that maximizes a metric the system operator specifies.

4.3 Proposed Mechanism

We propose a novel regulation mechanism for station-based one-way car-sharing systems. The imbalance between vehicle distribution and demand will be reduced through the pick-up agent-station-drop-off agent contract by executing a three-sided matching mechanism, i.e., the adjustment of the drop-off/pick-up station. We assume the system operator holds information on current locations and intended drop-off locations for pick-up agents.

So far, a three-sided matching problem has been studied. In this paper, we extend the mechanism of Zhang and Zhong [51]. They discussed the case where the way of preference is restricted as follows. There are three groups \(\mathcal {B}\), \(\mathcal {S}\), and \(\mathcal {A}\). An element belonging to \(\mathcal {B}\) has a preference for each element of \(\mathcal {S}\). An element belonging to \(\mathcal {S}\) has a preference for each element of \(\mathcal {A}\). An element belonging to \(\mathcal {A}\) has a preference for a product of each element of \(\mathcal {B}\) and each element of \(\mathcal {S}\).

In the context of car sharing, \(\mathcal {B}\), \(\mathcal {S}\), and \(\mathcal {A}\) correspond to drop-off agents, stations, and pick-up agents, respectively. A drop-off agent prefers a station that minimizes the time required to reach the final destination. The station has a preference for pick-up agents based on the service policy of the operator. A pick-up agent has a preference for a combination of cars and stations. Here, although \(\mathcal {B}\) is a set of drop-off agents, a car’s type, such as its size and equipment, can be specified once a drop-off agent is chosen. A pick-up agent can express her preference on the tuple of \(\mathcal {B} \times \mathcal {S}\).

In our mechanism, we introduce a batch size. A batch size means how often the matching mechanism is executed. In the conventional setting of the matching problem, all the participants appear at the beginning. On the other hand, pick-up agents appear sequentially in our setting. Thus, the batch size is a control parameter in our mechanism. If the batch size is set to one, i.e., matching is executed whenever a pick-up agent appears, our mechanism is close to the no-regulation case. This is because few drop-off agents can participate in the matching process. The larger the batch size, the greater the room for adjustment. On the other hand, it asks pick-up agents to declare their preference list in advance, reducing trip planning flexibility.

Mechanism 10.2

(Drop-off/Pick-up Station Adjustment)  

Step 1::

Set batch size to \(n_{ba}\).

Step 2::

Wait until receiving \(n_{ba}\) usage requests.

Step 3::

Determine the set of drop-off agents \(\mathcal {B}_{driving}\) and the set of virtual drop-off agents \(\mathcal {B}_{parked}\). Let \(\mathcal {B} = \mathcal {B}_{driving} \cup \mathcal {B}_{parked}\).

Step 4::

All \(b \in \mathcal {B}\) is active, and let \(M = \emptyset \). M represents the set of accepted matching.

Step 5::

For each active agent \(b \in \mathcal {B}_{driving}\), according to the preference list \(P(b \Rightarrow \mathcal {S})\), propose the most preferable active one in \(\mathcal {S}\) and mark it as s. For each active agent \(b \in \mathcal {B}_{parked}\), propose the one in \(\mathcal {S}\) that b is currently parked and mark it as s. Thus, we get a pair (bs), and all pairs obtained in this way are denoted as K. Let \(K(s) = \{b \in \mathcal {B}|(b, s) \in K\}\), that is, all \(b \in K(s)\) proposed to s.

Step 6::

For the resulting pairs \((b, s) \in K\), according to the preference list \(P((b, s) \Rightarrow \mathcal {A})\), which is virtually equal to \(P(s \Rightarrow \mathcal {A})\), propose the most preferable one in \(\mathcal {A}\) and mark it as a. Thus, we get a triple (bsa), and all triples obtained in this way are denoted as Q. Note that any two different elements (bsa) and \((b', s', a')\) in Q, there must be \(b \ne b'\). Let \(R = Q \cup M\), and \(R|_{\mathcal {A}} = \{a \in \mathcal {A}|(b, s, a) \in R\}\).

Step 7::

For each \(\bar{a} \in R|_{\mathcal {A}}\) according to the preference list \(P(\bar{a} \Rightarrow \mathcal {B} \times \mathcal {S})\), choose the most preferable one in all the pairs proposed to it (if \(M_{\mathcal {B} \times \mathcal {S}}(\bar{a}) = (b'', s'')\), then \((b'', s'')\) is included) and mark it as \((\bar{b},\bar{s})\). Reject the other pairs \((b', s')\) and remove \(\bar{a}\) from the preference list \(P((b', s') \Rightarrow \mathcal {A})\).

Step 8::

If \(M_{\mathcal {B} \times \mathcal {S}}(\bar{a}) = \emptyset \), then let \(M := M \cup \{(\bar{b}, \bar{s}, \bar{a})\}\), and marked \(\bar{b}\) and \(\bar{s}\) as inactive. If \(M_{\mathcal {B} \times \mathcal {S}}(\bar{a}) = (b'', s'')\) and \((\bar{b}, \bar{s}, \bar{a}) \ne (b'', s'', \bar{a})\), then let \(M = M \cup \{(\bar{b}, \bar{s}, \bar{a})\} \backslash \{(b'', s'', \bar{a})\}\), and marked \(\bar{b}\) and \(\bar{s}\) as inactive, \(b''\) and \(s''\) are reactivated.

Step 9::

If there is at least one rejected pair of \((b', s')\), repeat Steps 5, 6, 7, 8.

Step 10::

Repeat Steps 5, 6, 7, 8, 9 until each \(a \in \mathcal {A}\) has her matching contract or has no more choice on pairs (bs).

Step 11::

Let \(\mathcal {S'}\) be the set of stations with at least one empty spot that have not rejected any drop-off users having contracts during the period. Then, if nonvirtual drop-off users have no contract, determine their parking stations using the Serial Dictatorship mechanism. That is, they are ordered by some criteria and, in turn, select the most preferred parking station from \(\mathcal {S'}\). If, after this process, there are still drop-off users who do not have a parking station, they turn to the next matching period.

 

By Step 11, when a drop-off agent’s application for a station is rejected and he is matched with a pick-up agent, other drop-off agents are not allowed to park their cars at the rejected station during the period. This fact will satisfy fairness. Furthermore, the nature of the three-sided matching mechanism by Zhang and Zhong will ensure that stable matching is obtained within the period.

Some existing mechanisms include monetary transfer. For example, in  [43], financial compensation is paid to those who take actions that reduce the imbalance. Although we do not include monetary transfer into a mechanism in this study, it is possible to pay compensation to drop-off agents who change their drop-off station as long as they do not significantly change the preference order.

4.4 Experiment Settings and Simulation Process

We constructed a one-way car-sharing simulator to evaluate the effectiveness and characteristics of our mechanism. Our mechanism was compared with an important previous regulation mechanism and non-regulation scenario. The regulation mechanism by [43] was compared as a baseline with our proposal, although Singla’s mechanism includes monetary transfer among pick-up agents, drop-off agents, and the operator. Non-regulation scenario means that all drop-off users go to their intended drop-off locations, and pick-up agents use cars parked nearest their current locations if doing so offers a non-negative utility.

4.4.1 Experiment Settings

We follow the simulation setting in [45]. We configured the parameters of the one-way car-sharing simulator by referring to the literature [19, 50]. We used the following experiment settings. A service area is a rectangular area 8 km in width and 16 km in length with 13,041 nodes and 25,840 links. To prevent the moving distances from having the same value for multiple routes, we fluctuate each node by a maximum of \(\pm {20}\) m in the x and y coordinates. Each station is located in an approx. 500 m \(\times \) 500 m rectangle. Two parking spots exist in each station, i.e., \(n_{s_i} = 2\) for all \(s_i\). The walking speed is 80 m/min (4.8 km/h). The driving speed is 500 m/min (30 km/h). For pick-up agents, we calculate the larger value of (a) the distance between the pick-up and the current locations divided by the walking speed and (b) the distance between the negotiated drop-off location and the drop-off agent’s current location divided by the driving speed. For drop-off agents, we calculate (i) the distance between the negotiated drop-off and current locations divided by the driving speed + (ii) the distance between the negotiated drop-off and initial drop-off locations divided by the walking speed – (iii) the distance between the initial drop-off and current locations divided by the driving speed. Vehicles are scattered uniformly at the beginning. The number of vehicles \(n_v\) is set to 50 or 150. Demand occurs in intervals of 30 s. The batch size \(n_{ba}\) is set to 5, 10, or 15.

We referred to [19] and constructed reasonable utility functions. The utility function of pick-up agent \(a_t\) is composed of the positive valuation \(v_{a_t}\) obtained by the trip and the disutility obtained by the time x required to pick up a vehicle. Here, we assume that all vehicles are of the same type.

$$\begin{aligned} u_{a_t}(x) = v_{a_t} - 0.0001 \alpha _{a_t} x^4 \end{aligned}$$
(10.3)
$$\begin{aligned} (v_{a_t}, \alpha _{a_t}) \in \{(6,6),(5,5),(4,4),(3,3),(2,2),(1,1)\} \end{aligned}$$

This function means that the pick-up agent can get a parked car at most 10 mins away. One of the above six different parameter values will be assigned to each agent in accordance with a uniform distribution. On the basis of studies such as [25], we assumed that drop-off agent \(b_j\)’s disutility function can be formulated as follows.

$$\begin{aligned} u_{b_j}(x) = -0.21 x \end{aligned}$$
(10.4)

4.4.2 Metrics

We evaluate the proposed mechanism regarding service levels, social surplus, and drop-off agents’ disutilities. Here, the service level is the ratio of the number of users who succeed in picking up a vehicle to the number of users who apply for usage, which is defined as follows.

$$\begin{aligned} {\textit{Service level}} = \frac{{\textit{Potential customers}} - {\textit{No-service events}}}{{\textit{Potential customers}}} \end{aligned}$$
(10.5)

The social surplus is defined as the total utilities of the agents obtained through the service process. It can be denoted as below.

$$\begin{aligned} {\textit{Social surplus}} = (V_a - W_a) - D_b \end{aligned}$$
(10.6)

We denoted the cumulative positive valuations obtained by the pick-up agents for the trips as \(V_a\), the cumulative disutilities suffered by the pick-up agents for the time required to pick up vehicles \(-W_a\) and the cumulative disutilities suffered by the drop-off agents for the delay in reaching the initially intended destination \(-D_b\).

4.4.3 Simulation Process

At the beginning of the process, all vehicles are parked in the service area following a uniform distribution. Then, the system operator takes an application from a pick-up agent. According to the batch size, the matching mechanism is executed. The iteration process finishes when the system operator takes a certain number of usage applications.

4.5 Results

Table 10.1 shows the average service levels, social surplus, and drop-off agents’ disutilities of 4,320 applications over 10 simulations under the different regulation mechanisms. The standard deviation is shown in parentheses. Our mechanism achieved higher service levels and a higher social surplus.

Table 10.1 Simulation results. The standard deviation is shown in parentheses

4.6 Conclusions

We proposed a novel regulation mechanism based on a matching among drop-off agents, stations, and pick-up agents to reduce the imbalance between vehicle distribution and demand in station-based one-way car sharing. Our mechanism introduced three-sided matching to ask drop-off agents to change their drop-off stations to neighboring stations. We evaluated our mechanism with the baseline and a non-regulation scenario in a one-way car-sharing simulator. The experimental results showed that the proposed mechanism achieved higher service levels than those used for comparison.