News:

Simutrans Chat Room
Where cool people of Simutrans can meet up.

Goods choose undesirable routes with inconvenient interchanges

Started by fhaag, October 18, 2017, 08:56:50 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

fhaag

Context, in case it matters: I like playing Simutrans with pak128 in sandbox mode. Thus, I am not very interested in mastering financial hurdles; rather than that, I enjoy the challenge of designing a realistic transportation network that fulfils all the transportation needs of passengers and cargo on a large map.

Problem: Time and again, I run into the following situation (cf. attached graphic - could not find out how to show it inline in the post):

- A and B are large, high-capacity cargo train stations (located next to large cities with some industry).
- D and E are tree plantations.
- C and F are sawmills.
- Both C and F get supplied with lumber from both D and E, among others.

Now, I've set up direct truck connections to deliver lumber

- from D to C,
- from E to C,
- from E to F,
- from D to A, and
- from B to F

What I'd like to happen is as follows:

- Trucks bring lumber from D to C (because that's quite close).
- Trucks bring lumber from E to C (because that's quite close).
- Trucks bring lumber from E to F (because that's still quite close, considerably closer than using the train).
- Trucks bring lumber from D to the cargo station A, from there it gets transported by train to B, and from there it is taken by trucks to F (because D is more or less in the vicinity of A, and F is in the area around B).

Unfortunately, the last item does not work as preferred. Instead, I see my trucks taking lumber from D to sawmill C, which is "abused" as an interchange stop. Other trucks then take the lumber from C via E to F.

Needless to say, C's yard is hopelessly overcrowded with lumber waiting for transport to another sawmill. At the same time, some of my long cargo trains on the high-capacity railway line are running empty, and so are the carefully set up delivery trucks commuting between D and A, and B and F, respectively.

I see that at least the aerial distance from D to F via C is indeed shorter than the aerial distance from D to F via A and B, if that is taken into account. This may even be aggravated by the fact that I have delivery trucks alternate between bringing lumber from E to C and from E to F, thus basically forming an (unwanted!) interchange-free connection between C and F.

In general, though, it simply seems "wrong" to me that the yard of any company would be used as an intermediate stop for goods. It is neither intended nor designed (in terms of storage capacity, transportation capacity, and transportation frequency) for that purpose.

Is there any way to tell vehicles to never load any cargo at a given stop? Or maybe some method of splitting up the network into different companies, so vehicles will not bring certain goods to certain places? Or any other way to make my network behave as desired?

Thanks a lot for any suggestions!

Leartin

Simutrans looks for the shortest connection in terms of stops/interchanges (IIRC, one interchange equals 8 stops). Obviously, D-C-F is shorter than D-A-B-F, so that's the route they go for.

The best solution is usually to keep that kind of connection in mind and use it accordingly. In this case, a smart way would be to have connections D-C, E-F, and D-E. This way, both D-C and E-F would transport wood from both plantations, while D-E would transport wood both ways, which gives excellent profit.

If you don't want to do this, just split up C. Create two stops both connected to the factory, and simply have D-C1 and E-C2 - no connection D-C-F happens anymore, so the lumber needs to go D-A-B-F.

fhaag

Thank you for the suggestions!

Quote from: Leartin on October 18, 2017, 09:17:46 AM
In this case, a smart way would be to have connections D-C, E-F, and D-E. This way, both D-C and E-F would transport wood from both plantations, while D-E would transport wood both ways, which gives excellent profit.

This sounds like it's just moving the problem elsewhere. With this solution, the tree plantations would be used as interchanges. That seems just as unrealistic - basically, it means that tree plantation D would allow its direct competitor (!), tree plantation E, to store its products on their own cargo ramp, and vice-versa, to provide the competitor with a more convenient delivery route to their mutual customer they compete for.

Quote from: Leartin on October 18, 2017, 09:17:46 AM
If you don't want to do this, just split up C. Create two stops both connected to the factory, and simply have D-C1 and E-C2 - no connection D-C-F happens anymore, so the lumber needs to go D-A-B-F.

That sounds at least technically like a solution, albeit it seems weird that a company would have different cargo ramps for different suppliers, rather than having vehicles pick whichever is free with a choose-platform sign. In any case, the space around companies can be limited, so this will probably help at most for distinguishing two or three different destinations (see attached image; sorry for the severe compression).

Leartin

Actually, if you create a new station along the E-C connection and let the cars stop there on the way back, that should be enough to make D-A-B-F more viable (if there are no stops in between). Sorry, I misread and thought you had a D-C-F connection, while it's actually D-C-E-F.

gauthier

This is a recurrent problem in freight, I have the same issue with oil and refineries in an even more complex layout and I ended up building a big oil hub  :-[

If I had an extension request to make about these issues, it would be adding an option in schedules to force convoys to stay empty after one or several station, that could be used for trucks coming back from C to E and problem fixed.

Looking at your map, in my opinion, the best thing to do is to create a wood hub station in the middle with two lines of trucks: D-H-C and E-H-F (or D-H-F and E-H-C, or even something more complexe, depending on how balanced are production rates and consuming rates of your factories).

If your road network does not easily support this option, you can still go for E-D-C and D-E-F or for Leartin's solution (D-C, E-F and D-E).

DrSuperGood

One must design networks to accommodate this behaviour. This usually means either going point to point (no interchanges) or going to dedicated interchanges (designed to cope with traffic in any direction, can alter schedule easily if a build-up occurs).

With passengers and mail I usually feed to a local interchange and then have that interchange transport to different local interchanges or a public interchange. This is not realistic but makes managing lines for no overcrowding and 100% pickup a lot easier. This same logic can be applied to goods as well although most of the profit will only be made between the interchanges due to double haulage. Might have problems with payment models that are not between stops due to some minor back haulage at points.

Ters

Well, there are some fundamental differences between passengers/mail and other goods.


  • Passengers are (at least initially) generated in rather small amounts over large areas. Goods is generated in large quantities in small, isolated locations.
  • Kind of related to the former, but since passengers are generated in small quantities in built up areas, you typically need lots of small stops to collect and "deliver" them. (Unless you go wild with huge subway stations, or even elevated solutions.) Industries often have open spaces around them for building large stations with lots of capacity, possibly even excess capacity depending on the pak sets cost modelling.
  • If the goods station serving a factory overflows, some amount of goods can be retained in the factory. If a passenger station overflows, new passengers will simply never materialize and the number of sad faces rise.
  • Real-life passengers are somewhat more impulsive, random and clever than goods. They can take a detour just for the journey itself. Real-life goods can also take apparently strange detours. Shipping raw materials from Europe to China in order for it to be manufactured into something that is shipped back to Europe makes some kind of whacked-up economic sense, but shipping raw material from Europe to China only to be shipped back unprocessed to Europe along with more raw materials to be processed in Europe makes no sense at all. (Of course, commuters do not tend to willingly take strange detours, although they sometimes have to due to cancellations and road construction work.)
  • Real-life passengers mostly route themselves (although there are deliberately connecting lines, where you might only have to buy one ticket). Real-life goods is routed by the shipping agent, which may deny some routes. (Some buses around here do not pick up passengers on part of their route, only drop off. Also vice versa, but that is slightly harder to control, except that passengers attempting it has to pay for a longer distance and hope that someone, preferably with a baby transport, stops the bus to get on where they want to get off. This has to do with higher-level politics, than pure logistics, though.)

One-way lines have been denied before. To change that, one probably should refute the argumentas against inclusion (which I do not remember). I don't think this was a matter of no available developers for it, which has been the case for lots of other wanted features.

In a sense, having only one-way lines in Simutrans may be too simplistic. Industries themselves only want to trade with certain other industries. Why shouldn't the players be able to choose to only work for certain industries, or even pairs of industries, rather than anything within the catchment areas? Overwhelming complexity perhaps.

fhaag

Quote from: Leartin on October 18, 2017, 11:55:11 AM
Sorry, I misread and thought you had a D-C-F connection, while it's actually D-C-E-F.
It depends what you wish to express. I have a D-C-F connection when you only count transfers. E is just an intermediate (non-transfer) stop for the vehicles going from C to F. (Of course, that is not meant to be a C-F connection in there. Vehicles are meant to return empty on the C-E portion, load new goods at E, and take them to F.)

Quote from: gauthier on October 19, 2017, 12:57:45 PM
If I had an extension request to make about these issues, it would be adding an option in schedules to force convoys to stay empty after one or several station, that could be used for trucks coming back from C to E and problem fixed.
I thought about that, but I am not convinced it does not break other things. Note that, especially in the case of sawmills, they consume lumber and produce planks - both of which are wood, which is transported by the same type of vehicles. It is indeed reasonable that a vehicle on a triangular (or more complex) itinerary takes lumber from somewhere to a sawmill, unloads it, loads planks instead, and brings them at some other place X. The only action that is undesired in that case is that the vehicle unloads nothing at the sawmill, and instead drops off the lumber at X, because X happens to be reached by another wood transporter that goes to the consumer of that lumber.

Therefore, I have taken the liberty to post an extension suggestion of my own, if not for serious consideration, then at least for memory and inspiration.

Quote from: gauthier on October 19, 2017, 12:57:45 PM
Looking at your map, in my opinion, the best thing to do is to create a wood hub station in the middle with two lines of trucks: D-H-C and E-H-F (or D-H-F and E-H-C, or even something more complexe, depending on how balanced are production rates and consuming rates of your factories).
The thing is, there are already two "wood hub stations", namely A and B. It feels simply "wrong" to have three large cargo hubs in the same area that has only two major settlements. I realize a part of this problem is caused by Simutrans seemingly arbitrarily scattering industry across the countryside, rather than having industry flock around population centers in some way. Still, note that there are more tree plantations and more sawmills around. No matter where I place my cargo hubs, there will always be a few supplier/consumer combinations that are best served by direct trucks, thereby again creating an alternative longer route instead of the intended route via the cargo hubs. Either that, or I end up building cargo hubs more or less between every connected set of companies, which somehow defeats the purpose.

Quote from: DrSuperGood on October 19, 2017, 07:07:17 PM
This usually means either going point to point (no interchanges) or going to dedicated interchanges (designed to cope with traffic in any direction, can alter schedule easily if a build-up occurs).
I am aiming for the dedicated interchanges. But industrial buildings are so randomly strewn across the map that, unless there is an interchange every few tiles, some of the supplier/consumer pairs are always best served with point-to-point connections.

jameskuyper

The thing is, the reasonable location for your wood hub is in the middle between C, D, E, and F. Why in the world are you trying to use A and B for that purpose, when they are nowhere near to being in the right position?

fhaag

Quote from: jameskuyper on October 20, 2017, 10:09:23 PM
The thing is, the reasonable location for your wood hub is in the middle between C, D, E, and F.
I'm not sure that is true. C and F are supplied by 7 and 16 tree plantations, respectively. The network extends quite a bit beyond the boundaries of the tiny excerpt I included in my drawing.

Quote from: jameskuyper on October 20, 2017, 10:09:23 PM
Why in the world are you trying to use A and B for that purpose, when they are nowhere near to being in the right position?
Why do I, based in South-Western Germany, have to travel to the North, across a state border, to reach Frankfurt airport, when I want to travel to South-East Asia? Transport networks with hubs work like that. In order to bundle many travelers in a focal point for a longer distance trip, some of these travelers may have to undertake what is, at first glance, quite a detour from their actual trip.

DrSuperGood

QuoteI am aiming for the dedicated interchanges. But industrial buildings are so randomly strewn across the map that, unless there is an interchange every few tiles, some of the supplier/consumer pairs are always best served with point-to-point connections.
In such case I back haul them to an interchange and haul the products out. This is how most logistics companies work in real life, as they will haul a package to their depot even if the recipient is close to the sender as that is the only way they can manage/process such large volumes of packages.

This only works for payment models for between stops. If you use the other payment models, such as distance towards destination, the back haulage might eat all the profit.

JIT2 was meant to fix a lot of these issues by making goods flow continuously instead of in bursts. However it has issues still.

gauthier

QuoteI thought about that, but I am not convinced it does not break other things. Note that, especially in the case of sawmills, they consume lumber and produce planks - both of which are wood, which is transported by the same type of vehicles. It is indeed reasonable that a vehicle on a triangular (or more complex) itinerary takes lumber from somewhere to a sawmill, unloads it, loads planks instead, and brings them at some other place X. The only action that is undesired in that case is that the vehicle unloads nothing at the sawmill, and instead drops off the lumber at X, because X happens to be reached by another wood transporter that goes to the consumer of that lumber.
Indeed this is a simple solution but that does not necessarily work in every situation. A finer solution would be to force unloading of specific goods (lumber or planks for instance) but that would be much heavier for the player to manipulate and possibly complex to implement. However, I know that the first solution would have saved me a lot of headaches.

Leartin

Quote from: fhaag on October 20, 2017, 10:53:32 PM
Why do I, based in South-Western Germany, have to travel to the North, across a state border, to reach Frankfurt airport, when I want to travel to South-East Asia? Transport networks with hubs work like that. In order to bundle many travelers in a focal point for a longer distance trip, some of these travelers may have to undertake what is, at first glance, quite a detour from their actual trip.
That's nowhere near a fair comparison. Even if you live at the very border - Basel-Frankfurt is about 300km apart. Frankfurt - Bangkok is about 9000km apart - 30times more distance.
According to your map, it's more like you want a strong connection Frankfurt-Nürnberg, so much so that even Basel-München is supposed to use that connection, even though you have a connection via Albstadt and Ulm. Ignoring the fact that a private person would probably go over Zürich and Memmingen in a direct connection. You can't provide a network and tell people/goods where they are supposed to go. You provide a network, and people/goods choose their way. You don't have direct control over it.

prissi

Every time i fly to Berlin from Tokyo, I see my hometown from above roughly two hours before touchdown in Paris. This is 2h out of 13h so the detour is 30% of the whole trip in Km or rather 40% timewise (depending on connection times). So also in real life large detours exist.

But the routing is Simutrans has a flat fare: You pay a fixed amount when entering and choose your route ccording to this.

Isaac Eiland-Hall

Quote from: fhaag on October 18, 2017, 10:51:09 AM
basically, it means that tree plantation D would allow its direct competitor (!), tree plantation E, to store its products on their own cargo ramp, and vice-versa, to provide the competitor with a more convenient delivery route to their mutual customer they compete for.

Technically, you as the transportation company have bought land next to each factory and have built a warehouse on your own land. What you do with that land is up to you. No products are being stored on the factorys' lands.

Leartin

Quote from: prissi on October 21, 2017, 07:49:05 AM
Every time i fly to Berlin from Tokyo, I see my hometown from above roughly two hours before touchdown in Paris. This is 2h out of 13h so the detour is 30% of the whole trip in Km or rather 40% timewise (depending on connection times). So also in real life large detours exist.

Seems as if they should build a larger airport in Berlin... oh, wait...   ;D
But also: Tokyo-Berlin: 8900km; Tokyo-Paris: 9700km; Tokyo-Frankfurt: 9300km. So the airport you could use (I guess Paris is chosen for reasons of price and timetable, which don't exist in Simutrans) is 400km away, on a trip that would take 8900km. Even if you count it double since you go backwards to reach it, you'd have 800km out of 9700km travelled, so only 8% of your travel distance is detour.
Furthermore, in Simutrans, you would choose the "best" route, even if it is terrible. If your only option to go to Tokyo would be to land in Johannisburg(South Africa) first, you'd do it. But is there a seemingly "better" connection? Is there a flight route from Berlin to some airport in northern russia, from which you can go on to Tokyo, even if the plane wouldn't be as fast or comfortable, to optimize your distance with the same number of interchanges? Despite being a terrible idea anyway, I don't know of any such airport.

Looking at the map provided, D-C-F would already be 30% detour. D-A-B-F means you'd go well over double the distance of a direct connection. Landing in Johannisburg...
The game does not even look for distance, just for the number of interchanges/stops. There are situations where it takes the longer way because of that - but what's happening here is not the game failing.

fhaag

Quote from: DrSuperGood on October 21, 2017, 01:29:38 AM
In such case I back haul them to an interchange and haul the products out. This is how most logistics companies work in real life, as they will haul a package to their depot even if the recipient is close to the sender as that is the only way they can manage/process such large volumes of packages.
That's an interesting suggestion. Other than for mail, I hadn't yet been using cargo hubs that were meant as the only interchange link on a piece of cargo's way from its origin to its destination. Any transport that wouldn't require a (presumably faster, or otherwise advantageous) movement between two cargo hubs was sent directly from its origin to its destination. Maybe I need to consider changing that strategy.

Quote from: DrSuperGood on October 21, 2017, 01:29:38 AM
This only works for payment models for between stops. If you use the other payment models, such as distance towards destination, the back haulage might eat all the profit.
As I play in sandbox mode, this isn't very relevant for me, but it is still a valuable hint.

Quote from: Leartin on October 21, 2017, 07:35:15 AM
That's nowhere near a fair comparison. Even if you live at the very border - Basel-Frankfurt is about 300km apart. Frankfurt - Bangkok is about 9000km apart - 30times more distance.
It's true, and to be more "central", let's consider Stuttgart as the point of origin: From there, it's just 150km to Frankfurt, giving us a distance detour factor of about 60. The time detour factor is already much lower, more like 10.

But maybe "South-East Asia" was indeed a bit exaggerated - it works the same way for the much shorter (roughly 1500km) journey from Stuttgart to Algier. A likely route for travelers is *still* to travel the 150km North to Frankfurt to embark on a flight to the South.

I picked "large-scale" trips because it might be more intuitive to have an appropriate idea of the approximate locations and distances for international visitors of the forum, but the phenomenon is even a lot more prevalent at smaller scales, more similar to the orders of magnitude that Simutrans maps deal with.

For instance, to travel from the town of Herrenberg to Pforzheim (an aerial distance of some 35km), you would normally take the train to Stuttgart's central station and then take another train from there - totalling in a travelled distance of some 80km (see attached map excerpt from bahn.de). That's right, travelers make a detour of about the same distance as the total distance they intend to bridge.

Mind you, that's not an outlier. The distance from Ludwigsburg to Baden-Baden is about 72km, but train connections would use Karlsruhe as a hub, adding some 15km on top of that. And slightly faster connections even use both Stuttgart and Karlsruhe as hubs, ending up at a travel distance of 105km. Thus, 1/3 of the distance is added by traveling to/from hubs.

As I said - totally normal that considerable detours are made just to reach hubs.

With that said, though ...
Quote from: Leartin on October 21, 2017, 07:35:15 AM
According to your map, it's more like you want a strong connection Frankfurt-Nürnberg, so much so that even Basel-München is supposed to use that connection, even though you have a connection via Albstadt and Ulm.
The map was not drawn to scale. It was merely meant to give an approximate impression of which place is North and which place is South and which place is rather closer to which place than which other place. I have, however, attached a more accurate map now, which is based upon the minimap directly taken from Simutrans. Thus, the only significant detour is the transport of goods from B to F. Distance-wise, however, it is still well in-line with the usual detours to hubs, as shown above, even if we ignore the aspect that a sufficiently high-frequency truck connections exists between B and F (which will become even more capable as soon as time has progressed far enough so I can buy trucks that are fast enough to go on the access-controlled high-speed motorway).

Quote from: Leartin on October 21, 2017, 07:35:15 AM
You can't provide a network and tell people/goods where they are supposed to go. You provide a network, and people/goods choose their way. You don't have direct control over it.
Actually, to some extent, yes: I do not provide a network that runs through a small sawmill's backyard, and I would refuse to store anything there. The point is that Simutrans won't let me express that refusal.

Quote from: Isaac.Eiland-Hall on October 21, 2017, 07:57:34 AM
Technically, you as the transportation company have bought land next to each factory and have built a warehouse on your own land. What you do with that land is up to you. No products are being stored on the factorys' lands.
I wonder, does that happen in real life? At least for cargo stops next to single companies, I tend to interpret them as a loading bays integrated into company buildings rather than as separate warehouses. Maybe that's a case of trying to represent more than Simutrans itself explicitly simulates; it works for some things (access-controlled multi-lane roads), but maybe not for others.

Leartin

Quote from: fhaag on October 23, 2017, 09:50:21 PM
For instance, to travel from the town of Herrenberg to Pforzheim (an aerial distance of some 35km), you would normally take the train to Stuttgart's central station and then take another train from there - totalling in a travelled distance of some 80km
I'm not so sure - a bus connection via Calw is available and just as quick. Rather than distance, it would probably depend on such things like price, comfort, timetable, personal preference - all things not considered in Simutrans. Since the bus has more stops, if you start at the railway station, the train would be taken. However, if you start anywhere along the bus lines in Herrenberg, you'd have to use the bus to get to the railway station, meaning you have some extra stops and an interchange for the train route, and it might swing in favor for the bus connection. Even though the "hub" at Calw is certainly smaller than Stuttgart.

My claim is not that detours don't exist in reality - of course they do. They also do in Simutrans, perhaps more so than in reality even. But why take a longer detour if a closer connection is readily available?


Your map actually makes matters worse, because it clearly shows that E-C is a longer connection than D-F would be. Hence in reality, any transport company that goes E-C would also go D-F in a direct connection, or both would transfer over the same hub(s).
If you want to use A-B (I still don't see why you would do that) why don't you go D-A, A-C, A-B, B-F, B-E and E-F? If E-C was gone, A-B was the only connection available...

Isaac Eiland-Hall

Quote from: fhaag on October 23, 2017, 09:50:21 PM
I wonder, does that happen in real life? At least for cargo stops next to single companies, I tend to interpret them as a loading bays integrated into company buildings rather than as separate warehouses. Maybe that's a case of trying to represent more than Simutrans itself explicitly simulates; it works for some things (access-controlled multi-lane roads), but maybe not for others.

The thing about Simutrans is that it is necessarily part-simulation and part-game (i.e. unrealistic-simulation) due to a number of issues. For one, it's a tile-based map. In real life, vehicles are sent to a company to pick up goods. In Simutrans, truck stops¹ are placed on a tile and owned by the player. I suppose if the game had been written to mimic real life more, then perhaps trucks would enter the company. But this was a decision made, and so in the Simutrans universe, that's how it works.

Similarly, time and distance makes sense in the game's context, but not as much as a simulation. Also, trucks never need gas or repairs; drivers never need sleep.

None of these things are bad; it's all about the compromise between game and simulation.



¹ the term used in Simutrans for a place to pick up or deliver goods