Train bandwidth Questions

Post all other topics which do not belong to any other category.
Nich
Fast Inserter
Fast Inserter
Posts: 171
Joined: Wed Jan 18, 2017 2:33 am
Contact:

Train bandwidth Questions

Post by Nich »

So I have read that trains have a very good bandwidth. However I have having troubles achieving this. With 12 stack inserters I have been able to make a station that can unload a train car in 1 minute. However this only provides approximately 2 yellow belts worth of copper and iron (1 of each). I have 24 stack inserters loading. In addition the factory will run dry in 30 seconds after the train leaves. I figured with the addition of a stop to unload the green circuits I would need 5 trains running the route just to keep things busy.

I am guessing this is mostly caused by the fact that I don't have any stack inserter bonus. At what stack bonus do trains become useful?

One of my favorite things about this game is the energy management. It makes me pretty sad that the stack inserter which was designed for moving items from chest to chest does it less efficiently then a yellow or a blue inserter. Yes it does do it twice as fast as a blue (with no stack bonus) but it uses almost 4 times more power. Level 2 capacity actually makes blue inserters just as attractive as they get a 100% bonus while stack inserters only get a 100% bonus(from base). Level 1 and 3 make it not quite as a bad choice. It is not until level 5 that stack inserters break even on energy requirements/items moved. Level 6 is the only level that makes stack inserters more efficient and level 7 brings them back to break even. Keep in mind this is only chest to chest. Anything chest to belt just gets worse.

Maybe it is just me but stack inserters definitely need to be reworked. I would say make them move at the speed of yellow inserters but give them a starting stack size or 3 or 4. Then cut the energy requirement to be equal to a blue inserter.

While I was looking up numbers I noticed Filter inserters need a revamp as well. Item scanning should use more power and thus the the drain should be 2-6 times greater while the energy per movement should be the same as all the other inserters.

Finally we get to cost. Total cost of my system just for delivery is (55 iron, 32 copper and 2 plastic)x36 = (assuming plastic is worth 4) 3420. With that in mind ignoring the cost of trains and rails and setup belts. I have to run my belts for 570 tiles. (about the largest factory I have ever created) Then if we add in trains and wagons were looking at an additional 3570 or 595 tiles. Then rails are about 1/4 the belt cost per tile so we add 291x2 (has to be in a loop because I would need the 5 trains running constantly. Giving a grand total of 1748 tiles before trains break even with a pair of yellow belts

User avatar
riking
Inserter
Inserter
Posts: 42
Joined: Thu May 05, 2016 5:35 pm
Contact:

Re: Train bandwidth Questions

Post by riking »

Sounds like you're using single-wagon trains?

You'll want to ramp that up. Try a LL-CCCC-LL train system. The core realization here is that by increasing the number of wagons, you're moving 4 times as many items, with the same round-trip time.

The reason for double-header trains is that the stations are much smaller (and easier to build), and it turns out that smaller builds make a huge difference when you're scaling up really high.

The reason for stack inserters is that you can get the train out of the station faster and make way for the next train to unload. You can use blue inserters if the train is waiting at the station for a while and waiting isn't too bad.

greep
Fast Inserter
Fast Inserter
Posts: 108
Joined: Mon Apr 25, 2016 3:12 am
Contact:

Re: Train bandwidth Questions

Post by greep »

Two things.

First, you pretty much answered your own question:
I am guessing this is mostly caused by the fact that I don't have any stack inserter bonus. At what stack bonus do trains become useful?
https://wiki.factorio.com/Inserter_capa ... (research)

I.e. at max research you have 6 times the inserter capacity. So, not 2 yellow belts, but 4 blue belts. More than enough to max out any one ore pickup. And just the green science research will double the amount.

Second point:

The bandwidth for your train network isn't 1 train it's how many trains you can fit on the rails without deadlock. So, not 4 blue belts but more like 40 for rails. That's a fair bit more than two yellow belts ;) There's a steam guide dedicated to two way single track networks if you must, but the best is usually dual track, one way in each direction.

As for cost of inital setup for trains, yeah it's a bit contentious, and signaled dual tracks are a pain without personal roboports. There's a sticky in the balance sub-forum for trains discussion.

Nich
Fast Inserter
Fast Inserter
Posts: 171
Joined: Wed Jan 18, 2017 2:33 am
Contact:

Re: Train bandwidth Questions

Post by Nich »

That is kind of funny. I never realized the first 2 levels of stack inserter bonus were only red/green. And here I am researching power armor mk 2 :/

I am guessing for optimal bandwidth on train routes you always want to be loading/unloading goods (I.e. 1 train at every station and 1 train headed to every station?

zytukin
Fast Inserter
Fast Inserter
Posts: 215
Joined: Sat Mar 12, 2016 12:14 am
Contact:

Re: Train bandwidth Questions

Post by zytukin »

That could work, or even with more trains then that. But any slight delay would screw it up. Could end up with multiple trains arriving at a station at the same time resulting in delays of other trains unless you build a large enough waiting area. Plus the numerous trains arriving at once could result in too many items arriving at once and the unloading belts won't he able to accommodate all the items delaying unloading of the later trains, or conversely delays in loading if there aren't enough items available to load all that arrive at once.

The ideal setup all depends on the throughput needed.
For some things I have 1 train per destination station unloading directly to conveyors because high volume isn't needed.
For some things I have 1 train per station unloading into chests then to conveyors because steady supply is needed and the chests provide a buffer.
Some things have 4 stations for 5-10 or more trains and are set up to unload and be ready for the next train in under 15 seconds.
My iron plate distribution center has 16 stations unloading, a large chest buffer, and 4 loading. Haven't tested it yet though.

Nich
Fast Inserter
Fast Inserter
Posts: 171
Joined: Wed Jan 18, 2017 2:33 am
Contact:

Re: Train bandwidth Questions

Post by Nich »

My initial need for having multiple trains was due to no stack inserter bonus. It was taking a minute to unload a train which only gave the station enough buffer to run for 30 seconds.

So I have made a simple train based science pack assembler just to experiment. It was actually quite difficult. First I had to get up the car so that the correct ratios of iron and copper would be loaded. 5 copper stack inserters and 6 iron stack inserters gave nearly the right ratio. I then programed the train to pick up the correct ratios of intermediate parts required and drop them off. Just so happened that 1 wagon had enough room to make 101 of each pack. It took quite a while for each network to saturate but once it did it worked quite nicely.

However there were things that bugged me.
1. I hate trains going on trips unloaded. Thus each station was a loading/unloading station. This made me realize something else. Compression, it takes 5 wagons of Iron and Copper to make 1 wagon of green circuits. Just about everything is like this. Except belts and inserters. So now I am left with the question do I send an empty train from green circuits to get more plates or do I take an incomplete load of green circuits to the next destination.

2. I had set up my route with what I consider a very low production numbers. Things were going fine with 1 or even 2 trains on the loop. Once I hit 5 trains they were draining what I would consider major overkill on my smelting stacks. This made me realize that bandwidth at the beginning of a route is orders of magnitude larger then the end of a route. This is mainly due to compression and stack size increases. My trains started full and ended with only using 3 half stacks.

3. Train routes can be very difficult/time consuming to set up properly especially when setting up mixed cars.

4. Don't put copper wire on belts OR trains. I thought that with the increased stack size of copper wire it would be fine to load on a train. Wrong, the train ends up spending forever loading and unloading the wire

5. I was a little disappointed that even at full tilt my machines were barely running 50% of the time. However this was purely a design error as I did not have the correct ratios of machines. I had 4 assemblers at every station which explains why the only things running all the time were the science packs (the bottleneck)

iceman_1212
Filter Inserter
Filter Inserter
Posts: 256
Joined: Wed Aug 17, 2016 9:49 am
Contact:

Re: Train bandwidth Questions

Post by iceman_1212 »

It is tough to engage in a discussion on train bandwidth without knowing your rail-setup (single-headed vs. double-headed, # of wagons, single-sided loading/unloading vs. double-sided loading/unloading, etc.).

I only recently started using trains systematically. Train throughput has far exceeded my expectations.

I did a test where I left my current base running overnight to see if my rail could adequately supply my smelters. All ore is brought by train - no local deposits. My base is a conventional main bus (which I'm using to make equipment + modules for a bigger base), i.e., 4 blue belts iron, 4 copper, 4 green circuits which are fed separately, etc.

My rail-setup is about as simple as possible: all trains are L-CC, one track in each direction (i.e., all trains are on a single main line, with branches splitting off to ore deposits), the only crossings are left turns (left hand drive), one ore-type per train (which means any back-pressure on belts is reflected in rail network), two train-stops on each train's schedule (ore pickup and ore dropoff) and every train has same wait conditions: Inventory Full at pickup site, Inventory Empty at dropoff site. The only time I use chain signals are at waiting bays at loading stations. (Max stack inserter upgrade, ofc.)

There are a total of 36 trains, ~15 or so mining outposts (the distant sites have multiple loading stations), 12 drop-off stations and 3 trains per drop-off station.

Results are shown below. (Note that the flatline is because my output steel chests filled up with module 3s so production didn't resume until I added more - the results would show even higher throughput if it weren't for that silly mistake on my part.) Trains delivered ~41k ore per minute (~17 blue belts) to smelters over the last 10 hours. I have a combinator that measures train frequency on the mainline coming to my smelters: ~10 trains per minute (~4k trains have passed that point over the last six and a half hours).

I'm not sure if throughput increases with greater complexity (double-header, multiple stops per train, longer trains, multiple item types per train, etc.) but I plan to do more testing - I would hope that it does but I would not be surprised if it doesn't.

Image

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Train bandwidth Questions

Post by Yoyobuae »

Trains moving at max speed require 166 tiles braking distance from the train in front. The length of the train itself also increases the minimum distance between trains by 7 tiles per locomotive/wagon. At full speed trains move at 72.222 tiles per second.

So it's easy to calculate the max throughput of a single line of rails. For L-CC trains it's:
distance between trains = 166 + 3 x 7 = 187 tiles
time between trains = 187 / 72.222 = 2.589 seconds
max train per minute throughput = 60 / 2.589 = 23.172 trains/minute

That's assuming there's enough unload stations to handle all the trains.

Note that while extra cargo wagons only increases the distance between trains by 7 tiles, it greatly increases payload. Of course to achieve max speed extra locomotives might be needed, which increases length without increasing payload. Max theoretical throughput would be infinitely long train with just the right ratio of locomotives to still achieve full speed.

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3699
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Train bandwidth Questions

Post by DaveMcW »

LCC is the optimal ratio for max speed. So the limit as train length approches infinity is:
distance between LCC sets = 3 x 7 = 21 tiles
time between LCC sets = 21 / 72.222 = 0.291 seconds
max LCC per minute throughput = 60 / 0.291 = 206.35 LCC/minute
max cargo wagons = 206.35 * 2 = 412.7 cargo wagons per minute.

Frightning
Filter Inserter
Filter Inserter
Posts: 807
Joined: Fri Apr 29, 2016 5:27 pm
Contact:

Re: Train bandwidth Questions

Post by Frightning »

DaveMcW wrote:LCC is the optimal ratio for max speed. So the limit as train length approches infinity is:
distance between LCC sets = 3 x 7 = 21 tiles
time between LCC sets = 21 / 72.222 = 0.291 seconds
max LCC per minute throughput = 60 / 0.291 = 206.35 LCC/minute
max cargo wagons = 206.35 * 2 = 412.7 cargo wagons per minute.
Hmm, but a slower train would have shorter braking distance, would it not? So something like LCCC would be slower, but you could have a higher density of such trains on the network than LLCCCC trains, no?

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3699
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Train bandwidth Questions

Post by DaveMcW »

It's an infinite length train, the braking distance per wagon is effectively zero. :P

Xeorm
Fast Inserter
Fast Inserter
Posts: 206
Joined: Wed May 28, 2014 7:11 pm
Contact:

Re: Train bandwidth Questions

Post by Xeorm »

On inserters, energy usage is tricky to measure because the drain while moving is the significant power draw usually. Either way, being less efficient yet having higher performance is pretty standard. The inserters are twice as effective at the very least, and up to 4x when fully maxed out. That's not too shabby. Even if it were needed to be efficient, I highly doubt they're a high drain on any major base. There's so much else in a base that should be driving up energy costs instead that I wouldn't worry about it. Really though, the big thing is throughput that you want to worry about, not so much efficiency. Get a level or two of the stack bonus and unloading trains becomes much faster. Just one level increases your speed by 50%, and is fairly cheap in science. Same with the second level of research. Unloading in 30 seconds would certainly help train bandwidth.

Looking at train bandwidth costs, we run into some math hurdles. Each rail tile covers 2 game tiles, while costing 3.25 ore per, compared to 2 yellow tiles costing 3 ore per. Effectively, the same cost, though if you use two lanes everywhere for the train you'd need to double the cost, but still fairly cheap. Main advantage here is the rail cost itself is minuscule and easy to do. If you want to link up a mining outpost with the main base, you need to run a yellow belt line for each base, and the mining output would be entirely limited to that belt's speed. Assuming you have enough trains to keep to keep your unloading station busy, you're running at ~66 items per second. Compared to the 13.3 of a single yellow belt line. That's not too shabby. Even better is how upgradeable the system is. Research the first two stack bonuses and you've doubled the speed, without needing to run any additional lines in. Big cost here as you've noticed is the startup costs. It costs a lot to unload, and costs a decent chunk for each additional train.

So lets do some math. Keeping your setup running at full speed yields 66 items per second, or 5 belts worth. I'm betting you'll need ~4 trains. 1 to be loading, 1 to be unloading, and 2 in transit, one each way. LCC is 635 resources per train, so 2540 total. Cost of 24 inserters is 2280. Tack on another 180 for misc stuff and you're looking at 5000 resource cost. Each tile takes up 1.5 * 5 per, so our 5000 resources breaks even at 667 tiles long. Sounds excessive, but lengths get big very quickly in this game depending on resource spawns. Costs per tile after that are half the cost of 5 yellow belts. Or basically 1000 tiles long and you start seeing a net plus using your rail system.

Say too that later on you want more throughput. In order to increase the throughput using yellow belts, by necessity you need to double the number of belts. You've doubled the cost of your system, and this ratio will continue effectively forever. The train system though? Researching stack bonus twice would just about double your throughput, no extra input necessary, aside from maybe a new train or two. That's fantastically good savings.

This is before talking about the headache of how frustrating it can be to add many belts, how belts are much more likely to be attacked compared to rails, and how easy it is to travel on the map with a good train system compared to a belt system.

Frightning
Filter Inserter
Filter Inserter
Posts: 807
Joined: Fri Apr 29, 2016 5:27 pm
Contact:

Re: Train bandwidth Questions

Post by Frightning »

DaveMcW wrote:It's an infinite length train, the braking distance per wagon is effectively zero. :P
Good point, I was thinking more towards practical sized trains though. I don't think I've seen anyone use trains with more than 8 wagons, and most large scale systems I see run primarily on 4 wagon trains (whether 1-way or 2).

Edit: The other issue I see is that following distance must be equal to braking distance+(train length)*2 because of how signals and blocks interact. So that right there just about halves the wagons/sec number.

User avatar
OdinYggd
Fast Inserter
Fast Inserter
Posts: 200
Joined: Wed May 25, 2016 12:55 pm
Contact:

Re: Train bandwidth Questions

Post by OdinYggd »

Frightning wrote:
DaveMcW wrote:It's an infinite length train, the braking distance per wagon is effectively zero. :P
Good point, I was thinking more towards practical sized trains though. I don't think I've seen anyone use trains with more than 8 wagons, and most large scale systems I see run primarily on 4 wagon trains (whether 1-way or 2).

Edit: The other issue I see is that following distance must be equal to braking distance+(train length)*2 because of how signals and blocks interact. So that right there just about halves the wagons/sec number.
I'm working a file that can handle 20 length trains- 4 locomotives and 16 wagons.

To date though it has only operated LLCCCCCCCC (2 loco 8 wagon) trains on it, other than a test run of the full 20 length configuration.


I tend to do roughly 1 locomotive to every 4-5 wagons though, because even though you take a slight top speed penalty you more than double the train's capacity.


Stack inserters are a must, but so is proper buffer design. Its possible to unload a car full of iron plates in mere seconds time, using 12 stack inserters into active provider chests so the logi bots can take it away while the next train is entering the station.
In my mind, Steam is the eternal king of the railway.

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Train bandwidth Questions

Post by Yoyobuae »

Frightning wrote:Edit: The other issue I see is that following distance must be equal to braking distance+(train length)*2 because of how signals and blocks interact. So that right there just about halves the wagons/sec number.
Signals can be placed closer than a train length away from each other. The braking distance figure I posted was measured on rail with signals as close as they can possibly be placed.

Frightning
Filter Inserter
Filter Inserter
Posts: 807
Joined: Fri Apr 29, 2016 5:27 pm
Contact:

Re: Train bandwidth Questions

Post by Frightning »

Yoyobuae wrote:
Frightning wrote:Edit: The other issue I see is that following distance must be equal to braking distance+(train length)*2 because of how signals and blocks interact. So that right there just about halves the wagons/sec number.
Signals can be placed closer than a train length away from each other. The braking distance figure I posted was measured on rail with signals as close as they can possibly be placed.
hmm, I guess you could spam signals to maximize train throughput.

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3699
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Train bandwidth Questions

Post by DaveMcW »

I underestimated the power of air resistance in 0.14. The first locomotive is very inefficient now.

1 locomotive 1 cargo wagon has a max speed of 258.6 km/h
2 locomotives 19 cargo wagons has a max speed of 259.2 km/h
3 locomotives 38 cargo wagons has a max speed of 259.2 km/h
4 locomotives 57 cargo wagons has a max speed of 259.2 km/h

So the locomotive overhead is less than 6% on an infinite train.

Engimage
Smart Inserter
Smart Inserter
Posts: 1067
Joined: Wed Jun 29, 2016 10:02 am
Contact:

Re: Train bandwidth Questions

Post by Engimage »

But such long trains meet another issue - acceleration/breaking speed. MadZuri was doing an experiment which clearly stated that actual bandwidth depends really much on that. So to be effective your train has to be LCCL max to LCCCCL (already slow enough) and LLCCCCLL to LLCCCCCCLL which works even better for single-headed trains.
Acceleration is required on smaller distances and many intersections while it has much less effect on long range transportation.

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3699
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Train bandwidth Questions

Post by DaveMcW »

Acceleration / braking can be done on a side track leading to the station.

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: Train bandwidth Questions

Post by Yoyobuae »

PacifyerGrey wrote:But such long trains meet another issue - acceleration/breaking speed. MadZuri was doing an experiment which clearly stated that actual bandwidth depends really much on that. So to be effective your train has to be LCCL max to LCCCCL (already slow enough) and LLCCCCLL to LLCCCCCCLL which works even better for single-headed trains.
Acceleration is required on smaller distances and many intersections while it has much less effect on long range transportation.
The ideal train system is one were trains only accelerate once (when setting off from train stop) and brake once (when arriving at destination). By the way, train configuration doesn't affect brake distance. How to make an ideal train system is an open question though. ;)

Post Reply

Return to “General discussion”