News:

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

waiting time

Started by asaphxiix, November 27, 2012, 04:06:21 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

asaphxiix

so I'm seeing something like this -

line 1 A-B-C; Line 2 A-E-F; Line 3 A-H-I
Line 4 C-D-Z; Line 5 F-G-Z; Line 6 I-J-Z

A is overcrowded with people whose destination is Z.
assume equal distance between all stops; a convoy leaves A to C every 4 minutes, to F every 60 minutes, to I every 120.

As I understand it, waiting time is calculated by the amount of time it takes for pax to queue up to finally get on a convoy (and not just the interval between departures), which is natural and expected. So in this scenario, we want pax to board A to C, as this is their only chance of actually getting to their destination.

Due to the overcrowding of pax waiting from A to C, waiting time will skyrocket (while waiting time to B may stay very low, this I have seen). However, correcting the situation is going to be a huge mess - it won't do to add more convoys on the A-C line 1, since pax will change their ticket to line 2 after a while, and after that line 3, and so, many convoys on line 1 are actually leaving A empty.

This issue needs to be addressed - strict organic growth of a network may be the way to overcome this - but to connect two existing networks becomes very hard, for more than one point of contact, and over-expansion can become an irreversible mess. I will try tomorrow to do this in a more balanced way, with all points of contact being able to provide the required service.

How to solve this I wouldn't know. I know pax are supposed to get on the first convoy that takes them to their next destination (given reasonable conditions), but when routing over many lines this doesn't serve. Perhaps this calculation could be expanded so pax would calculate all the way to their destination when deciding whether to board. This could be too costly, and perhaps there are other ways around it.

Carl

Note that overcrowding contributes to waiting times in more than one way. When pax are discarded -- i.e. when they give up and go home because they've been waiting for too long -- they register a waiting time even larger than the time they have been waiting. I think the idea of this is to act as a penalty for overcrowded lines. The solution then, is to find some way to stop it being overcrowded -- either by adding more convoys or just reducing the passenger factor -- but of course that is easier said than done.

jamespetts

This is in some respects a somewhat diffficult issue. I don't think that selecting which convoy to board based on ultimate route is workable on a technical level, as the routes are currently calculated periodically and stored because each iteration of hte route calculating method is very computationally intensive. Re-routing on every convoy's arrivan wouldn't work.

Of course, the issue with convoys running from A to C being empt is temporary: the high wait times would fade away as the wait times are now lower (and, thanks to Carl's work, even if the times were formerly so high that nobody at all now goes from A to C, the old waiting times will gradually become stale, so, once the new convoys have been running on the A to C line or a while, people will start using that route again.

This problem is less likely to occur if the passenger factor is lower, as it clearly needs to be in future. Does anyone have any sugggestions (or, even better,  has anyone done any testing) as to what passenger actor might work well in future games?
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.