Implementing Horizontal Cooperation in Public Transport and Parcel Deliveries: The Cooperative Share-A-Ride Problem

: The static share-a-ride problem (SARP) consists of handling people and parcels in an integrated way through the same vehicle, which provides a shared trip between an origin and a destination, in response to requests received in advance. When multiple providers compete on the same market (for instance, within the same city or region), horizontal cooperation can be an efﬁcient strategy to consolidate all requests and to optimize the total payoff. This situation gives rise to the cooperative SARP (coop-SARP). In this problem, multiple depots and heterogeneous vehicles must be considered and different cooperation levels may be agreed upon by service providers. In this paper, we propose a new mathematical programming formulation for cooperative SARP along with theoretical bounds. Moreover, through numerical experiments and ad hoc statistics, we analyze the beneﬁts of different levels of horizontal cooperation between service providers. The results show that cooperation leads to reduced travel times and to improved vehicle occupancy rates, service levels, and proﬁts, which make such a cooperative system even more appealing for service providers.


Introduction
Nowadays, populations, cities, economies, and trade are significantly growing, and they are expected to increase even further in the next years. As a consequence, urbanization and demands for goods and services are increasing. In addition, the digital revolution and recent technological advances have contributed to the growth of the e-commerce industry, for which speed and timeliness of delivery are fundamental [1,2]. While these trends are creating new opportunities, they are unavoidably leading to some emerging challenges. Specifically, the increased freight and passenger activity within the urban area results in road congestion, air and noise pollution, traffic accidents, greenhouse gas emissions, and energy consumption [3,4]. The recent National (USA) Household Travel survey [5] highlighted that, in 2017, the average car occupancy rate showed a stable trend of 1.67 passengers per car. Furthermore, typically, within the city, people and freight transportation are handled separately. These two behaviors contribute to the presence of a large number of vehicles on the road.
In this context, optimal delivery planning is crucial (see, Guerlain et al. [6] and Macioszek [7] for an overview of the available approaches and tools) and new city logistic systems based on more sustainable approaches are becoming more and more popular. Among these, key roles are played by ride-sharing, by the integration of people and parcel delivery, and by on-demand public transportation services. All three approaches contribute to the increase in efficiency and efficacy of people and freight flow management within the city, encouraging higher vehicle occupancy rates, which, in turn, reduce the number of freight and passenger movements, and air and noise pollution. of the vehicles, and the driver shift duration. To make this cooperative scheme fair and to give incentives to service providers to participate, the benefits arising from the coalition are bigger at the aggregate level than those that could be achieved in a noncooperative system. However, determining the optimal redistribution of the rewards is out of the scopes of this paper, and as in Molenbruch et al. [14], we assume the redistribution occurs a posteriori, if needed. Even if the share-a-ride scheme refers to the possibility of transporting people and parcels on the same vehicle, they have different required levels of service. Passengers desire a travel time required to reach their destinations that does not exceed a desired threshold, while parcels have weaker constraints on pickup and delivery times represented by time windows. Consequently, passenger requests have higher priority. Furthermore, we extend the classical SARP by assuming that the number of passengers and parcels that can be simultaneously carried on a vehicle is constrained only by the vehicle capacity in terms of passenger and parcel volumes. Finally, the focus of this work is on the maximization of the system profit and on the enhancement of users' experience (both for passengers and for parcel shippers and consignees). Concerning the system profit, we impose a reward for each passenger and parcel request that is served, and we charge routing costs for each traveled arc, penalties for deviations from the passenger request desired pickup and/or delivery time, and a lost reward for each request not accepted.
The contributions of this paper are the following. First, we introduce the new cooperative SARP and we propose a mathematical model for it. This new formulation captures more realistic features, such as the presence of multiple service providers, of multiple depots, and of heterogeneous vehicles and the possibility of carrying more passengers and parcels simultaneously. Moreover, the most outstanding contribution of this model is the ability to manage also economic factors by considering different degrees of horizontal cooperation among service providers. These different levels of cooperation arise from different agreements on the percentage of individual profit that each service provider wants to be guaranteed with respect to the one they could achieve in a noncooperative setting. The higher this percentage, the less flexible the cooperation. Second, we derive mathematical properties for the bounds of this new type of problem. Third, we generate specific instances for the coop-SARP that are based on the maps of real metropolitan road networks. Finally, through numerical experiments, we assess the benefits of cooperating both in terms of the whole coalition and at the individual service provider level.
The paper is organized as follows. Section 2 presents a review of the literature connected to the coop-SARP, while in Section 3, the mathematical model is formulated and theoretical properties are derived. Section 4 provides an illustrative example. Section 5 describes how new map-based instances are generated and presents the computational results. Finally, Section 6 presents the conclusions and future research directions.

Literature Review
The SARP was proposed for the first time by Li et al. [13]. In their work, the authors provide a description of the problem and present multiple mathematical formulations. In its classical version, the model accounts only for one depot and homogeneous vehicles. Furthermore, the authors do not consider service times or violations of desired pickup and delivery times and they do not model the situation in which the same vehicle serves two passenger requests one after another. Only a limited number of papers have provided extensions to this problem. Li et al. [15] included service times and a penalty for the violation of parcel time windows, and they considered two sources of uncertainty for this problem, which are stochastic travel times and delivery locations. Another extension is the share-a-ride with parcel lockers problem (SARPLP) by Beirigo et al. [16], who considered shared autonomous vehicles (instead of taxis) that carry more passengers and parcels of different types simultaneously.
A common feature of all these papers is an assumption of the presence of a unique service provider, while in real-world applications, there may be multiple service providers offering ride-sharing transportation services within the same area. Our work contributes to filling this gap in the literature in two ways. First, we consider multiple service providers, each one with its own depot and a different vehicle fleet. Second, we ensure that the benefits arising from horizontal cooperation for this problem will be fair for each participant. A pioneer work in this regard is represented by Molenbruch et al. [14], who, through a realcase study, analyzed the benefits arising from the cooperation of service providers for the DARP and identified the reduction in empty trips as the main reason for lower costs.
To the best of our knowledge, no work exists considering horizontal cooperation for the SARP.
Enlarging the focus to the methodologies used for the DARP, they can be classified in two classes: exact and heuristic algorithms. Because in this paper we are only interested in analyzing exact solutions, our review focuses uniquely on the first class.
Within the exact methods, there are the ones based on the classical Branch and Bound (B&B) paradigm. However, the standard B&B applied to the DARP is very slow to converge and is computationally cumbersome. As a result, more sophisticated techniques have been developed to speed up the computation, such as Branch and Cut (combining B&B and cutting planes techniques; see Cordeau [35], Ropke et al. [36], and Braekers and Kovacs [37]) and Branch and Price (combining B&B with column generation techniques; see Garaix et al. [31] and Feng et al. [38]). In Gschwind and Irnich [39], a combination of Branch and Cut, and Branch and Price is implemented, and up until now, this has been the best performing exact algorithm for the standard DARP. Nevertheless, for this problem, exact techniques solve instances with up to only eight vehicles and 96 requests in reasonable runtimes. For variants of the standard DARP, the maximum size of the instances that can be solved using exact methods is even smaller. Because most realworld problems are much bigger than the maximum solvable size, developing heuristic algorithms could become a necessity.

Model Formulation
In this section, we present the mathematical formulation for the coop-SARP. We represent the set of service providers (i.e., depots) within the city using M, and the set of requests is denoted by C. This set can be defined as C ≡ ∪ m∈M C m , i.e., the union of requests over all service providers, or as C ≡ C p ∪ C f , i.e., the union of all passenger and parcel requests, respectively. From this notation, it follows that C p m represents the passenger requests for service provider m and that C f m stands for the parcel requests for service provider m. Each request has an origin point O c , a destination D c , both with their loads standing for the number of passengers or volume units of parcels associated with the request.
The problem can be represented on a complete directed graph G ≡ (V, A), where V ≡ O ∪ D ∪ H, with O standing for the set of all request origins, D for the respective destinations, and H for the set of depots. Each service provider m has one depot, each one doubled in two different nodes, namely the depot exit h m and the depot entry h m , both in H. Each node i is associated with a load q i , such that q i = 0 if i = h m , h m , m ∈ M; q i ≥ 0 if i ∈ O; and q i ≤ 0 if i ∈ D, and it is consistently associated with a service time s i , which is the time required to load or unload a request. If two origins or destinations are both in node i, we double the node to let each node act as an origin or a destination of a specific request. We assume that each parcel request c ∈ C f must be satisfied within a time window [e i , l i ], where e i and l i stand for the earliest and the latest times, respectively, while each passenger request c ∈ C p has a desired time U O c for the picking and a desired time U D c for the delivery operation. Each arc (i, j) ∈ A is characterized by a cost d ij and by a travel time t ij . We let K m be the set of vehicles owned by service provider m ∈ M and K is the set of all vehicles, K = m∈M K m . Each vehicle has a known capacity for passengers Q p k , a known capacity for parcels Q f k , and it is led by a fixed driver whose maximum working time per day is denoted by T k .
We let the binary variable x k ij be equal to one if arc (i, j) ∈ A is traversed by vehicle k ∈ K and zero otherwise. The binary variable y k c is equal to one if request c ∈ C is served by vehicle k ∈ K (zero otherwise). For our formulation, the binary variables representing outsourced requests are not explicitly declared but the model can be easily extended to accommodate this situation. Furthermore, the integer variable w k i represents the load of vehicle k ∈ K in terms of passengers after visiting node i, while the integer variable λ k i stands for the load of vehicle k ∈ K in terms of parcels after visiting node i. The continuous variables l k O c represent the discrepancy between the real serving time and the desired serving time U O c of origin O c of the request c ∈ C p by vehicle k. Similarly, the continuous variables l k D c represent the discrepancy between the real serving time and the desired serving time U D c for destination D c of the request c ∈ C p by vehicle k. To model times, we introduce two types of continuous variables: u k i , which represents the time at which vehicle k ∈ K starts serving node i, and r k c , which denotes the ride time of passengers in request c ∈ C p . For this latter quantity, we impose a maximum ride time r c representing the tolerated excess in the passengers' ride time.
Finally, the objective of our model maximizes the system profit and improves customers' experience. We consider request-dependent rewards η c , c ∈ C p ∪ C f , which are gained for each served passenger and parcel request. If the service providers cannot serve all parcel requests, some of them should be rejected and outsourced to the freight network. While outsourcing costs are not explicitly included in our model, we consider the lost reward for not accepting a request as an opportunity cost for the system and we denote it by ρ c . Concerning cost components, we denote the routing cost of arc (i, j) by d ij and a penalty cost γ for each time unit deviation of the passenger pickup or delivery time from the desired time, i.e., U O c and U D c . Table 1 summarizes all sets, variables, and parameters. Table 1. Sets, parameters, and variables for the coop-share-a-ride problem (SARP) (2)- (27).   The coop-SARP(α) model can be formulated as follows:

Sets
The objective function (1) maximizes the total profit, obtained as a difference between the rewards (for each served passenger and parcel requests) and costs (routing, penalty for deviations from the passenger desired pickup and/or delivery time, and lost reward for not accepting a request). Constraints (2) and (3) define the deviation of the actual servicing time from the desired one. Constraint (4) links variables x k ij and y c by imposing that, if an origin node is visited, then the associated request (for passengers and parcels, respectively) is satisfied. Constraint (5) guarantees that each used vehicle departs exactly from one depot. Constraint (6) imposes that, if a vehicle of service provider m exits from a depot, it also returns to that depot while constraints (7) and (8) ensure that, if a vehicle of service provider m is selected, it exits and returns to the depot of service provider m through exactly one arc. Constraint (9) guarantees that each request origin is served by one vehicle until the destination is reached, and constraint (10) is the flow constraints. Constraint (11) defines the time at which node j is visited by vehicle k, which is greater or equal to the time at which the previous node is visited, plus the service time at the previous node and the travel time between node i and j, while constraint (12) defines the riding time for each passenger's request. Constraint (13) imposes that the riding time for each vehicle cannot exceed the maximal route duration. Constraint (14) stands for the parcel's request time window, and recalling that passengers ride times cannot exceed a desired upper bound, constraint (15)  This model is the mathematical formulation for the multi-depot heterogeneous SARP with no consideration for the economical aspects or for their impact on compliance. In fact, for the formulation of the coop-SARP, additional requirements are needed. The cooperation among service providers has to guaranteed fairness among them. Hence, we introduce a new set of constraints to maintain fairness in the payoff with respect to what the payoff service providers could achieve in a noncooperative context. The fairness constraints follow: where α stands for a percentage value and P Ncoop m is the profit of the noncooperative SARP (Ncoop-SARP) model for company m. The noncooperative solution is obtained by solving model (1)-(27) without constraints (28) but with the additional constraints ∑ k∈K m y k c = 1, c ∈ C m , and m ∈ M. These latter constraints ensure that each request is assigned to its service provider, and hence, it provides us with the noncooperative solution. The noncooperative profit P Ncoop m is obtained using the left-hand side of constraint (28) and the noncooperative solution for the x and y variables.
Finally, the above model is nonlinear. To linearize it, we first rewrite constraints (11) and (16)- (19) as linear expressions in the problem variables using the big-M technique (the interested reader can refer to [40][41][42] for more details). This is done by replacing constraints (11) and (16)- (19) with the following ones: Constraints (32) and (34) are not constraints on variables but instead rules for choosing the parameters W k ij and B k ij , respectively. These parameters are big enough to not impact the solution, but they are restricted in order to keep the formulation efficient. In this sense, theh parameters can be precomputed according to the rules provided in (32) and (34) without inserting those constraints into the model. Second, we reformulate constraints (2) and (3) in the following way: where M stands for a big number. Nevertheless, due to the presence of absolute values in the above reformulated constraints, we substitute constraints (35) and (36) with the following ones:

Properties
The feasible region of the proposed model is expected to overlap when different values of α are considered. Let coop-SARP(α) denote the model with cooperation level α. In the following, we explore the connections between the solutions produced for different α values and we compare them to the noncooperative model Ncoop-SARP.
Let Proof. The Ncoop-SARP formulation only differs from the coop-SARP(α) formulation in the additional constraints ∑ k∈K m y k c = 1, c ∈ C m , and m ∈ M, imposing that each service provider has to serve only its own requests and in not having constraint (28). Thus, the Ncoop-SARP formulation is more restricted than the coop-SARP(α) formulation, i.e., each feasible solution for the Ncoop-SARP formulation is also feasible for the coop-SARP(α) one, provided that P m is evaluated according to the feasible chosen solution. In particular, the optimal solution of the Ncoop-SARP formulation is always feasible for the coop-SARP(α) formulation for any α ≤ 1. Therefore, Θ coop−SARP(α) ≥ Θ Ncoop−SARP .
The following property guarantees that the performance in terms of objective function improves as we relax the constraints for maintaining profit. Proof. The claim follows from the fact thatm if constraint (28) is satisfied for α 2 , they are surely satisfied for α 1 since the right-hand sides are less restrictive. Proof. The claim directly follows from Proposition 2.

Case Study
In order to illustrate the benefits of horizontal cooperation in SARP models, we introduce a map-based example for the city of Paris with 10 requests. We compare the following four cases: • The result of the model without cooperation • The result of the cooperative model with α = 100% • The result of the cooperative model with α = 80% • The result of the cooperative model with α = −∞ In Figure 1, the route plans of two different service providers (blue and red) obtained with different models and α values are represented. Figure 1a shows the usual noncooperative scheme in which each service provider serves its own customers realizing a total profit of 11,035, of which 5567 are related to the blue service provider and 5468 are related to the red service provider.
Conversely, Figure 1b represents the route plan obtained with the coop-SARP(α) model with α = 100%, i.e., the model ensures that the profit of each service provider has to be at least the one they have in a noncooperative context. In this case, the total profit increases to 11,553 (+4.6%), with an individual increase for each service provider of +2.19% and +7.24%, respectively. Even if the number of customers served by each service provider remains stable, the growth of profits is possible thanks to the modified route plan, which allows them to save routing costs while maintaining balanced routes.
When α drops to 80%, as in Figure 1c, the resulting route plan is less balanced than the previous one. The model ensures that the profit of each service provider has to be at least 80% of the one they have in a noncooperative context, and hence, a service provider could earn less for the sake of improving the total profit. In this case, the total profit increases to 11,643 (+5.5%) with individual increases/decreases for each service provider equal to −12.95% and +24.31%, respectively. We note that, in this setting, a further improvement on the total profit could be obtained but some unfairness issues could be raised by service providers experiencing lower profits. This unfairness source is somewhat limited by the α value. Imbalances can be found also in the number of served customers, −20% and +20%, respectively.
Finally, unfairness could increase up to the extreme case where no thresholds on the losses are imposed, i.e., α = −∞, as shown in Figure 1d. In this case, the total profit increases to 11,793 (+6.87%) with individual increases/decreases for each service provider equal to +41.47% and −28.34%, respectively. These values would seriously affect the compliance of the service providers to the coalition, and the gain in terms of total profit with respect to a balanced route plan (as with α = 100%) is less than humble. As a side effect, the imbalance in terms of served customers is even greater than the previous case.
The goal of the proposed formulation is to provide tools to foster cooperation among service providers while optimizing profits. This example suggests that a balanced approach to cooperation in terms of individual profits can be more satisfactory for agents and could increase the appeal of the system. At the same time, it could provide solutions with costs close to those obtained by full cooperation, i.e., α = −∞.

Computational Results
In this section, we provide a description of the instances (Section 5.1), the solution and model-based statistics (Section 5.2), and the results obtained (Section 5.3). All models and the procedure for the generation of the instances are implemented in Java v.8 and solved using CPLEX 12.6.0 on a Windows 64-bit computer with Intel Xeon processor E5-1650, 3.50 GHz, and 16 GB Ram. Before solving the models, the preprocessing techniques described in Cordeau [35] have been applied to speed up the computation.

Instance Generation
Because of the lack of benchmark instances for the cooperative SARP, we generate the following four groups of instances differing for the number of requests and service providers: • Group A: eight requests equally distributed between two service providers • Group B: ten requests equally distributed between two service providers • Group C: six requests equally distributed between three service providers • Group D: nine requests equally distributed between three service providers Within each group, 40 instances are generated by choosing four different European metropolitan road networks: ten instances from Berlin, ten instances from Rome, ten instances from Paris, and ten instances from London. In total, we obtain 160 instances. Moreover, each instance is solved both in the noncooperative and cooperative settings. For the latter, three different values for α are considered, i.e., α = 80%, α = 90%, and α = 100% (we note that, beyond 100%, the solution may be infeasible because the service providers may not all simultaneously achieve a profit higher than the one in the noncooperative setting). Hence, each instance is considered under four different cooperative settings, leading to 640 instances in total.
Each request is represented by a couple of nodes (one for pickup and one for delivery). The nodes are taken from OpenStreetMap, and their features are extracted via Graphhopper. We first draw a rectangle corresponding to the city center ring, and then, the depot and the pickup and delivery address for each request are randomly chosen from the road network. Finally, the latitude and longitude for each node are returned together with the asymmetric distance matrix. In fact, the Graphhopper API allows us to extract the real distances also considering one-way streets, cars as means of transport, and minimum travel times as objectives for the shortest path from a point to another point. Moreover, each passenger request involves at most one person while each parcel request encompasses a volume that is uniformly randomly drawn from the interval [0, Q f k ]. Time windows are created by solving a traveling salesman problem (with objective function 1 and with the aim of obtaining a feasible solution) on the customers of each service provider to determine the period at which the vehicle arrives at each customer. Then, to define the time window lower and upper bounds, we subtract and add 1000 s (around 16 min) to the desired visiting period, respectively, so that we obtained time windows of about half an hour. Table 2 displays the parameter values shared across all instances. Specifically, it contains the number of vehicles, the reward for each accepted request, the penalty for deviations of the passenger pickup from the time window, the penalty for not accepting a request, the service time at a node, the maximum ride time for each passenger, the maximum route duration, the maximum number of passengers, and the maximum number of parcels that can be carried simultaneously.

Statistics
For each solution, we collected two categories of problem-based statistics, i.e., statistics for the whole system and statistics based on each service provider.
The statistics concerning the whole system are as follows: • Objective function value, computed as Θ(α). • Profits, computed as rewards minus routing costs, i.e., Lost rewards, i.e., ∑ c∈C ρ c (1 − ∑ k∈K y k c ). The statistics concerning the single service providers are as follows: • Percentage of increase in served passenger requests with respect to the noncooperative setting, where the percentage of served passenger requests for a service provider is defined as ∑ c∈C p m ∑ k∈K m y k c / | C p m |. • Percentage of increase in served parcel requests with respect to the noncooperative setting, where the percentage of served parcel requests by a service provider is defined Average occupancy rate of vehicles by passengers, computed as the time in which at least one passenger is carried over the total routing time, where the occupancy rate for each vehicle is computed as ∑ i∈V ∑ j∈V x k ij d ij ω k i / ∑ i∈V ∑ j∈V x k ij d ij . • Average occupancy rate of vehicles by parcels, computed as the time in which at least one parcel is carried over the total routing time, where the occupancy rate of each vehicle is computed as Average, minimum, and maximum increases in the profit of each service provider with respect to the noncooperative setting, where the profit is computed as the difference between rewards and routing cost, i.e.,

The Coop-SARP(α) Model against the Ncoop-SARP Model
In this section, we describe the results obtained by solving the coop-SARP(α) model for different values of α and we compare them to the noncooperative case, i.e., the Ncoop-SARP model (NC in tables and figures).
First, the behavior of the models in terms of CPU time and problem complexity is analyzed. Table 3 summarizes the model-driven statistics. From the third column of the table, we observe that the CPU runtime is highly affected by the number of requests in the considered instances. The highest CPU runtime is the one required for solving instances of group B (ten requests) and it is the lowest for instances of group C (six requests). By analyzing the CPU runtime for different levels of cooperation, the fastest case to solve is the noncooperative one because the decision about which service provider has to perform a service has not be made. For instances with a higher number of requests for each service provider (i.e., group A with four requests per service provider, and group B with five requests for service provider) and a cooperative setting, the closer the desired individual profit to the one of the noncooperative model, the higher the CPU runtime, despite the same number of variables and constraints. However, we cannot observe the same behavior for instances of groups C and D, where the number of service providers has been augmented but the number of requests per service provider has been lowered. Hence, there is no evidence of a direct connection between the level of cooperation and CPU time. To summarize, the results show that the complexity of the model increases due to the introduction of the cooperative setting in the model and by increasing the number of requests. Second, we present the results concerning the statistics for the whole system. Figures 2 and 3 represent the total objective function values and the profit (computed as the difference between the rewards and the routing costs) for the noncooperative setting and for the cooperative one with different levels of α, respectively. In both figures, the objective function and the profit in cooperative settings are higher than the ones in the noncooperative model. Moreover, the lower α, the higher the objective function and the profit. Recalling that lower levels of α stand for lower profit requirements from the individual service providers with respect to the profit they could achieve in noncooperative settings; this result suggests that the less pretentious service providers are, the higher the global benefit. Finally, the magnitude of the objective function and of the profits are proportional to the number of requests, i.e., higher for instance group B with ten requests and lower for instance group C with six requests.    Figure 5 shows the lost reward across the different instance groups and for different cooperation levels. Once again, the benefits deriving from cooperation are outstanding, especially for instances with a high number of requests. However, the lost reward is stable for different levels of α, suggesting that the requirement of a minimum level of profit in the cooperative case with respect to the noncooperative one does not play a crucial role in the amount of lost rewards. Finally, having presented the metrics on how the model affects the whole coalition, statistics related to the impact on each service provider are analyzed. Table 4 presents the statistics associated with the service level in terms of increase in served requests with respect to the noncooperative case. Independently from the α parameter, the cooperative settings always allow for serving more passengers and parcels. The percentage of satisfied passengers and parcels dramatically increases implementing the coop-SARP(α) model, in most cases, more than 10%. The increase in the percentage of served passengers and parcels is lower for instance group C. This result is due to the presence of a few requests and a low number of requests per service provider, which allow the service providers to satisfy almost all requests also in the noncooperative setting. However, the contribution of the cooperation to the service level becomes more crucial as the number of requests per service provider decreases, as suggested by results on instances with a higher number of requests. The motivation relies on the fact that the lower the number of requests per service provider, the more flexible the system because it is easier to serve requests.  Table 5 presents the statistics associated with vehicle occupancy both in terms of passengers and parcels with respect to the noncooperative case. Independently from the level of cooperation α, the cooperative settings always accommodate passengers and parcels in such a way that the route plan is more efficient. In fact, the percentage of the routing time in which passengers and/or parcels are carried increases. The magnitude of the improvement in the occupancy rates depends on the instance size, but efficiency is always improved by at least 29.2% up to 67.7%. This result is explained by the higher number of served requests in the cooperative context and, hence, a better efficiency control with respect to the noncooperative setting.  Table 6 shows the distribution of the growth of profits among service providers joining the coalition with respect to the noncooperative case. Here, the α parameter shows its crucial role. Using α values lower than 100% allows the model to realize negative profits for a few unlucky service providers. Although this phenomenon could surely happen (see instances C and D for α = 80, 90%), the minimum increase is always negligible with respect to the maximum increase, which is always far superior. In addition, the average value is always very high, suggesting a general trend where the model rewards all service providers. Obviously, unfairness increases with lower values of α. For this reason, the coalition should agree in advance with the α level that is acceptable for all service providers. In fact, as shown in the detailed example in Section 4, without imposing constraints on the realized profit, severe unfairness issues arise.
Finally, in Table 7, the increase in terms of workload, i.e., travel time, with respect to the noncooperative case is shown. For profits, the table shows the best (Min (%)), the worst (Max (%)), and the average case (Avg. (%) to let the reader understand the distribution of the increase in workload. Although the workload globally increases because more requests are served, for instances, in groups B, C, and D, the average workload decreases and, in group A, it only slightly increases, the minimum workload increase is always significantly low and, in most cases, it effectively counterbalances the maximum increase. Table 6. Maximum, minimum, and average increases in terms of profits among service providers.

Conclusions
In this paper, we proposed a novel mathematical programming formulation, i.e., the coop-SARP, which, starting from an extension of the classical SARP, includes more realistic features of the problem as the presence of multiple service providers (each one with its own depot and a different vehicle fleet) and the presence of horizontal cooperation among them. The proposed formulation is capable of considering different levels of cooperation, and theoretical results on the lower and upper bounds have been derived. Due to the lack of benchmark instances in the literature for this problem and to let computational results represent real-world cases, we generated map-based instances from four European metropolitan road networks. Through numerical experiments and ad hoc devised statistics, we analyzed the benefits of different levels of horizontal cooperation in SARP models. The results show that all agents in the system benefit from horizontal cooperation. First, travel times decrease considerably and the occupancy rates of vehicles improve. This is an important finding for a city logistic context in which congestion reduction is one of the priorities. Second, the number of satisfied requests increases with respect to a noncooperative setting. This leads to an improved service level, from which customers can benefit. Finally, we showed how an agreed balanced approach to cooperation may yield more satisfactory profits for service providers and, hence, increase the appeal of the system.
Multiple future developments could arise starting from this study on cooperation in SARP models. Additional problem characteristics could be considered, such as multimodal trips or the possibility of transferring passengers and parcels between vehicles. Moreover, our model-based statistics show that small instances for this problem are already challenging to be solved by an off-the-shelf solver in reasonable runtimes. For this reason, an interesting research direction could consist in the development of metaheuristics for this problem to address larger and more realistic instances. Finally, a new set of benchmark instances for the coop-SARP could be proposed by extending the instances available in the literature for the SARP and for the DARP.