News:

Simutrans Forum Archive
A complete record of the old Simutrans Forum.

[11.27] Passengers making very odd routing decisions

Started by Sarlock, May 06, 2014, 02:40:55 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Sarlock

I noticed some discussion in recent chat for the online game regarding refunds and I started to do some looking around at stations and there is some very odd behavior occurring with passengers.  I haven't the time to research it deeper at the moment, though I have a couple of good examples to explore further.

What I am seeing is large volumes of passenger traffic suddenly appear at a hub, wanting to take some bizarre routing to get to a distant location, then soon disappearing and causing large refunds to occur.  These same passengers do not regenerate with the same route, but then seem to pop up in an equally bizarre new location.  I will have to do some further research to discover more, but I want to put this out there right now so that everyone else can help explore this issue.

What is most interesting is that when I saved the online game, then closed Sim-Exp and reloaded, the routing for those passengers changed and went back to the most logical hub for them to get where they were going instead of the bizarre track (I had 130,000 passengers in Sandton wanting to go to the other side of the map-on reloading, this dropped to 100,000 and they now all took the most logical routing).  This will make it tough to track this bug as it's only real-time and you can't save a local copy of it to reproduce.

Easiest way is to just log on with one of the major rail operating players and sort stops by waiting and pick off the big ones.
Current projects: Pak128 Trees, blender graphics

Carl

I wonder if this is similar to the phenomena I described here?
http://forum.simutrans.com/index.php?topic=12366.msg123984#msg123984

I find that this disappears on month change, but it can cause network troubles. I've only seen it one more time since I posted that bug report, but it was relatively recently.

jamespetts

Sarlock - thank you for the report. Might I ask that you try to see if you can find specific steps to reproduce (e.g., load X.sve, wait 2 game months and look at passengers at station Y wanting to go to stop Z)? If I am able to reproduce the issue reliably, I might have a fighting chance of fixing the problem.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Sarlock

It's a really bizarre, complex issue... I am trying to figure it out but it is very complicated to try and figure out with this huge server map.  If you look at Cogsand, my main hub on the eastern island, you will watch the tens of thousands of passengers bounce around from one potential stop to the next (every so often, I imagine when it is recalculated), and even walk over to the adjacent station and back sometimes... and then trains will come through that station and not even pick them up sometimes... and other times they will.  I haven't been able to figure it out but it is affecting everyone, looking around the maps at the stations, and some players are getting hit harder with refunds than others.

Trying to make sense of it will be a huge effort... what is really necessary is detailed routing information for passengers so that we know what path they intend to take to their ultimate destination (not just their next location, but all of them).  This may, in part, be because passengers are trying to avoid routing through overcrowded stations, but it doesn't explain some of the very odd routing choices the passengers are making.  Perhaps this is in part related to the routing problems we get with circular lines.

I'll keep digging and see what I can find, but it's very complex.

In the meantime I've doubled my cross-map lines to see what effect this has.
Current projects: Pak128 Trees, blender graphics

jamespetts

The routing information is not actually stored in the packets comprising the passengers, mail and goods: they only know their ultimate destination, destination stop, next transfer, last transfer and origin stop. Each stop is encoded with the next transfer necessary for passengers, mail and goods to reach any possible ultimate destination stop. On arriving at a stop, the passengers, mail or goods have their next transfer updated to this and wait for the next suitable convoy that will take them to that place, and so the process continues until the destination is reached. (What counts as a suitable convoy is a different point, and this will be fundamentally changed in the next major version, but the underlying idea is to choose a convoy that will be the most likely to reach the ultimate destination stop the soonest; it is this area of the program that does not work optimally with circular routes, and the new version of it, on the way-improvements branch, does work properly for circular routes, albeit there are a number of other bugs in that still needing to be tracked down).

In theory, it is possible to piece together a route using the information available in the various stop details windows, as these data (the journey time and waiting time to each direct connexion) are what are used for all routing: the shortest total journey time (that is, combination of travel and waiting time) from origin to destination is used.

Point to point journey times are used where these data are available, and these data are deleted once they have been used for a path explorer refresh. When people are building new infrastructure (especially new stops or adding vehicles to new lines), the path explorer has to be called every time that this occurs. This could conceivably result in the optimum routing changing a number of times in short succession if another player is, for example, placing a number of stops, with the result that passengers/mail/goods appear to take odd routes as what is regarded as the optimum route is changed several times in succession, possibly using different data on each occasion. Perhaps there might be something to be said for not clearing the point to point data if they have been cleared very recently, but that would require storing a new value per line/convoy, which would require stepping the saved game version and thus need to be implemented in the next major version.

Could what I describe above account for the phenomena that you have been seeing?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Sarlock

Thanks for the additional information, James, as well as what you had wrote earlier in game server chat.

I've been trying to analyze things I think we have a few different things occurring that are all combining to create some interesting/confusing results.

Something that I have observed a few times is mass groups (tens of thousands) of passengers relocating from one stop to the next, presumably to access what they believe is a better routing alternative (even if it's just the next stop down the same line).  I have been able to address some over capacity in some areas with twinning the cross ocean route but I have some residual passenger over capacity at some odd locations and I suspect that these were large batches of passengers that walked over from the train station to a small capacity canal route and are now all trying to take the canal route out of the maze and back to the train station to complete their journies (which are all over the entire map).  They haven't walked back to the train station, however, and remain stuck in these remote places, so it's very curious behavior.

The fact that route information is not saved lends a bit of support to this: these passengers are choosing what, at that time, seemed to be the best way to get to their destination and now are locked in what now seems a bizarre location to choose to get to their ultimate destination -- but if these passengers are not party to the logic of their original routing decision then they only made what seemed right at the moment and are stuck with the consequences of their rerouting decision.
Current projects: Pak128 Trees, blender graphics

jamespetts

Can anyone confirm whether there is any change in this behaviour (or any clearly anomalous behaviour) in 11.32?
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.