An Incremental SAT-Based Approach for Solving the Real-Time Taxi-Sharing Service Problem

. This paper deals with a combinatorial optimization problem that models real-time taxi-sharing services; this problem has gained much attention in the areas of both artiﬁcial intelligence and computational social science. When a passenger α sends a demand to a taxi control center, the center tries to ﬁnd an optimal solution to assign an appropriate taxi and re-plan its route for the demand so that the service can minimize the sum of the planned travel time for all served passengers (including α ) who are allocated to the same taxi. Because ﬁnding a feasible solution to the real-time taxi-sharing service problem is NP -hard, most previous studies have focused on developing a semi-optimization algorithm based on well-known metaheuristics. We propose a novel algorithm based on incremental Boolean satisﬁability solving with an extensible framework, to optimize the taxi allocation for demands occurring in real time. Our formulation is also suitable for other objective functions with small changes to the weighted constraints. The experiments, which are based on real-map data using a modiﬁed simulation of urban mobility, show that our new approach achieves higher performance with a reasonable computational cost compared to an existing insertion method that has been functioned in a real service application.


Introduction
In modern cities, the increasing demand for personal mobility requires good transport services that provide a friendlier alternative to private cars while maintaining usability. Recently, several ride-sharing systems have emerged, that use online-enabled platforms to connect drivers who have empty seats in their cars to people who need a ride. In this paper, the problem of planning and scheduling a set of taxis to transport a number of passengers from their pick-up locations to their drop-off locations at specific times is called the real-time taxi-sharing service problem (RTSS). The motivation for this work is that, if RTSS can be solved efficiently, providing a convenient and flexible mode of transportation to passengers would be possible.
RTSS is a synthetic combinatorial optimization problem, which is not only strongly related to the multiple traveling salesmen problem [5] with time windows but also further considers the constraints of the vehicle routing problem [29] with pick-up and delivery [6]. RTSS is also very similar to the integrated dial-a-ride problem (IDARP) [23], which integrates the ride-sharing services provided by a set of designated vehicles with their already existing fixed routes. Both RTSS and IDARP are based on real-time on-demand allocation but differ in that, in the latter, each vehicle is limited to travel from its source to destination with possible detours.
To the best of our knowledge, there are no algorithms that can efficiently solve RTSS in the worst-case scenario (e.g., peak time in a largely populated area) when fully considering all potential ride-sharing. For example, for all taxis, replanning of all of their unfinished and shiftable (i.e., not on-board yet) demands, or further dealing with transfer situations [8]. Because the high-frequency demand occurrence and the limited taxi speed lead to a sustained and rapid growth of the unfinished job list for each taxi, which reflects execution slow down on an increasing search space. It is significant that a real-time application has a reasonable execution time. Therefore, in this paper, we focus on allocating a taxi and re-planning its route in real time only for fresh demands without changing other taxi routes.

Related Work
RTSS is usually formulated as an integer programming (IP) problem. Because finding a feasible solution to RTSS is N P-hard, as shown in Santos and Xavier [26], most previous studies have focused on developing semi-optimization algorithms based on well-known heuristics, such as the genetic algorithm or local search. Baldacci et al. [3] proposed both an exact and a heuristic method to solve the car-pooling problem based on two IP formulations. In Herbawi and Weber [13], a generational genetic insertion heuristic to solve the IP formulation of a dynamic ride-matching problem with a multi-objective function was presented. In Agatz et al.
[1], a simplified real-time ride-sharing problem with a simulation environment based on real-world data, in which each driver can pass through only one pick-up and delivery location, was modeled as a maximum-weight bipartite matching problem and was solved using the optimization software Cplex. Alonso-Mora et al. [2] also simplified the pick-up and delivery problem to a segmented requestvehicle graph, and reduce it into an optimal assignment problem by IP modeling. Huang et al. [15], presented a method for large-scale real-time ride-sharing and used a real dataset to compare it to some general methods, such as the branchand-bound algorithm and the IP approach. In Xu et al. [31], a heuristic based on user historical data for consideration of both immediate rewards and future gains was utilized to optimize driver-order dispatch.
In addition, Gørtz [11] analyzed the computational complexity of preemptive finite capacity dial-a-ride, and Simonin and O'Sullivan [27] provided a basis for the development of efficient methods and heuristics. These two studies are based on Boolean satisfiability constraints. According to the results of MaxSAT Evaluation 2017, overall, the performances of maximum satisfiability (MaxSAT) solvers are much better than those of Cplex, MaxSAT techniques may be comparable to IP method for solving the combinatorial optimization problems. 1

Contributions
Instead of the traditional IP modeling, we present an approach that is based on Boolean satisfiability testing for solving RTSS. Our approach can be divided into the following two parts: (1) a MaxSAT encoding, and (2) an incremental algorithm. We separate the constraints only related to 0-1 variables in RTSS, and formulate them into the first part. The rest of the constraints are handled by the second part. According to the particularity of RTSS, we also propose a new encoding method for Hamiltonian path constraint and give a proof of its correctness, which are the theoretical contribution of this paper. In our implementation, we modify a well-know traffic simulator and the proposed method is compared with an existing method that has been applied in a real RTSS system. Source code and external libraries for our experiments are available at https://github.com/ReprodSuplem/RTSS/.

The RTSS Problem
This is a system in which a fresh demand is sent to a taxi control center. The center tries to find an optimal solution of RTSS, i.e., how to assign an appropriate taxi and re-plan its route to take into account current demands and to minimize the sum of the planned trip times of all passengers who are allocated to the taxi corresponding to the new demand. 2 Then, the demand will be accepted if a solution is found; otherwise, the demand will be rejected. Each demand contains a pick-up point L, a drop-off point R, an earliest departure time D, a latest arrival time T , and the number of passengers N . Note that, in this paper, each occurring demand will be pushed into a chronological queue. Once a demand is rejected or accepted, it will be popped out of this queue. Therefore, all demands will be orderly processed one by one.
Mathematically, in RTSS, we are given a complete directed graph G = (f, V, E) for each on-duty taxi, where f : E → V × V . The set of vertices V represents all the locations, which consist of the current point O, the unfinished pick-up points P i , and the drop-off points Q i of the accepted demands, as well as the pick-up point L and drop-off point R of the new demand. We denote the set of the unfinished pick-up points as Φ, where Φ = {P 1 , P 2 , . . .}, and denote the set of unfinished drop-off points as Ψ , where Ψ = {Q 1 , Q 2 , . . .}. Note that the size of Φ, i.e., |Φ|, must be less than or equal to |Ψ | and that the number of on-board passengers is |Ψ |−|Φ|. Each edge in the set of E indicates a possible link, denoted as v i , v j , where v i , v j ∈ V , that directly connects the corresponding combinatorial pair of location points. 3 Assume that the cost time of such a link, denoted as w vi,vj , can be easily estimated. For each taxi, all of the cost times of the links comprise an asymmetric time matrix shown in Fig. 1. · · · · · · w L,Q 2 We define a taxi route as a vector of head-to-tail connected links that represents a sequence of location points consisting of the vertices in V . RTSS involves finding a route for each taxi that is subject to the following constraints.
Order constraint: The first point of a route must be the taxi's current location and a served passenger must be dropped off after being picked up. Deadline constraint: Each served passenger whose demand has been accepted but is unfinished must be picked up at the set location point P after the corresponding earliest departure time D and must be delivered to the set location point Q before the corresponding latest arrival time T . Capacity constraint: Each taxi cannot carry more passengers than its capacity. Monopoly constraint: The pick-up point L and the drop-off point R of the new demand must be assigned to the same taxi. HP constraint: For the taxi that is assigned the new demand, its route must be a Hamiltonian path (HP), denoted H = (δ, V, E), while for each of the taxis that are not assigned to the new demand, each of their routes must also be an HP, denoted E ⊆ E, and δ are the constraints that guarantee that the route is an HP.
The typical optimization objective function is based on the model of the shortest path problem (SPP) [10] to ensure energy conservation and environmental protection. However, the typical objective maybe leads to highly imbalanced solutions in some cases (e.g., when all the requested pick-up points and drop-off points occur on a straight path). If no restriction is imposed on the number of points to be visited by each taxi, RTSS is an ill-posed problem: the optimal solution is obtained when one taxi takes all the demands. Therefore, in this paper, we focus on minimizing the sum of the travel time of all served passengers who are allocated to the taxi that corresponds to the fresh demand; such optimization can effectively offer better service. Formally, the objective of most existing research is to minimize the total travel time of all served passengers (i.e., the min-sum objective). Considering that continuous demand allocation occurrs in a time series, our objective can be regarded as the min-max objective, which is equivalent to minimize the time that the taxi spent most of the time; such a min-max objective function is more valuable to industry research of taxi-sharing service. We will show that these two different criteria can be easily adapted via small modifications to the weighted constraints.

MaxSAT Encoding
A well-known Boolean satisfiability problem (SAT) was the first problem shown to be N P-complete [9]; in this problem, determining whether there exists a truth assignment that satisfies a given Boolean formula is necessary. 4 Typically, a Boolean formula is expressed in conjunctive normal form (CNF), which consists of a conjunction (i.e., logic and ) of one or more clauses. A clause is a disjunction (i.e., logic or ) of one or more literals, and a literal is an occurrence of a Boolean variable or its negation (i.e., logic not).
MaxSAT is an optimal version of SAT [17]. In the weighted partial MaxSAT, the problem instance is typically expressed as a set of hard and soft clauses, where each soft clause has a bounded positive numerical weight. The problem is to find a model that satisfies all the hard clauses and maximizes the sum of the weights of the satisfied soft clauses. Formally, we denote a MaxSAT formula as where the first m clauses are hard and the rest are soft. Solving a MaxSAT instance F amounts to finding an assignment that satisfies all m i=1 C i and maximizes n i=1 (w i C m+i ). Technically, F can be solved via the resolution of a sequence of SAT instances associated with pseudo-Boolean (PB) constraints encoding [25] as follows: is satisfiable if and only if F has an assignment A whose optimum answer (i.e., If the optimal assignment of F is A and its optimum answer is n i=1 w i − k opt , then the SAT problem F k for k ≥ k opt is satisfiable, while the problem for k < k opt is unsatisfiable. Therefore, searching for the optimum answer for F means finding the precise location of this transition from satisfiable to unsatisfiable CNF formulas. MaxSAT solvers based on the above-mentioned approach are usually called satisfiability-based solvers, which is the term used in the remainder of this paper.
Definition 1. Let X = {x 1 , x 2 , . . . , x n } be a set of n Boolean variables. We have the following naive CNF encodings corresponding to three special cases of cardinality constraints for X as follows.
At most one constraint:

Two Types of Boolean Variables
In our MaxSAT encoding, there are two different types of Boolean variables that will be used. One type indicates whether a link a, b is a sub-path of its taxi route. For the sake of convenience, we also denote this type of Boolean variable as a, b . For example, if a, b = 1, then we know that the taxi has arranged a route in which it will go directly to location b when it departs from location a; otherwise, location b cannot be the next arrival point from location a. The other type of Boolean variable is denoted as − → a, b, which indicates a directed reachability. For example, − → a, b = 1 means that the taxi has arranged a route where it can access location b via location a. In these two types of Boolean variables, the pair of parameters a and b cannot be identical vertices in V for a specific taxi; this is restricted by blocking the corresponding variables. For each pair of these two types of Boolean variables, we have a related implication rule as follow: (1)

HP Constraint for RTSS
There are several previous works related to encoding HP constraint to CNF, which includes the log encoding proposed in Iwama and Miyazaki [16], the absolute encoding presented in Hoos [14] and the relative encoding described in Prestwich [24]. In contrast with encoding a naive HP constraint, solving RTSS need to further consider encoding objective function that concerns the relative positions of taxi's via points with respect to each other in its permutation. Therefore, our encoding is based on the relative encoding, while holding a different idea in ensuring edge connections.
To encode the HP constraint, we constructed a connective network of the two types of Boolean variables with the following four laws.
Chain transition law: For each taxi, for any three different locations a, b, and Confluence law: For each taxi, for any three different locations a, b, and c, Ramification law: For each taxi, for any three different locations a, b, and c, Acyclic law: For each taxi, for any two different locations a and b, where Theorem 1. The simultaneous Eqs.
(1)-(4) ensure that, for each taxi, each vertex of its V can be visited at most once and be departed from at most once.
Proof. Assume that a point a can be visited more than once from other points which include points b and c, where a, b, c ∈ V ; therefore, b, a = c, a = 1.
, which also conflicts with the first assumption c, a = 1. Therefore, the simultaneous Eqs.
(1)-(3) ensure that, for each taxi, each vertex of its V can be visited at most once.
Assume that a point a can be departed from more than once to other points which include points b and c, where a, b, c ∈ V ; therefore, a, b = a, c = 1. According to Eq. (1), we have − → a, b = − → a, c = 1. Then, due to Eq. (4), we know that (2), we have − → a, c ∧ ¬ a, c = 1, which conflicts with the first assumption a, c = 1; otherwise, if we let − → c, b = 1 with − → a, c = 1, according to Eq. (2), we have − → a, b ∧ ¬ a, b = 1, which also conflicts with the first assumption a, b = 1. Therefore, the simultaneous Eqs. (1), (2) and (4) ensure that, for each taxi, each vertex of its V can be departed from at most once.
Let a set of taxis Λ consist of on-duty taxis. We denote a set of vertices V (resp. a vertex v) of a specific taxi λ as V λ (resp. v λ ). For each taxi, we need to further guarantee that there exists at least one visit to each unfinished pick-up point P and drop-off point Q (Eq. (6)), and that there exists at least one departure from each P (Eq. (7)).
(1)-(7) guarantee that, for each taxi, each vertex of its Φ ∪ Ψ , can be visited exactly once, and each vertex of its Φ can be departed from exactly once.
For all taxis, we need to guarantee that there exists exactly one taxi to visit the pick-up point L and the drop-off point R of a new demand (Eqs. (8) and (9)), that there exists exactly one taxi to depart from L (Eq. (10)), and that there exists at most one taxt to depart from R (Eq. (11)).

EO(
For each taxi, if there are some unfinished jobs, we need to further ensure that there exists at least one departure from its current point O; otherwise, we do nothing (Eq. (12)).
Irreflexivity law: Because self-cyclic paths and the self reachabilities need to be banned, we encode some unit clauses to block the relevant corresponding variables as follow: Corollary 1. The simultaneous Eqs.

Order and Monopoly Constraints
Encoding the order and monopoly constraints on the basis of the HP constraint are straightforward. To encode the former, we only need to block all the directed reachabilities from somewhere to the current point for each taxi (Eq. (14)). Besides, for each existing pair of the unfinished pick-up and the drop-off points (i.e., P i and Q i ) which correspond to the same served passenger, we add the unit clause −−−→ P i , Q i for restricting the order of via-points (Eq. (15)).
To encode the latter, we need to ensure that, for each taxi, the reachability of point L to point R must be evaluated to true if this taxi occupies either point of them (Eqs. (16) and (17)), and for all taxis, there exists at most one such a reachability that is evaluated to true (Eq. (18)).

Soft Clauses
To minimize the sum of the travel times of all the served passengers who are allocated to the taxi corresponding to the currently occurring demand, we have the following optimization objective function: min{ λ∈Λ x∈V λ y∈V λ ( − −−− → O λ , L λ · x, y · w x,y )}. Therefore, we have the soft clauses: Because RTSS is required to continuously solve the path planning problem in a time series scenario, this optimization is equivalent to a min-max objective function. Note that we cannot directly IP-formulate the above objective because it is a nonlinear polynomial which is different from the normal min-max objective function. For an min-sum objective that minimizes the total cost time required for all the taxis to finish their accepted job lists corresponds to solving SPP, Eq. (19) can be converted by simply removing ¬ − −−− → O λ , L λ from each soft clause.

Space Complexity
Here, we give the space complexity of our encoding, which includes the number of required Boolean variables and clauses. Consider that the number of taxis is m (i.e., |Λ| = m) and that the size of V that has the largest number of unfinished points is n (i.e., max λ∈Λ {|V λ |} = n), where n ≥ 3. Proof. The total number of variables required in our encoding is bounded by 2mn 2 , which is composed of two types of variables that have the same size, mn 2 . In Eqs.
Technically, we can further reduce the CNF size via integrating Boolean variables by − → a, b ≡ ¬ − → b, a, where ∀λ ∈ Λ, a, b ∈ V λ and a = b, which is based on the method in Velev and Gao [30]. Due to such integration, one-third of Eq. (2) and most of Eqs. (3)-(5) can be eliminated. Nonetheless, it does not affect the above asymptotic upper bounds.

Incremental Approach
A general direct encoding for the rest constraints is anticipated that a huge number of auxiliary Boolean variables are required, which are used to represent every possible sum of the combinations of the cost time and the number of on-board passengers. Therefore, in this paper, we prune the search space using a naive incremental SAT-based approach [28], instead of the constraints encoding method. The idea of our approach, shown in Algorithm 1, is to construct a sequence of MaxSAT instances by adding a hard clause whenever the current assignment violates the externality conditions (i.e., the deadline and capacity constraints), denoted by Γ , during the SAT solving iterations (lines 7-12). Each added clause is the negation of a partial assignment, which is the reason for the violation (lines 7-9). Learning these clauses can effectively avoid the same inconsistency in the remaining procedures. The main difference from the general MaxSAT solver is that k is updated to a smaller value (line 11), and then the PB constraint is associated with a fresh k (line 12) only when Γ is satisfied with the current assignment A.
An effective heuristic of variable assignment can greatly reduce the time for solving large-scale RTSS [18,2]. Therefore, it is essential to provide an extensible framework for heuristics in a real-time system. Our incremental SAT-based algorithm can use an assumption SAT solving for further modifications (lines 5 and 14). A set of assumptions is defined as a set of literals that are assumed to be true and which are picked for decisions first, always in the top of the search tree. Then, if during the search, it is needed to flip the assignment of one of these assumptions to false, the problem is unsatisfiable under the initial assumptions. Therefore, we can introduce some heuristics methods via this assumption solving interface for preferential search strategies in the early solving stage.

The Existing Insertion Method
To better evaluate our proposed approach, we implemented another method called successive best insertion (SBI), proposed in Noda et al. [22,21], which is used to provide a comparison to our approach. SBI is an approximation method that finds a semi-optimal result for RTSS via a specific local searching method described as follows: 1. For each taxi λ (λ ∈ Λ), there exists a via-point list that chronologically stores each vertex of V λ .

Each taxi's via-point list cannot be modified except via operations inserting
L and R. 3. For each taxi, SBI linearly searches for the best pair of positions to insert L and R, according to the minimum of its self-time consumption plus the sum of the delays to all the served passengers' trip times. During the above search, a temporary best answer is initialized with no solution and is updated whenever a better answer is found that does not violate the deadline and capacity conditions. 4. SBI assigns the demand to a taxi whose cost is the minimum for all the taxis.
If all taxis report no solution, then the demand is refused.
SBI has used in a real RTSS application system operated in Japan for more than three years [20,19], because SBI requires small computational resources (e.g., computing time) and provides reasonable solutions to vehicle allocation in real services. This work motivated to improve the quality of the solutions under reasonably extended computational resources. Therefore, we compare the performance of the proposed method to SBI. Note that our new method and SBI have different search space. In brief, for each taxi, SBI tries to insert new demand's pick-up and drop-off points into a fixed permutation (i.e., the order of all unfinished points cannot be shifted). However, the proposed MaxSAT approach exhaustively considers all possible permutations.

Experimental Setting
Our empirical experiments were conducted using simulation of urban mobility (SUMO) [4], version 0.32, which is a widely recognized open-source traffic simulation package including a traffic simulator as well as supporting tools. SUMO is microscopic, space continuous, and time discrete, providing a fair approximation of real-world traffic scenarios. We imported the road network for the city of Tsukuba from OpenStreetMap [12] into the simulator. To simulate real-world scenarios, there are three discrete areas set to occur demands in the city that were far apart and had high population mobility (e.g., commuting locations, shopping centers, residential areas).
The experiment was performed with the following parameter settings: the number of taxis (#Taxi) was chosen from {20, 30, 40, 50}; the demand occurrence frequency (Dof) for every set area was chosen from {18, 24, 36, 72}, where Dof indicates the number of demands occurring during a simulation hour; each demand involved only one passenger (i.e., N = 1) with the current time as its D and a calculated deadline as its T by dividing a measured distance between P and Q by an average walking velocity. the capacity of each taxi was 4; and the average taxi speed was 8.33 m/s. Note that each parameter set contains a pair with #Taxi and Dof. In addition, each experiment ran within 43,200 simulation seconds, and a new-demand checker worked during every simulation second to return the current demands to an allocation algorithm (i.e., SBI or SAT). 5 Even though both the SBI and SAT approaches were given a set 10 CPU second time limit for each demand, they also returned an approximate solution if they exceeded that time limit.
All experiments were performed on an Intel Xeon(R) Silver 4108, 1.8 GHz, with an 8-core processor and 93 GB of memory using the Ubuntu 18.04 operation system. Only one CPU core was used for each experiment. We implemented both SBI method and our proposed MaxSAT encoding by using Ruby 2.5.1, and modified a satisfiability-based solver, QMaxSAT, for the presented incremental approach in GCC version 7.3.0 with an n-level modulo-based CNF encoding of the PB constraints to solve all the generated MaxSAT instances [32].

Evaluation Metrics
There are three different evaluation metrics considered as follows: (1) the passengers' average speed (avg. speed), (2) the cumulative shared ratio (cumul. share) and (3) the average runtime for solving a demand (avg. runtime). Avg. speed was obtained by calculating the average of the passengers' actual moving distances divided by the cost time, which was counted from when the demand occurred to when the passenger arrived at their destination. In transportation research, the avg. speed can be regarded as a metric to evaluate the usability of service, in which a higher avg. speed corresponds to a shorter and less time-consuming trip for each demand. The cumul. share is a ratio of the total number of occurred demands to the cumulated number of shared people in each passenger trip. 6 The cumul. share can be regarded as another metric to evaluate the usability of service, in which a higher cumul. share ratio corresponds to a smaller payment amount for each served passenger. Lastly, the avg. runtime represents the computational cost of the allocation method. Table 1 shows the experimental results for the mentioned three evaluation items. The notation "nx-fy" in the first column of Table 1 lists all pairs of the parameter setting, where x indicates #Taxi and y indicates Dof. For each "nx-fy", we repeated five experiments and then calculated their average and standard deviation rounded to two decimal places, which corresponds to two numbers in each cell, where the left number indicates the average and the right number surrounded by square brackets indicates the standard deviation. Comparing SBI and SAT, SAT outperforms SBI for both avg. speed and cumul. share for each parameter setting. However, SAT is overall inferior to SBI for the avg. runtime. Note that the avg. runtime of SAT is added in two parts, where the first part indicates the avg. runtime of the MaxSAT encoding, and the second part indicates the avg. runtime of the incremental MaxSAT solving. Interestingly, for each parameter setting, the avg. runtime of the encoding is generally longer than that of the solving, except in the cases of "n30-f72" and "n20-f72". This highlights a future avenue of research, that is, to improve our MaxSAT encoding with a more compact space complexity.

Results and Analyses
Here we explain the worst-case scenario in our experiment, "n20-f72", which leads to the service being in short supply. Due to the sustained and rapid growth of the unfinished job list for each taxi, the MaxSAT encoding generates a series of huge size instances (see Theorem 2). In this case, the accepted demand rate of SBI was 64.20%, while that of SAT was 70.24%. Conversely, in all other cases, both of their accepted demand rates were 100%. Therefore, another future avenue of research is to find a method that can dynamically adjust #Taxi depending on specific features (e.g., area information or different time zones). Nevertheless, overall, when evaluating the efficiency of a real-time planning system, SBI and SAT can solve RTSS within a reasonable runtime.
To further compare the performances of SBI and SAT, in Fig. 2, we plot their change trend for avg. speed with different parameter settings, which are depicted as the corresponding contour plots of avg. speed separated by color bars. The horizontal axis indicates increasing values of #Taxi, and the vertical axis indicates increasing values of Dof. For both SBI and SAT, we see that, as #Taxi becomes smaller and Dof becomes greater, the corresponding color mapping is of a lower avg. speed. In addition, the change trend (i.e., the gradient of the surface) of SAT is greater than that of SBI. If we consider whether the avg. speed exceeds 3.5 m/s as a condition for distinguishing service quality, then only about 60% of results in SBI can be satisfied with this condition; while more than 90% of them in SAT can be evaluated to good. Consequently, both SBI and SAT suffer a service quality decline, here reflected in the avg. speed; however, SAT can provide a wider range of treatment than SBI.

Real-World Experiment
We simulated the real-world data of the city of Yokohama that were obtained from a transport service company to further demonstrate our proposed approach.
In this experiment, we chose the collected one-week dataset (from December 1 to 7, 2018), fixed the number of taxis to 10 with an 8-capacity for each taxi, and kept the rest of the other parameter settings and our experimental environment. Note that the elements of each demand (i.e., its L, R, D, T and N ) were based on the real-world data. The results are shown in Table 2, where the first column indicates the information of real-world data corresponding to the total number of occurred demands during that day surrounded by square brackets. In addition to the three mentioned evaluation metrics, we also listed the number of rejected demands in both SBI and SAT. Obviously, SAT outperforms SBI in this item. Overall, the other results have the same trend and conclusions with the random experiment, except there are some dates that SAT is slightly inferior to SBI in terms of cumul.
share. The reason for this shortage may be that in our proposed algorithm there is a single objective function which can be regarded as the maximization of avg. speed but not that of cumul. share.

Conclusions
In this paper, we studied RTSS and proposed a novel approach to solve RTSS that is based on the incremental SAT technique. Our method is suitable for other objective functions (e.g., the shortest path optimization) and is extendible for other heuristic search strategies. We also proved the correctness of our encoding and analyzed its space complexity. Finally, we conducted a comparative experiment based on real-map data using a modified SUMO simulator to compare our method to another existing insertion method-SBI, which has been practiced in a real RTSS system. The experimental result shows that, even though the two methods can solve RTSS within a reasonable computational time in general and both suffer a service quality decline in the worst-case scenarios, our new approach can provide a wider range of treatments and a more rapid transport service with a cheaper price on average than SBI. physical simulator, (2) demand generator, (3) vehicle routing controller, and (4) simulation GUI. All geometric distances in our experiment were estimated according to the corresponding Manhattan distance. We imported the road network of this city into our modified SUMO simulator, which is schematically shown in Fig. 4 (a). A magnified scale zooming in a specific location point picked from (a) with SUMO GUI is also given in Fig. 4 (b), which can highly simulate the road and traffic information of the real-map (see Fig. 4 (c)).