In other languages: Deutsch 日本語 Nederlands Polski Русский Українська 简体中文

Balancer mechanics: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(→‎3 belts → x belts: unlimited 3:3)
(Editing, rule 7: [T]he Wiki also does not enumerate user creations. User creations should only be placed on the Wiki for demonstration and educational purposes only, simply enumerating or showing off designs will be removed.)
Tag: Replaced
Line 2: Line 2:
Balancers are used to evenly distribute items over multiple belts or multiple belt lanes.
Balancers are used to evenly distribute items over multiple belts or multiple belt lanes.


Belt balancers are usually used to balance multiple belts before or after train stations to ensure even loading of buffer chests and train wagons. They are also used to even out production by placing them in front of large machine arrays with multiple input belts. Belt balancers do not balance the individual belt lanes!
== Belt balancers ==
 
Lane balancers are usually placed after production to ensure that a belt is fully compressed or before consumption to ensure that both lanes of the belt are evenly drained.
 
== Lane Balancers ==
=== Input Unbalanced, Output Balanced ===
 
These balancers evenly distribute the items onto the output lanes but do not "pull" evenly from the input lanes when the output is backed up. They are input unbalanced.
 
The last two balancers are a special case, they only work when there are items on only one side of the input belt.
 
<gallery mode="packed" heights=250px>
File:Transport_belts_balance2.gif
File:Corner-lane_balancer.gif
File:Transport_belts_balance1.gif
File:One_lane-corner-lane_balancer.gif
</gallery>
 
=== Input Balanced, Output Unbalanced ===
 
These balancers evenly distribute the items onto the output lanes and "pull" evenly from the input lanes when the output is backed up. They are input balanced. These balancers are not output lane-balanced, this means when there is less than 100% input, the output lanes are not balanced.
 
<gallery mode="packed-hover" heights=200px>
File:Input balanced-lane balancer-2belt-smaller.png|2 Belts v.1
File:Input_balanced-lane_balancer-4belt-smaller_b.png|4 Belts v.1
File:Input_balanced-lane_balancer-4belt_b.png|4 Belts inline v.1
</gallery>
 
=== Input and Output Balanced ===
 
These balancers always evenly distribute the items onto the output lanes and "pull" evenly from the input lanes.
 
<gallery mode="packed-hover" heights=180px>
File:Input_balanced-lane_balancer-1belt.png|1 Belt
File:Input_balanced-lane_balancer-2belt.png|2 Belts
File:Input_balanced-lane_balancer-4belt-smaller.png|4 Belts
File:Input_balanced-lane_balancer-4belt.png|4 Belts inline
</gallery>
 
{{BlueprintString|bp-string=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}}
 
== Belt Balancers ==
These belt balancers are all tested to be input balanced and output balanced. Remember, belt balancers do not balance the individual belt lanes!  Throughput under full load is 100% and min throughput with blocked in- and outputs is also tested, it is noted when that is under 100%. Tests are done using [https://forums.factorio.com/viewtopic.php?f=69&t=34182 this handy tool] by d4rkpl4y3r on the Factorio Forums. When there are multiple versions of balancers that have the same stats but different sizes, the balancer with the smallest footprint is shown.
 
Blueprint book of all balancers from 1 → 1 to 8 → 8 :
{{BlueprintString|bp-string=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}}
 
 
<div class="toccolours mw-collapsible mw-collapsed">
=== 1 belt &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=180px>
File:1to2_balancer.png|'''1 to 2'''
File:1to3_balancer.png|'''1 to 3''': Throughput can go down to 50%.
File:1to4_balancer.png|'''1 to 4'''
File:1to5_balancer.png|'''1 to 5''': Throughput can go down to 50%.
File:1to6_balancer.png|'''1 to 6''': Throughput can go down to 50%.
File:1to7_balancer.png|'''1 to 7''': Throughput can go down to 50%.
File:1to8_balancer.png|'''1 to 8'''
File:1to16_balancer.png|'''1 to 16'''
</gallery>
 
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
=== 2 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=200px>
File:2to1_balancer.png|'''2 to 1'''
File:2to2_balancer.png|'''2 to 2'''
File:2to3_balancer_a.png|'''2 to 3''': Throughput can go down to 75%.
File:2to3_balancer_b.png|'''2 to 3''': Throughput can go down to 75%.
File:2to4_balancer.png|'''2 to 4''': Throughput can go down to 50%.
File:2to5_balancer_b.png|'''2 to 5''': Throughput can go down to 50%.
File:2to5_balancer.png|'''2 to 5''': Throughput can go down to 50%.
File:2to6_balancer.png|'''2 to 6''': Throughput can go down to 50%.
File:2to7_balancer.png|'''2 to 7''': Throughput can go down to 50%.
File:2to8_balancer.png|'''2 to 8''': Throughput can go down to 50%.
File:2to16_balancer.png|'''2 to 16''': Throughput can go down to 50%.
</gallery>
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
 
=== 3 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=200px>
File:3to1_balancer.png|'''3 to 1''': Throughput can go down to 50%.
File:3to2_balancer.png|'''3 to 2''': Throughput can go down to 75%.
File:3to3_balancer.png|'''3 to 3''': Throughput can go down to 50%.
File:3to3_balancer unlimited.png|'''3 to 3'''
File:3to4_balancer.png|'''3 to 4''': Throughput can go down to 83%.
File:3to5_balancer.png|'''3 to 5''': Throughput can go down to 50%.
File:3to6_balancer.png|'''3 to 6''': Throughput can go down to 50%.
File:3to7_balancer.png|'''3 to 7''': Throughput can go down to 50%.
File:3to8_balancer.png|'''3 to 8''': Throughput can go down to 50%.
</gallery>
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
 
=== 4 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=220px>
File:4to1_balancer.png|'''4 to 1'''
File:4to2_balancer.png|'''4 to 2''': Throughput can go down to 50%.
File:4to3_balancer.png|'''4 to 3''': Throughput can go down to 83%.
File:4to4_balancer.png|'''4 to 4'''
File:4to5_balancer.png|'''4 to 5''': Throughput can go down to 62.5%.
File:4to6_balancer.png|'''4 to 6''': Throughput can go down to 50%.
File:4to7_balancer.png|'''4 to 7''': Throughput can go down to 50%.
File:4to8_balancer.png|'''4 to 8''': Throughput can go down to 50%.
File:4to9_balancer.png|'''4 to 9''': Throughput can go down to 50%.
</gallery>
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
 
=== 5 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=220px>
File:5to1_balancer.png|'''5 to 1''': Throughput can go down to 50%.
File:5to2_balancer.png|'''5 to 2''': Throughput can go down to 50%.
File:5to3_balancer.png|'''5 to 3''': Throughput can go down to 50%.
File:5to4_balancer.png|'''5 to 4''': Throughput can go down to 62.5%.
File:5to5_balancer.png|'''5 to 5''': Throughput can go down to 62.4%.
File:5to6_balancer.png|'''5 to 6''': Throughput can go down to 50%.
File:5to7_balancer.png|'''5 to 7''': Throughput can go down to 62.4%.
File:5to8_balancer.png|'''5 to 8''': Throughput can go down to 62.5%.
</gallery>
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
=== 6 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=240px>
File:6to1_balancer.png|'''6 to 1''': Throughput can go down to 50%.
File:6to2_balancer.png|'''6 to 2''': Throughput can go down to 50%.
File:6to3_balancer.png|'''6 to 3''': Throughput can go down to 50%.
File:6to4_balancer.png|'''6 to 4''': Throughput can go down to 50%.
File:6to5_balancer.png|'''6 to 5''': Throughput can go down to 50%.
File:6to6_balancer.png|'''6 to 6''': Throughput can go down to 50%.
File:6to7_balancer.png|'''6 to 7''': Throughput can go down to 50%.
File:6to8_balancer.png|'''6 to 8''': Throughput can go down to 50%.
</gallery>
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
=== 7 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=240px>
File:7to1_balancer.png|'''7 to 1''': Throughput can go down to 50%.
File:7to2_balancer.png|'''7 to 2''': Throughput can go down to 50%.
File:7to3_balancer.png|'''7 to 3''': Throughput can go down to 50%.
File:7to4_balancer.png|'''7 to 4''': Throughput can go down to 50%.
File:7to5_balancer.png|'''7 to 5''': Throughput can go down to 62.5%.
File:7to6_balancer.png|'''7 to 6''': Throughput can go down to 50%.
File:7to7_balancer.png|'''7 to 7''': Throughput can go down to 50%.
File:7to8_balancer.png|'''7 to 8''': Throughput can go down to 70%.
</gallery>
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
=== 8 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=260px>
File:8to1_balancer.png|'''8 to 1'''
File:8to2_balancer.png|'''8 to 2''': Throughput can go down to 50%.
File:8to3_balancer.png|'''8 to 3''': Throughput can go down to 50%.
File:8to4_balancer.png|'''8 to 4''': Throughput can go down to 50%.
File:8to5_balancer.png|'''8 to 5''': Throughput can go down to 62.5%.
File:8to6_balancer.png|'''8 to 6''': Throughput can go down to 50%.
File:8to7_balancer.png|'''8 to 7''': Throughput can go down to 70%.
File:8to8_balancer.png|'''8 to 8''': Throughput can go down to 50%.
File:8to8_balancer_b.png|'''8 to 8''': Throughput can go down to 50%.
File:8to8_balancer_inline.png|'''8 to 8''': Throughput can go down to 50%.
File:8to8_balancer_unlimited.png|'''8 to 8'''
</gallery>
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
=== 9 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=350px>
File:9to4_balancer.png|'''9 to 4''': Throughput can go down to 50%.
</gallery>
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
=== 12 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=350px>
File:12to4_balancer.png|'''12 to 4'''
File:12to6 balancer.png|'''12 to 6''': Throughput can go down to 50%.
File:12to12_balancer_inline.png|'''12 to 12''': Throughput can go down to 37.5%. Needs express underground belts for the extended length.
File:12to12_balancer.png|'''12 to 12''': Throughput can go down to 33.3%.
</gallery>
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
 
=== 16 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=400px>
File:16to16_balancer_inline.png|'''16 to 16''': Throughput can go down to 25%. Needs express underground belts for the extended length.
File:16to16_balancer_unlimited.png|'''16 to 16'''
</gallery>
</div></div>
 
 
<div class="toccolours mw-collapsible mw-collapsed">
 
=== 24 belts &rarr; x belts ===
<div class="mw-collapsible-content">
 
<gallery mode="packed" heights=400px>
File:24to24_balancer.png|'''24 to 24''': Throughput can go down to 50%.
File:24to24_balancer_inline.png|'''24 to 24''': Throughput can go down to 50%. Needs express underground belts for the extended length.
</gallery>
</div></div>
 
== Mechanics ==


[[File:Balancer_Mechanics1.png|thumb|200px|right|1 full input belt gets split into two 50% full belts which get split into 4 belts that are each 25% full.]]
[[File:Balancer_Mechanics1.png|thumb|200px|right|1 full input belt gets split into two 50% full belts which get split into 4 belts that are each 25% full.]]
Line 255: Line 13:
=== Throughput ===
=== Throughput ===
[[File:4to4_balancer_throughput_limit_demo.gif|right|384px]]
[[File:4to4_balancer_throughput_limit_demo.gif|right|384px]]
The above collection of balancers often states that the throughput of a balancer can go down to x% which means that the balancer is '''throughput limited'''. To be '''throughput ''un''limited''', a balancer must fulfil the following conditions:
Often, balancers are '''throughput limited'''. To be '''throughput ''un''limited''', a balancer must fulfil the following conditions:
#100% throughput under full load.
#100% throughput under full load.
#Any arbitrary amount of input belts should be able to go to any arbitrary amount of output belts.
#Any arbitrary amount of input belts should be able to go to any arbitrary amount of output belts.


Balancers often do not fulfill the second condition because of internal bottlenecks. The gif on the right shows a 4 &rarr; 4 balancer being fed by two belts, but only outputting one belt which means that its througput in that arrangement is 50%. The bottleneck in this balancer is that the two middle belts only get input from one splitter. So, if only one side of that splitter gets input, as can be seen in the gif, it can only output one belt even though the side of the splitter is fed by a splitters which gets two full belts of input. In this particular case, the bottleneck can be fixed by feeding the two middle output belts with more splitters. This is done by adding two more splitters at the end of the balancer, as it can be seen here: [[File:4to4_balancer.png|center|125px]]


All balancers in the collection meet the first condition, but only some meet the second one. This is the case because the balancers have internal bottlenecks. The gif on the right shows a 4 &rarr; 4 balancer being fed by two belts, but only outputting one belt which means that its througput in that arrangement is 50%. The bottleneck in this balancer is that the two middle belts only get input from one splitter. So, if only one side of that splitter gets input, as can be seen in the gif, it can only output one belt even though the side of the splitter is fed by a splitters which gets two full belts of input. In this particular case, the bottleneck can be fixed by feeding the two middle output belts with more splitters. This is done by adding two more splitters at the end of the balancer, as it can be seen here: [[File:4to4_balancer.png|center|125px]]
However most balancers' bottlenecks can't be solved as easily. A guaranteed method to achieve throughput unlimited balancers is to place two balancers back to back that fulfil the first condition for throughput unlimited balancers (100% throughput under full load). The resulting balancer is usually larger than a balancer that was initially designed to be throughput unlimited. This is the case because they use more splitters than the minimum required amount of {{Key|n×log<sub>2</sub>(n)−n÷2}} <sub>(where n is the (power-of-two) number of belts)</sub> splitters for a throughput unlimited balancer.
 
However most balancers' bottlenecks can't be solved as easily. A guaranteed method to achieve throughput unlimited balancers is to place two balancers back to back that fulfil the first condition for throughput unlimited balancers (100% throughput under full load). The resulting balancer is usually larger than a balancer that was initially designed to be throughput unlimited. This is the case because they use more splitters than the minimum required amount of {{Key|n×log<sub>2</sub>(n)−n÷2}} <small>where n is the (power-of-two) number of belts</small> splitters for a throughput unlimited balancer.
{{clear}}
{{clear}}


== References ==
== Lane balancers ==
* [https://forums.factorio.com/viewtopic.php?f=69&t=34182 Command line belt balancer analyzer]
[[File:Lane_balancer_mechanics.png|thumb|right|The items are evenly sideloaded onto the output belt, achieving output balance.]]
* [https://www.reddit.com/r/factorio/comments/4gj8x4/my_take_on_4_belt_lane_balancers/ Collection of lane balancers]
Lane balancers evenly distribute input items onto the output lanes and evenly take them from the input lanes.{{clear}}
* [https://www.reddit.com/r/factorio/comments/5njgy4/yet_another_belt_balancer_compendium/ Best collection of belt balancers, most of them are used here.]


== See also ==
== See also ==

Revision as of 13:41, 17 October 2018

Balancers are used to evenly distribute items over multiple belts or multiple belt lanes.

Belt balancers

1 full input belt gets split into two 50% full belts which get split into 4 belts that are each 25% full.

Belt balancers use the mechanic that splitters output items in a 1:1 ratio onto both their output belts. That means that a splitter can be used to put an equal amount of items on two belts. Since the process can be repeated infinitely, balancers with 2n output belts are easy to create.

First the belts A and B go through a splitter so that the output belts contain an equal amount of items from each input belt (AB). The same is done with belts C and D. Then the mixed belts AB and CD go through splitters so that their output belts contain items from each input belt (ABCD)!

Balancers also use the mechanic that splitters take an equal amount of items from both input belts. That means that a splitter connected to two input belts will evenly distribute those items onto the the two output belts. To balance belts it has to be made sure that the output belts contain an equal number of items from each input belt.

Throughput

4to4 balancer throughput limit demo.gif

Often, balancers are throughput limited. To be throughput unlimited, a balancer must fulfil the following conditions:

  1. 100% throughput under full load.
  2. Any arbitrary amount of input belts should be able to go to any arbitrary amount of output belts.

Balancers often do not fulfill the second condition because of internal bottlenecks. The gif on the right shows a 4 → 4 balancer being fed by two belts, but only outputting one belt which means that its througput in that arrangement is 50%. The bottleneck in this balancer is that the two middle belts only get input from one splitter. So, if only one side of that splitter gets input, as can be seen in the gif, it can only output one belt even though the side of the splitter is fed by a splitters which gets two full belts of input. In this particular case, the bottleneck can be fixed by feeding the two middle output belts with more splitters. This is done by adding two more splitters at the end of the balancer, as it can be seen here:

4to4 balancer.png

However most balancers' bottlenecks can't be solved as easily. A guaranteed method to achieve throughput unlimited balancers is to place two balancers back to back that fulfil the first condition for throughput unlimited balancers (100% throughput under full load). The resulting balancer is usually larger than a balancer that was initially designed to be throughput unlimited. This is the case because they use more splitters than the minimum required amount of n×log2(n)−n÷2 (where n is the (power-of-two) number of belts) splitters for a throughput unlimited balancer.

Lane balancers

The items are evenly sideloaded onto the output belt, achieving output balance.

Lane balancers evenly distribute input items onto the output lanes and evenly take them from the input lanes.

See also