An Extensible and Personalizable Multi-Modal Trip Planner

by   Xudong Liu, et al.
University of North Florida

Despite a tremendous amount of work in the literature and in the commercial sectors, current approaches to multi-modal trip planning still fail to consistently generate plans that users deem optimal in practice. We believe that this is due to the fact that current planners fail to capture the true preferences of users, e.g., their preferences depend on aspects that are not modeled. An example of this could be a preference not to walk through an unsafe area at night. We present a novel multi-modal trip planner that allows users to upload auxiliary geographic data (e.g., crime rates) and to specify temporal constraints and preferences over these data in combination with typical metrics such as time and cost. Concretely, our planner supports the modes walking, biking, driving, public transit, and taxi, uses linear temporal logic to capture temporal constraints, and preferential cost functions to represent preferences. We show by examples that this allows the expression of very interesting preferences and constraints that, naturally, lead to quite diverse optimal plans.


Preference-Guided Planning: An Active Elicitation Approach

Planning with preferences has been employed extensively to quickly gener...

Axiomatizing logics of fuzzy preferences using graded modalities

The aim of this paper is to propose a many-valued modal framework to for...

OpenTripPlanner, OpenStreetMap, General Transit Feed Specification: Tools for Disaster Relief and Recovery

Open Trip Planner was identified as the most promising open source multi...

On Planning with Preferences in HTN

In this paper, we address the problem of generating preferred plans by c...

Opportunistic Qualitative Planning in Stochastic Systems with Preferences over Temporal Logic Objectives

Preferences play a key role in determining what goals/constraints to sat...

Multi-Modal Multi-Agent Optimization for LIMMS, A Modular Robotics Approach to Delivery Automation

In this paper we present a motion planner for LIMMS, a modular multi-age...

Learning Probabilistic Hierarchical Task Networks to Capture User Preferences

We propose automatically learning probabilistic Hierarchical Task Networ...


Trip planning, an application of planning and scheduling, has seen substantive implementations by researchers and developers [1]. Some of the planning systems are multi-modal; that is, combining distinct transportation modes, the trip planners compute optimal routes from sources to destinations. This notion of “optimality” generally refers to the computed routes having minimal total time or total fare.

However, in the eyes of a user, it may be more faceted than just “fastest” or “cheapest.” For instance, for a college student who specifies that she will only walk or take public transit in a trip from Palo Alto to San Francisco, the computed plan is not necessarily the fastest (e.g., taking a cab could be faster) or the cheapest (e.g., walking all the way has no fare). This happens when a user tells the planner her hard constraints, called constraints. The planner then needs to either satisfy the constraints in the search process or return failure because they are over-restrictive. Moreover, the user might want to further customize the planner by describing soft constraints, called preferences. For example, an agent wants to travel from school to downtown, and prefers biking to taking the bus. Thus, a trip with more biking than bus may be considered better for the agent than the one with more bus than biking. In this case, the planner will need to accommodate user preferences whenever possible in the search of optimal solutions.

In the work by Yang et al. [9], a pilot study was conducted to suggest favored transport modes among the population in the Lisbon Metropolitan Area. The study includes a survey involving 150 respondents, sampled to roughly represent the socio-economic aspects of the local population. Their results revealed that at least 72% of the population picked multiple travel modes (e.g., bus combined with heavy modes including subway, train and ferry) over singular travel modes (e.g., private car, carpool and taxi). The results also presented that almost half of the population had some constraints on traveling time (e.g., departure times to/from work). Furthermore, the pilot survey suggested correlations between travel safety and travel modes, and between environmentally friendliness and travel modes. To this end, our trip planning model is designed and developed in line with these results.

Representing and reasoning about constraints and preferences are fundamental to decision making in automated planning and scheduling in artificial intelligence. However, relatively limited effort has been devoted to designing and implementing real-world multi-modal trip planners that captures user constraints and preferences over the

cost base, possibly extended from the user with auxiliary cost metrics, such as crime rates and pollution statistics. One notable work by Nina et al. [8] introduced system Autobahn

for generating scenic routes using Google Street View images to train a deep neural network to classify route segments based on their visual features. Although


computes scenic routes using computer vision techniques, it does not account for extensibility and personalizability. Existing trip planners, such as SafePath

[4], and SocRoutes [5], offer routes balancing between safety and distance/time. Nonetheless, these planners do not support personalization for the users.

Using a high-performance graph search engine [10], we designed and implemented a multi-modal trip planner that uses pure graph-search. This allows us to flexibly combine various modes (i.e., walking, biking, driving, public transit, and taxi) and to declaratively specify constraints and preferences. The planner also allows the user to upload new mapping data over which constraints and preferences can be expressed. For instance, a user might upload a map of crime in the city, and ask the trip planner to avoid areas where crime is frequent. To handle user constraints, the planner takes constraints (e.g., never bike after transit, and never walk through bad neighborhoods) expressed in linear temporal logic to restrain the search space. As with user preferences, the planner uses a preferential cost function, a weighted sum over several cost metrics (e.g., time spend biking, fare on public transit, and overall crimes walking through) which can be re-weighted based on different user preferences.

Our paper is organized as follows. In the next section, we present what it means for a planner to be extensible and formally define the method to incorporating new metrics into the planner. In the next section, we discuss the two aspects of personalization in trip planning: constraints and preferences, and how they are represented and reasoned with in the setting of multi-modal trip planning. We then move on to describe the system structure of our graph-search based planner, and show results obtained from our planner in various occasions. We conclude by outlining future research directions.


Allowing users to upload their own data sets of interests is an important step towards customization of a trip planner. We designed a framework where a user can upload auxiliary cost metric data (e.g., crime statistics and pollution data) into the planner, and the planner will compute an optimal route accordingly.

The user-created data are the auxiliary data that is represented as pairs of latitude and longitude degrees. To merge these lat-long pairs into the planner, we performed a neighborhood search to calculate the total score of auxiliary data for each lat-long pair already in our planner. It might be of strong interest to some user for our planning system to take care of criminal statistics so that some level of safety of the resulting routes is guaranteed. For instance, a user traveling through the downtown area of San Francisco around midnight may want to upload a data set of crimes, and express her constraints and preferences in hope of a safer trip plan.

Formally, we denote by the set of auxiliary points uploaded by the user, and the set of points in our planner. Given a point in our planner, an auxiliary point and an effective radius , we compute the auxiliary score of contributed by with respect to :

where is the Euclidean distance between two points. Thus, the auxiliary score of for with respect to can be computed: .


Personalizability consists of two aspects: constraints and preferences. From the viewpoint of the planner, constraints, also called hard constraints, are statements that the planner has to satisfy during the planning process; whereas preferences, or soft constraints, are specifications that the planner will need to optimize. We formulated constraints using linear temporal logic (LTL) and preferences as a preferential cost function (PCF), and implemented our planner leveraging the widely-used graph search algorithm the A*.


As constraints in the setting of trip planning are often declarative and temporal, our choice of LTL is straightforward. We now give a brief review of linear temporal logic (LTL). Let be a propositional formula over a finite set of Boolean variables. LTL formulas are defined recursively as follows.


Note that we have , and it means that “ holds right after holds.”

A natural constraint for an agent in trip planning could be “In this trip I will not drive a car at all after biking or taking the public transit.” In LTL, such constraint can be translated into an LTL formula


Note that LTL allows agents to describe constraints over the entirety of the search tree, not just limited to mode labels on edges. For instance, an agent may also express “In this trip I will bike for at least one hour but not more than two,” which in LTL would be


where denotes the total time in seconds spent so far per .

As the actions in trip planning is limited to taking different transportation modes, in our definition of the semantics of LTL these actions are subsumed into the interpretations of , or states. The semantics of LTL is defined with regard to trajectories of states. Let be a trajectory of states , and a suffix . We have


A state is described as a set of state variables. The state variables of a state include the transportation mode that led to , time in seconds spent so far per mode (e.g., for public transit), fare spent so far per mode (e.g., for taking a cab), and variables related to the auxiliary data once uploaded. These extra data related variables are metrics such as the sum (), the maximum (, the minimum (), and the average () data along the path. We assume the fares and are zeros.

We denote by the set of transportation modes and focus on weighted functions over state variables and designed the cost function, called preferential cost function (PCF), that guides the graph-based search engine in our trip planner as follows.


where is the coefficient of specifying the relationship between and , and () is the ratio that describes how much in dollars a user would pay to save an hour (an auxiliary datum, respectively). Note that the PCF can be easily adjusted to cases when no auxiliary dataset or multiple auxiliary datasets uploaded.

Clearly, to any given state our PCF assigns a monetary value, the overall cost that drives our search algorithm in the planner.

Preference Elicitation

To gather these coefficients (’s and ’s) in our , we designed an interface to elicit them from the user. The planner asks the user questions and collect answers from the user to derive the coefficients. These questions are as follows.

  1. How many hours of driving do you think are equivalent to one hour of walking, biking, public transit, and taxi?

  2. How much in dollars would you pay to save an hour in traveling, and to avoid an auxiliary datum (e.g., crime or pollution) in traveling?

For instance, Alice, an agent, answers 3, 2, 0.25, 0.5, 20 and 1 to the questions above. Intuitively, the numbers indicate that she prefers public transit the most, followed by taxi, driving, biking and walking, in order. We show how we can now derive ’s in Equation 4. We start with setting . Now, since one hour of walking is equivalent to 3 hours of driving, we have ; hence, we derive . Similarly, we have , , and . As with the other two coefficients and , we know one travel hour is worth 20 dollars and one auxiliary event 1 dollar. We then have and ; therefore, we derive and . Indeed, function with the input of time, fare and auxiliary metric pieces boils down to monetary cost, and the planner computes the best path by optimize based on this overall monetary cost in the searching process.

Putting all together, we leveraged the widely-used A* search algorithm on top of our high-performance graph search engine. The A* algorithm incorporates the following cost function.


where is the overall cost of an optimal trip from the initial state to , and

is an admissible estimate of the cost of an optimal trip from

to goal. We set the minimum estimate among all available modes in . To prune the search space, we check satisfiability of the temporal constraints in LTL at expansion of the search tree.


We designed and implemented a multi-modal trip planning system based on a high-performance graph search engine. The planner allows user uploads, as well as declarative constraints and preferences. We now describe the structure of the planning system.

The trip planner takes two types of data as input: static data and user-specified request. The static input includes Map Data and Transit Data. Map Data describes the map, a directed graph where nodes are street corners, bus stops and train stations. Transit Data is a set of schedules for the buses and trains On the other hand, a user provides her request, composed of three parts. First, the user enters from and to locations on the map together with day and time of the start of the trip. Second, the user may upload her auxiliary metric dataset, e.g., crime rates. Lastly, the user specifies her constraints in LTL and preferences as a . For example, the constraint could be “never walk through a bad neighborhood.” Given these inputs, our planner computes an optimal path satisfying all the constraints and optimizing the preferences.


First, we show the result computed from our planner for agent Alice in the San Francisco Bay Area who commutes from Palo Alto to San Francisco. This is assuming no auxiliary metric datasets uploaded so that the agent focus on time and fare. Then, for agent Bob, we demonstrate the computed route in San Francisco that is a much safer route than the quickest route.

Alice is constrained that she will not drive a car in her travel, and her dollar per hour is thirty. Moreover, Alice has a bicycle and expresses that she will bike for at least 20 and at most 30 minutes. So, Alice’s constraint is specified as . Then, she expresses her preferences: biking and public transit are the most preferred, next is taxi, and the least preferred is walking. She has done so by answering the aforementioned elicitation questions, and here we omit the detailed answers. Note that the natural constraint in Equation 2 is implicitly imposed on all cases, and that we consider uberX for the taxi mode. The result for Alice is depicted in Figure 1. It spans 1 hour 49 minutes in time with the fare of 7 dollars 25 cents. The path consists of 1 hour 21 minutes of pubic transit (i.e., Caltrain), 26 minutes of biking, and a minute of walking. This is the optimal path satisfying Alice’s constraints and prioritizing the transit modes according to her preferences.

Figure 1: Resulting route for Alice

Bob needs to travel via biking and walking across an area in northern San Francisco. For Bob, safety is important. Having found the crime statistics for the area, he uploads the data as a new auxiliary metric into the map. By specifying that he will never go through a neighborhood with more than fifteen crimes over the last month, and that he would sacrifice a quarter to avoid one crime incident, the agent uses the planner to come up with a relatively safe route. An example is shown in Figure 2, where several neighborhoods are labeled by the crime counts. The computed path is represented by the line colored by green and brown, denoting biking and walking, respectively. The quickest route is colored in light purple. Clearly, this path routes away from crime-heavy areas and achieves optimality in that the combined metrics – time, fare and crime rates, uploaded and personalized by the user – is minimal among all possibilities.

Figure 2: Optimal route considering crime rates for Bob

Future Work

For the future, we plan to explore techniques in planning for computing multiple routes that are diverse with bounded difference of costs. Moreover, We intend to study the problem of learning the

coefficients using the observations of the decisions the user made among the computed paths. One possibility is to consider machine learning algorithms such as linear and logistic regressions. We also are interested in exploiting qualitative preference formalisms to be embedded into trip planning, such as the well-known conditional preference networks

[3] and lexicographic preference trees and forests [2, 6, 7]. Also interesting is to introduce traffic information into the planner to support real-time multi-agent concurrent trip planning.


  • [1] H. Bast, D. Delling, A. Goldberg, M. Müller-Hannemann, T. Pajor, P. Sanders, D. Wagner, and R. F. Werneck (2015) Route planning in transportation networks. arXiv preprint arXiv:1504.05140. Cited by: Introduction.
  • [2] R. Booth, Y. Chevaleyre, J. Lang, J. Mengin, and C. Sombattheera (2010) Learning conditionally lexicographic preference relations. In ECAI, pp. 269–274. Cited by: Future Work.
  • [3] C. Boutilier, R. Brafman, C. Domshlak, H. Hoos, and D. Poole (2004) CP-nets: a tool for representing and reasoning with conditional ceteris paribus preference statements. Journal of Artificial Intelligence Research 21, pp. 135–191. Cited by: Future Work.
  • [4] E. Galbrun, K. Pelechrinis, and E. Terzi (2016) Urban navigation beyond shortest route: the case of safe paths. Information Systems 57, pp. 160–171. Cited by: Introduction.
  • [5] J. Kim, M. Cha, and T. Sandholm (2014) Socroutes: safe routes based on tweet sentiments. In Proceedings of the 23rd International Conference on World Wide Web, pp. 179–182. Cited by: Introduction.
  • [6] X. Liu and M. Truszczynski (2015) Learning partial lexicographic preference trees over combinatorial domains. In Proceedings of the 29th AAAI Conference on Artificial Intelligence (AAAI), pp. 1539–1545. Cited by: Future Work.
  • [7] X. Liu and M. Truszczynski (2018) Preference learning and optimization for partial lexicographic preference forests over combinatorial domains. In Proceedings of the 10th International Symposium on Foundations of Information and Knowledge Systems (FoIKS), Cited by: Future Work.
  • [8] R. Nina, P. Samsonov, D. Degraen, and J. Schöning (2016) No more autobahn! scenic route generation using googles street view. Cited by: Introduction.
  • [9] L. Yang, C. F. Choudhury, M. Ben-Akiva, J. Abreu e Silva, and D. Carvalho (2009) Stated preference survey for new smart transport modes and services: design, pilot study and new revision. Massachusetts Institute of Technology. Cited by: Introduction.
  • [10] R. Zhou and E. A. Hansen (2011) Dynamic state-space partitioning in external-memory graph search.. In ICAPS, Cited by: Introduction.