Introducing MOTIS Project
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 542 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/61425 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
FOSDEM 2023352 / 542
2
5
10
14
15
16
22
24
27
29
31
36
43
48
56
63
74
78
83
87
89
95
96
99
104
106
107
117
119
121
122
125
126
128
130
132
134
135
136
141
143
146
148
152
155
157
159
161
165
166
168
170
173
176
180
181
185
191
194
196
197
198
199
206
207
209
210
211
212
216
219
220
227
228
229
231
232
233
236
250
252
256
258
260
263
264
267
271
273
275
276
278
282
286
292
293
298
299
300
302
312
316
321
322
324
339
341
342
343
344
351
352
354
355
356
357
359
369
370
372
373
376
378
379
380
382
383
387
390
394
395
401
405
406
410
411
413
415
416
421
426
430
437
438
440
441
443
444
445
446
448
449
450
451
458
464
468
472
475
476
479
481
493
494
498
499
502
509
513
516
517
520
522
524
525
531
534
535
537
538
541
00:00
AlgorithmNetwork topologyPresentation of a groupOpen sourceProjective planeCASE <Informatik>Office suiteComputing platformDiagram
00:59
MultiplicationVector spaceOpen sourceReal numberBusiness modelMathematical optimizationMobile WebProfil (magazine)Right angleData modelShared memoryDifferent (Kate Ryan album)Multiplication signRule of inferenceBusiness modelWave packetCASE <Informatik>InformationRevision controlBranch (computer science)Real-time operating systemConnected spaceHydraulic motorShooting methodExterior algebraLine (geometry)Open sourceInsertion lossControl flowSoftware maintenanceArmPlanningComputing platformLevel (video gaming)Functional (mathematics)Mathematical optimizationAlgorithmServer (computing)INTEGRALModule (mathematics)Sinc functionOcean currentTesselation
05:59
Mathematical optimizationConnected spaceTransportation theory (mathematics)Workstation <Musikinstrument>Different (Kate Ryan album)Mathematical optimizationNumberProjective planeArithmetic meanWebsiteRoutingMultiplication signHeat transferDistanceBusiness modelSoftware developerAddress spaceBitGroup actionIdeal (ethics)Optimization problemMultiplication tableTransformation (genetics)Computer configurationTotal S.A.Heegaard splittingResultantPhysical systemSoftwareProduct (business)Student's t-testLaptopSet (mathematics)MathematicsRevision controlOpen sourceMixed realityAlgorithmData modelHypothesisPareto distributionComputer animation
11:00
Android (robot)User profileComputing platformState of matterFocus (optics)Different (Kate Ryan album)Limit (category theory)Object (grammar)WebsitePhysical systemRoutingArithmetic meanBusiness modelMultiplication signFunctional (mathematics)ResultantComputer configurationMathematical optimizationInformationReal-time operating systemConnected spaceLevel (video gaming)Flow separationPoint (geometry)Fluid staticsOpen setMaxima and minimaMereologySoftware testingMedical imagingOpen sourceSemiconductor memoryBitConnectivity (graph theory)Demo (music)Product (business)Video gameProcess (computing)User interfaceData modelExterior algebraAssociative propertyIndependence (probability theory)Field (computer science)Hydraulic motorStandard deviationFile formatFront and back endsBimodal distributionAlgorithmBranch (computer science)Instance (computer science)Line (geometry)Mobile appDebuggerWorkstation <Musikinstrument>DistanceBootingNeuroinformatikUniverse (mathematics)PreprocessorStructural loadComputer animationProgram flowchart
17:37
Program flowchart
Transcript: English(auto-generated)
00:06
So, we start like 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.
00:21
And it's a pleasure to me to introduce Felix Gintling from Germany. He's introducing MODIS 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 MODIS about.
00:50
Thank you very much for introducing me. Today I will talk about MODIS project and yeah, so this is a very rough overview of
01:05
MODIS. I think I could talk hours about all the details, but I try to make it short, so to give an overview, MODIS is a mobility platform and is modular, so it has different modules for different purposes and you can mix and match all those modules for your use case.
01:26
But I think the main functionality of MODIS 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
01:44
ride sharing or on demand integration, basically you name it, everything that brings you from A to B, we can use it in MODIS. 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.
02:04
Also if you're 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.
02:23
So a short history of MODIS 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
02:46
a multi-criteria optimization algorithm and I will go into some details later. In 2007, MODIS 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
03:04
or reroutings, this was the first time that you could actually find alternatives that would work in real-time. Then 2013, we started to work on the door-to-door routing and this is actually my main topic
03:22
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 or if something breaks, you find still an alternative that brings
03:42
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
04:07
and there are different profiles so this is a profile-based approach where you can give us the information, what profile you have and MODIS will find those connections regarding your profile.
04:21
Additionally, we were 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
04:45
outward trip and return trip would not necessarily contain the same parking place and MODIS 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
05:05
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
05:22
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.
05:47
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,
06:01
since we made it open source also other companies became interested in using our software and some of them are already using MODIS in production and that's the path and we will be like, I'm happy to see even more usage of MODIS in production.
06:24
You might also be interested who is developing MODIS. This is mainly the Technical University of Darmstadt and currently we have three researchers that are working on the MODIS. That's me and two others and all the time we have a lot of students doing their thesis
06:45
projects or lab topics or some paid students are working on MODIS. We have a lot of churn in developers. It's not always the same team but yeah, that's the research topic and as mentioned
07:00
before, I want to talk a little bit about multi-criteria optimization because that's one the main difference between routing on the street and routing 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 are like want to
07:27
travel cheap or some want to travel sustainable so they don't want to have a lot of CO2 produced and yeah so there are different criteria and we actually don't know exactly what mix of criteria
07:42
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 multi-criteria optimization and find the Pareto set of all optimal
08:03
solutions that form an optimal trade-off and currently the main version of MODIS 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
08:23
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
08:44
know exactly who wants which connection we just show all of the connections so if we look at those criteria you will be able to show the optimal connection for for like the fastest connection for all number of transfers
09:01
and yeah basically the approach can be adapted to to optimize a set of all criteria that you can basically measure in 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
09:27
where you start to all the stations of the that 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 in proximity to the destination
09:44
and we route basically from all those to the destination so we convert these options to go um from the start to the station or from the destination to the destination to a set of edges
10:01
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
10:24
graph-based solution that that is extra based and yeah so this is the the optimization approach and it's a nice approach because it guarantees optimality and all those algorithms that are
10:44
named are producing exactly the same results so this is basically our 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 the
11:04
department at technical university of darmstadt that is producing or working amotus 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
11:22
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
11:43
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
12:08
of displaying the or saving the 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
12:23
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 our the timetable so additionally we use for the street routing
12:44
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
13:00
of the research functionality that we have in different branches into the main line motors so you can use them together and like bring the research into 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
13:26
distance to the station stop currently we ask the user to give us the maximum time he would he would like to
13:42
use for for the first and last part of the journey for each for each means of transport so he would say i am 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
14:05
the user interacts with the system compared to for instance or maybe you were afraid of that use apparently more sophisticated for i mean special needs etc but fundamentally
14:21
other differences in the approach 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
14:40
do the overall optimization so we can guarantee the optimality on 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 in a post-processing step and i think this doesn't guarantee optimality but produces probably reasonable results for the end user
15:04
thank you are you able to take in account like like a traffic jam or like how do you yeah we have the option to use gtfsrt real-time data for the
15:22
timetable based means of transportation and currently we are using for the street routing or um like we are planning to support valhalla and those um can or cannot depending on how you configure them so this is not our main focus but uh this basically depends on which algorithm
15:43
you use to compute those first and last edges yeah how do you deal with that
16:11
something like that um so basically what we do is that you download all the data put it all in in one folder on your on your server and give that folder to motors
16:24
so it has all the timetables as in in the gtfs format or hafars-rodaten 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
16:45
and so this this is basically how all the data comes together in one data model so motors loads all the all the static timetable data at boot time and possibly does some pre-processing on it and then at the real in the real time it pulls real-time data from the sources that you have
17:04
configured it to to pull an apopo data model uh is trans model of any relevance in your works uh trans model yeah uh sorry i didn't i i haven't heard about it okay cen standards concerning data modeling for multimodal transport this is why i thought that might be an association
17:23
but it's a dependent okay yeah it's independent yeah thank you we don't have more time for questions but i think felix is here and you can ask more questions after it thank you