Non-throughput-limited 8+ belt balancers?

Circuit-free solutions of basic factory-design to achieve optimal item-throughput.
Involving: Belts (balancers, crossings), Inserters, Chests, Furnaces, Assembling Devices ...
Optimized production chains. Compact design.
Please provide blueprints!
Forum rules
Circuit-free solutions of basic factory-design to achieve optimal item-throughput
User avatar
hansinator
Fast Inserter
Fast Inserter
Posts: 160
Joined: Sat Sep 10, 2016 10:42 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by hansinator »

Here's an example of what I meant with the parallelization and lane balancing. It is an 8-balancer that has 3 blue belt inputs and 1 yellow belt input. There is 1 yellow belt output, 2 half-lane blue outputs and 2 full blue belt outputs. The construction at the item sources detects belt stalls and lights up a red lamp to indicate overflow. It can detect even very short overflows. The input throughput equals the output throughput. Unfortunately the quality is so bad you can barely see the outputs flowing. But the red light indicators say everything is flowing. All other 3, 4 and 8 balancer configurations I've tried fail and by now I've got dozens of different balancer experiments in my test factory.

Image

It becomes quite huge due to the parallel feeding. A 3-balancer built this way doesn't grow that much in size compared to the single version. My current experiments focus on circuit controlled balancers but the combinator-to-belt ratio is probably bad for less than 8 belts. However, I haven't got a working prototype yet..

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

Re: Non-throughput-limited 8+ belt balancers?

Post by Frightning »

Indeed the question he answered was a simplified version of the actual problem, where belts have only 1 lane, and splitters have no item memory. I think the best way to test his theory in game is to use belts with different items in each lane (e.g. left copper plates, right iron plates) and run it through the balancer. He also did not consider whether or not the design would balance input to output in underloaded conditions (e.g. half input, all output available, does it distribute half to all belts?)

TheRaph
Fast Inserter
Fast Inserter
Posts: 221
Joined: Sun Sep 24, 2017 6:31 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by TheRaph »

Why so complicated?

I've tried this:
Balancer.jpg
Balancer.jpg (1.11 MiB) Viewed 10339 times
I've not discovered any throughput problems.

Due to belt going underground are so long it will not perfectly even all out - so if you start with one Belt (filled by a chest) and end with 8 Belts (each end in a chest) then the amount in the chests will not be even. But if it runs and you continusly provide one Belt with thins, they will evenly be provided on output.

The second issue (like with most of the other balancers too) ther is no balancing between lanes. If you provide only the lower lane with items, you'll get 8 Belts with lower lane filleded with 1/8th of Items.

d4rkpl4y3r
Long Handed Inserter
Long Handed Inserter
Posts: 66
Joined: Wed Apr 27, 2016 8:24 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by d4rkpl4y3r »

TheRalph your contraption is not a balancer, though it is pretty close to throughput unlimited. My tool gives following output:

Code: Select all

Loading a 8 to 8 balancer with dimensions 16x13 and 32 splitters
Output balance: 0/8
Input balance: 0/8
Throughput under full load: 100%
Min Throughput with all combinations: 92.1%


TheRaph
Fast Inserter
Fast Inserter
Posts: 221
Joined: Sun Sep 24, 2017 6:31 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by TheRaph »

Hi,

Thanks for link to "command line belt analyzer" - I've try this and it told me the same as "d4rkpl4y3r" has posted.

But now my question to that: Why did this tool say it is not an "balancer" ???

What did "balancer" mean?
I think a balancer is a belt setup where I can input items on some (or all) input belts and they would be evenly balanced over the output belts.
If this definition is true, my balcer is a balancer too.
But if the definition is like as "give some different inputs (eg. red & green) will give a nice color pattern on output side" - thats not true for my setup.

I've tried the following test:
Balancer3.jpg
Balancer3.jpg (1.21 MiB) Viewed 10312 times
On the left side ther are some chests (filled from train). These one fill the (non)balancer with red and green circuits over two belts.
Then on the right side there are chests at the end of the 8 output belts.

Some circuit network prevents the destination chests from beeing unloded into the train again.

I start that setup by setting the constant combinator on the left side to "on".
I waited until the left hand chests are empty.

Now i rad the circuit network state for item per chest-group on the right side:
1st Belt => 5.4k red; 4.2k green = 9.6k
2nd Belt => 5.4k red; 4.2k green = 9.6k
3rd Belt => 5.4k red; 4.2k green = 9.6k
4th Belt => 4.2k red; 5.4k green = 9.6k
5th Belt => 4.2k red; 5.4k green = 9.6k
6th Belt => 4.1k red; 5.3k green = 9.6k
7th Belt => 4.1k red; 5.3k green = 9.6k
8rd Belt => 5.4k red; 4.2k green = 9.6k

So the individual parts of red and green are not the same per belt, but the total amount looks the same for me ...

were is my foult?

golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by golfmiketango »

Factorio is an open ended game and if something you created is providing enjoyment or useful functionality then it's not wrong.

However when people say "balancer" here on the forums and other factorio places, they mean a very particular thing. They are referring to a count-perfect belt-output-interleaving device which, if and only if the outputs of the device are never blocked, will sort items equally by type between belts (not lanes).

So an m→n balancer with all n output lanes unblocked, after perhaps a single "priming" load has passed through it, fed k*n items of a given type (whether or not other types of items are also fed to it) should pretty much always output precisely k items of that type onto each output belt. Further, it would be said to be "throughput unlimited" iff it's a balancer by that definition, and capable of processing min(m,n) fully compressed belts of materiel without limiting the rate of flow (a delay, or temporary rate-of-flow limitation is probably considered to be acceptable so long as the duration is O(1) relative to all variables).

A good way to test is to put a multiple of n items in a box, and feed this to various inputs of your balancer on only one side of the belt.

If your balancer really balances, then the output belts should all wind up with the exact same number of items on them, which is easy to confirm visually if they're all in a row right next to each other. However since balancers balance belts, and not necessarily lanes, if you supply both lanes with material, the results are much more difficult to interpret visually and you'll need something like what you've done above (ie: put the output into boxes) to test it's correctness.

I don't believe the .net framework tool folks are discussing, above, actually attempts to decide whether the blueprint you feed it is a balancer or not... although I could be wrong. Instead, my recollection is that it assumes your blueprint is a balancer, and tests its throughput properties. I'm sure, if I'm misremembering or confused, someone will set the record straight. I can't really use that thing, myself, without booting an emulator/Windows... perhaps should try to figure out how to build it with mono, as under wine the thing emits no carriage returns (only line-feeds) making it very difficult to understand the output.

TheRaph
Fast Inserter
Fast Inserter
Posts: 221
Joined: Sun Sep 24, 2017 6:31 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by TheRaph »

Ok ... I've calculated my "balancer" in Excel. I understand now ... this tool from d4rkpl4y3r is right. My creation is not realy a 100% balancer. In some cases it has an inbalance of 30%.

So I do some calculating in Excel and think abaout this and that.

Now her is my solution.

The balancer-check-tool say:

Code: Select all

Loading a 8 to 8 balancer with dimensions 43x24 and 40 splitters
Output balance: 8/8
Input balance: 8/8
Throughput under full load: 100%
Min Throughput with all combinations: 100%
Her is BP:
Blueprint
And here is a picture:
mega2.jpg
mega2.jpg (1017.22 KiB) Viewed 10290 times
The red marked square is a 8-belt-balancer with worst-case 50% througput. It is mutch smaller ;)
Blueprint

Code: Select all

Loading a 8 to 8 balancer with dimensions 15x12 and 12 splitters
Output balance: 8/8
Input balance: 8/8
Throughput under full load: 100%
Min Throughput with all combinations: 50%

d4rkpl4y3r
Long Handed Inserter
Long Handed Inserter
Posts: 66
Joined: Wed Apr 27, 2016 8:24 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by d4rkpl4y3r »

golfmiketango wrote:I don't believe the .net framework tool folks are discussing, above, actually attempts to decide whether the blueprint you feed it is a balancer or not... although I could be wrong. Instead, my recollection is that it assumes your blueprint is a balancer, and tests its throughput properties. I'm sure, if I'm misremembering or confused, someone will set the record straight.
My tool checks if it is a balancer. It does this by using only one input at a time and then checks wether all outputs have the same throughput.

Also for the people who haven't seen it, here is my tiny throughput unlimited 8 belt balancer:

Image
blueprint string

TheRaph
Fast Inserter
Fast Inserter
Posts: 221
Joined: Sun Sep 24, 2017 6:31 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by TheRaph »

d4rkpl4y3r wrote: Also for the people who haven't seen it, here is my tiny throughput unlimited 8 belt balancer:
Hey that's a great design!

Until now I had change my design a little bit and now it is much smaller than my first one and do the 8/8 - 100% - job.

But is not as genial as yours ;)
Mega3.jpg
Mega3.jpg (349.59 KiB) Viewed 10259 times

mrvn
Smart Inserter
Smart Inserter
Posts: 5684
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by mrvn »

Correct me if I'm wrong but the initial balancer from the start of the thread works fine if a) all outputs are used equally or b) all inputs are used equally, right?

So if you feed 2 belts input into the balancer then the output is 8 belts 1/4 full perfectly balanced. Then if you feed that into a second balancer and take 2 belts output you should get back 2 full belts. Correct?

PS: Sorry, can't run the game to try here.

TheRaph
Fast Inserter
Fast Inserter
Posts: 221
Joined: Sun Sep 24, 2017 6:31 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by TheRaph »

mrvn wrote:Correct me if I'm wrong but the initial balancer from the start of the thread works fine if a) all outputs are used equally or b) all inputs are used equally, right?

So if you feed 2 belts input into the balancer then the output is 8 belts 1/4 full perfectly balanced. Then if you feed that into a second balancer and take 2 belts output you should get back 2 full belts. Correct?

PS: Sorry, can't run the game to try here.
You're right.
But 2 Belts In and 2 belts out is not that problem. The Problem is 4 belts in and 4 belsts out. It depends on whitch input and output belts you choose if there is 100% througput or less.

If you think to put two balancers of the same type in sequence to solve that problem, than I can told you, it may work but mostly it doesn't. I've used the tool made by "d4rkpl4y3r" to verify such constructs and get mostly 75% througput in worst case.

The thread-creator has posted a solution which should work fine - I've not tested it yet - because I like to find a solution on my own (it was successfull, so now I can compare my solution with others - and learn how to improve).

mrvn
Smart Inserter
Smart Inserter
Posts: 5684
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by mrvn »

TheRaph wrote:
mrvn wrote:Correct me if I'm wrong but the initial balancer from the start of the thread works fine if a) all outputs are used equally or b) all inputs are used equally, right?

So if you feed 2 belts input into the balancer then the output is 8 belts 1/4 full perfectly balanced. Then if you feed that into a second balancer and take 2 belts output you should get back 2 full belts. Correct?

PS: Sorry, can't run the game to try here.
You're right.
But 2 Belts In and 2 belts out is not that problem. The Problem is 4 belts in and 4 belsts out. It depends on whitch input and output belts you choose if there is 100% througput or less.

If you think to put two balancers of the same type in sequence to solve that problem, than I can told you, it may work but mostly it doesn't. I've used the tool made by "d4rkpl4y3r" to verify such constructs and get mostly 75% througput in worst case.

The thread-creator has posted a solution which should work fine - I've not tested it yet - because I like to find a solution on my own (it was successfull, so now I can compare my solution with others - and learn how to improve).
Should work for 4 belts too. The first splitter should output 8 half filled belts, perfectly balanced. Then the second would balance that back to the 4 output belts.

Except, looking at the initial picture again, the first balancer does not give 8 perfectly balanced belts. At least I assume that from the way the iron plates end up on the 4 output belts used in the picture. While the 4 belts have equal plates on them they aren't spread on both lanes. One output gets all its plates on the left lane and the other on the right lane while the remaining 2 are mixed. If something similar happens with 8 output belts used then this would then lead to some backlogs and gaps if passed through a second balancer. That's probably where your 75% throughput comes from.

TheRaph
Fast Inserter
Fast Inserter
Posts: 221
Joined: Sun Sep 24, 2017 6:31 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by TheRaph »

mrvn wrote: That's probably where your 75% throughput comes from.
Ehrm ... no. It was my fault.
Her two pictures. First how it looks like and second how it should.
fault1.jpg
fault1.jpg (6.53 KiB) Viewed 9537 times
fault2.jpg
fault2.jpg (6.54 KiB) Viewed 9537 times
I did this twice and so I taught it is generic ... my fault sorry ;)

But cos this threat is entitled "8+ balancers" I'm feeling free to present my 16 - belt balancer :D
mega4.jpg
mega4.jpg (540.75 KiB) Viewed 9537 times
I takes me 2 hours to validate this:

Code: Select all

Loading a 16 to 16 balancer with dimensions 35x18 and 56 splitters
Output balance: 16/16
Input balance: 16/16
Throughput under full load: 100%
Min Throughput with all combinations: 100%
An here it is:
Blueprint
And this is how rainbow-belting works:
factorio 2017-12-06 17-02-01-14.jpg
factorio 2017-12-06 17-02-01-14.jpg (539.83 KiB) Viewed 9535 times

mrvn
Smart Inserter
Smart Inserter
Posts: 5684
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by mrvn »

Did you let it run a while? Shouldn't there be the same amount of copper on every output belt?

Jap2.0
Smart Inserter
Smart Inserter
Posts: 2339
Joined: Tue Jun 20, 2017 12:02 am
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by Jap2.0 »

It looks like it was just turned on, so the results aren't quite balanced yet because some of the belts were connected at slightly varying times or different resources have different length paths to the exits.
There are 10 types of people: those who get this joke and those who don't.

User avatar
impetus maximus
Smart Inserter
Smart Inserter
Posts: 1299
Joined: Sat Aug 20, 2016 10:07 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by impetus maximus »

mrvn wrote:Did you let it run a while? Shouldn't there be the same amount of copper on every output belt?
FOR SCIENCE! i built it, ran the same materials, started them all at the same time, let it stabilize.
here is the result.
16balance.stable.png
16balance.stable.png (323 KiB) Viewed 9503 times
[edit]damn alt+print screen disabled 'Show info' :x

mrvn
Smart Inserter
Smart Inserter
Posts: 5684
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by mrvn »

Lets look at the red cards. They come out of the magic purple thing. First blue splitter splits up the lanes. Lets follow the top where coal and red cards are mixed. The next splitter should mix those with sulfur and yellow inserters. But for some reason all the coal/red cards go to the bottom output and all the sulfur/yellow inserter go to the top.

What is going on there? The red cards should go half to the top belt, half to the bottom belt. Other splitters are even stranger. Mixing the top half of their input but not the bottom half.

TheRaph
Fast Inserter
Fast Inserter
Posts: 221
Joined: Sun Sep 24, 2017 6:31 pm
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by TheRaph »

mrvn wrote:Did you let it run a while? Shouldn't there be the same amount of copper on every output belt?
Yes it has running for a while but this is the Magic how factorio works :)
As far as I see every belt-balancer is only useful for balancing one type of item over a given set of belts. But not for balancing different items on different belts.

Look here ... different states (regarding to what put at first - belts, balancers souce ...)
belt1.jpg
belt1.jpg (374.51 KiB) Viewed 9410 times
belt2.jpg
belt2.jpg (286.66 KiB) Viewed 9410 times
belt3.jpg
belt3.jpg (380.9 KiB) Viewed 9410 times
belt4.jpg
belt4.jpg (348.86 KiB) Viewed 9410 times
I hope this explains why the rainbow-balancer not balances every item over every belt ...

Small explanation: The belts on the most left are "spawn belt" from mod "spawn belt" (they spawn item type regarding to item type in first slot of chest behind) - the green belts right most are "void belt" from the same mod (the destroy everything incoming). I think they are mostly the same as as the purpe and black "magic things" on picture posted by impetus maximus.

mrvn
Smart Inserter
Smart Inserter
Posts: 5684
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Non-throughput-limited 8+ belt balancers?

Post by mrvn »

Which differs from how the devs have explained how the splitter works in the past.

Past explanation was that for every item type the splitter keeps track where the last item went so the next item goes to a different output. That would mean no matter what else happens red cards would alternate between the top and bottom output.

Post Reply

Return to “Mechanical Throughput Magic (circuit-free)”