So, we start with three presentations, it's like a routing topic now from three different
countries, we present you three different routing topics and I think all of us can relate
to this topic at least as a customer and it's a pleasure to me to introduce Felix Gündling
from Germany, he's introducing MOTIS as a door-to-door platform, what is going open
source in 2020 and is already used by some companies for internal use cases and we are
really pleased to hear what is MOTIS about.
Thank you very much for introducing me, today I will talk about MOTIS project and so this
is a very rough overview of MOTIS, I think I could talk hours about all the details but
I try to make it short so to give an overview MOTIS is a mobility platform and it's modular
so it has different modules for different purposes and you can mix and match all those
modules for your use case but I think the main functionality of MOTIS is the door-to-door
routing that involves all kinds of means of transportation.
So this includes walking, trains, buses, flights or we have also experiments for ride sharing
or on-demand integration, basically you name it, everything that brings you from A to B
we can use it in MOTIS and to display the data like the connections we have also our
own tile server so this is a very easy way to get your own tile server also if you are
only interested in displaying connections or anything on the map and of course for the
user to be able to enter their wish from where to where they want to go we can also autocomplete
places and yeah it's open source.
So a short history of MOTIS or a long history basically it started in 1996 when I was still
in primary school and so I cannot tell you much about it but there were first experiments
about timetable data models and also the first routing algorithms and in 2003 it became multi-criteria
optimization algorithm and I will go into some details later in 2007 MOTIS was the first
platform that already had real-time information and could find connections on this real-time
information so basically if you had delays or cancellations or reroutings this was the
first time that you could actually find alternatives that would work in real-time.
In 2013 we started to work on the door-to-door routing and this is actually my main topic
and there we have all kinds of special topics for example we had one guy working on reliability
so to find especially reliable connections where you also consider the reliability of
all the alternatives so if something breaks you find still an alternative that brings
you to your destination before your deadline with a high percentage of reliability considering
the data from the past regarding the delays.
Currently one of our main topics is accessibility so we are aiming at finding connections not
just for everybody who has no problems but for all people who have some disability and
there are different profiles so this is a profile-based approach where you can give
us the information about profile you have and MOTIS will find those connections regarding
your profile.
Additionally we are working on park and ride so if you don't want to just go from A to
B but you want to go back and you have your car parked somewhere then you have dependencies
between the outward trip and the return trip and you cannot plan those journeys easily
with the algorithms that are available on the market because your outward trip and return
trip would not necessarily contain the same parking place and MOTIS has an integrated
optimization algorithm that optimizes the park and ride problem.
Additionally we are working on integrating ride hailing and ride sharing so different
kinds of mobility and we are mixing everything together and find optimal journeys from door
to door using all of them.
Basically in 2020 then came the time that we made it open source and the open source
version doesn't contain all of our experiments because those experiments were like branched
from the master branch and it's a lot of work to combine everything into one version
and so currently we are working on making all those experiments also open source and
to maintain them all in one consistent version where you can also mix all the features together.
Since we made it open source we gained some interest also by other companies so our primary
partner for all the time since 1996 was Deutsche Bahn, German Railway and since then since
we made it open source also other companies became interested in using our software and
some of them are already using MOTIS in production and that's the path and we will be like I'm
happy to see even more usage of MOTIS in production.
You might also be interested who is developing MOTIS, this is mainly the Technical University
of Darmstadt and currently we have three researchers that are working on MOTIS that's me and to
others and all the time we have a lot of students doing their thesis projects or lab topics
or some paid students working on MOTIS so we have a lot of churn in developers it's
not always the same team but that's the research topic and as mentioned before I want to talk
a little bit about multi-criteria optimization because that's one the main difference between
rooting on the street and rooting with all kinds of transportation means is that usually
it's not sufficient to only optimize the travel time or the distance traveled but you
have also other criteria like the number of transfers or some people like want to travel
cheap or some want to travel sustainable so they don't want to have a lot of CO2 produced
and so there are different criteria and we actually don't know exactly what mix of criteria
the user currently using our software has so this is a difficult problem to solve and
since we don't know this we give them all the optimal solutions regarding the criteria
so basically we do a multi-criteria optimization and find the Pareto set of all optimal solutions
that form an optimal trade-off and currently the main version of MOTIS has the three criteria
departure time arrival time and number of transfers so it's better to depart later arrive
earlier and we want also to have the number of transfers so in this example we have three
connections and basically for example the nine o'clock connection that goes to 10.15
has two transfers so it but it takes longer and then nine to ten connection has three
transfers but it's faster and since we don't know exactly who wants which connection we
just show all of the connections so if we look at those criteria we would show the optimal
connection for like the fastest connection for all number of transfers and yeah basically
the approach can be adapted to optimize a set of all criteria that you can basically measure
in math that you can count in a way so how does it work how do we make the door-to-door
routing basically we have two steps one step is to compute the connections from the actual
address where you start to all the stations of the that could connect you to public transport
or in general timetable based means of transportation and we do the same on the destination side
so we look at all the stations in proximity to the destination and we route basically
from all those to the destination so we convert these options to go from the start to the
station or from the destination to the destination to a set of edges and all these edges are
then inserted temporarily in the data model of our main routing algorithm and for those
main routing algorithms we support a variety of routing algorithms that optimize the connection
the overall door-to-door connection so here we have for example the Raptor routing algorithm
the trip-based routing algorithm or just a graph-based solution that is the extra-based
and yeah so this is the optimization approach and it's a nice approach because it guarantees
optimality and all those algorithms that are named are producing exactly the same results
so this is basically our quality assurance that we want to make sure that all the algorithms
that we have in our system produce exactly the same results that because they have the
same definition we are like the department at technical university of townstatt that
is producing or working a motorist is the algorithm department so our focus is basically
on the algorithms but to be able to show the platform we have some front ends and we have
an Android app we can show the timetable data on a live map and we have also an interface
to search the connections and actually use the routing but those front ends are currently
not capable to display all the functionality that the back end has so our focus is more
on the back end and algorithms and I want to talk a little bit also about our roadmap
so we are currently working on making those accessible door-to-door routings possible
that's our main focus and therefore we are working on a new data model that is also capable
of displaying or saving the timetable data in a compressed way so we don't have one
object per connection but if a connection takes place on several days of the year and
at the same time then we store the connection with the bit field that has a one if the connection
takes place at that day and zero if not so this is a very efficient way of encoding the
timetable so additionally we use for the street routing currently OSRM which is very intense
in memory usage but there are alternatives and we are trying to integrate those two and
of course as I said before we are working on bringing more and more of the research
functionality that we have in different branches into the mainline motors so you can use them
together and like bring the research into production yeah that's that's it about motors
if there are questions I'm happy to answer or I could also like make a short demo because
yeah so maybe questions first yeah
This is to the next question, how do you decide on that?
Currently we ask the user to give us the maximum time he would like to use for the first and
last part of the journey for each means of transport so he would say I would like to
travel maximum 20 minutes by car and that's basically our limit but of course this is
only one way to do it and this is the backend functionality so if you would use this as
a user in an app or on a website this doesn't need to be the way that the user interacts
with the system I didn't look like I think their algorithm
is not open source so I couldn't look into the very details but from what I've seen
I think they are not doing their computations in one data model like we have basically then
one data model where we do the overall optimization so we can guarantee the optimality on this
data model because it's all included and from what I've seen what they do is that they have
different routings and they try to combine the routing results in a post-processing step
and I think this doesn't guarantee optimality but produces probably reasonable results for
the end user.
Thank you.
How are you able to take in account the life like a traffic jam or like how do you...
Yeah we have the option to use GTFS RT real time data for the timetable based means of
transportation and currently we are using for the street routing also our arm or like
we are planning to support Valhalla and those can or cannot depending on how you configure
them so this is not our main focus but this basically depends on which algorithm you use
to compute those first and last edges.
So basically what we do is that you download all the data put it all in one folder on your
server and give that folder to Motors so it has all the timetables as in the GTFS format
or a half horse rodent format and you give it the open street map data and you can give
it for the real time data API endpoints where Motors will pull regularly like in a one minute
or 30 second interval the real time data and so this is basically how all the data comes
together in one data model so Motors loads all the static timetable data at boot time
and possibly does some preprocessing on it and then in the real time it pulls real time
data from the sources that you have configured it to pull.
Trans model? Sorry I didn't. I haven't heard about it.
Okay so CN standards concerning data modeling for multimodal transport this is why I thought
that might be an association but it's independent.
Okay yeah it's independent.
Thank you.
We don't have more time for questions but I think Felix is here and you can ask more
questions afterwards. Thank you Felix.