Page 1 of 4

Demand rebalancer/inverse rebalancer

Posted: Sun Aug 30, 2015 5:35 pm
by Ephron
Hi, I'm trying to find a good demand rebalancer, by which I mean the following:
Consider a full transport belt (both lanes) and suppose that only one lane is being emptied further down, I want to spread that demand over both lanes.
Flow diagram:
-->| demand |oooo
-->|rebalancer|---->

My current attempt is based on the preference of an inserter to take items from the nearest lane:
Image
The double desing is to ensure throughput when demand is high.
Does anyone know of a better/passive design for this?

Re: Demand rebalancer/inverse rebalancer

Posted: Sun Aug 30, 2015 5:38 pm
by Boogieman14
Image

Re: Demand rebalancer/inverse rebalancer

Posted: Sun Aug 30, 2015 5:47 pm
by XKnight
Boogieman14 wrote:Image
This doesn't work in some corner cases (try to take items in output only from one side).

More precise version:
belt.png
belt.png (504.6 KiB) Viewed 44405 times

Re: Demand rebalancer/inverse rebalancer

Posted: Sun Aug 30, 2015 5:55 pm
by Boogieman14
I haven't seen it not work, although I also haven't used it an awful lot in 0.12 yet, so maybe the belt changes changed some behaviour of this balancer.

Re: Demand rebalancer/inverse rebalancer

Posted: Sun Aug 30, 2015 6:02 pm
by Ephron
No, That won't work, because if demand comes only from e.g. the right lane, a full belt will cause this:
Image
and nothing will be gained.

Re: Demand rebalancer/inverse rebalancer

Posted: Sun Aug 30, 2015 6:07 pm
by Ephron
Oops replied too late.
thanks, XKnight, that was what I was looking for.
Neat way of separating the lanes.
Thanks!

Re: Demand rebalancer/inverse rebalancer

Posted: Sun Aug 30, 2015 8:20 pm
by gheift
This version is a little bit smaller and saves 4 belts:
lane-rebalancer.png
lane-rebalancer.png (114.01 KiB) Viewed 44357 times

Re: Demand rebalancer/inverse rebalancer

Posted: Sun Aug 30, 2015 10:21 pm
by orzelek
And it's nicely symmetrical :D
Thanks for those.

Re: Demand rebalancer/inverse rebalancer

Posted: Mon Aug 31, 2015 6:02 pm
by MalcolmCooks
gheift wrote:This version is a little bit smaller and saves 4 belts:
Thanks! I can use this to merge belts in train stations. When the belt is saturated, it spreads an unbalnaced demand at the end across all the chests

Re: Demand rebalancer/inverse rebalancer

Posted: Mon Aug 31, 2015 6:28 pm
by reddutton
here is a little workup that i am using not the best but does the job for me the output on a saturated line is a ~3-1 pull from the lanes as in the picture the 3 pull is bottom lane and the 1 pull is the top lane before the spliters after it is a full bottom lane pull
ice_screenshot_20150831-141555.png
ice_screenshot_20150831-141555.png (190.59 KiB) Viewed 44234 times
here is a vid of it in action https://youtu.be/hq2oNh0lc18

Re: Demand rebalancer/inverse rebalancer

Posted: Thu Jan 26, 2017 1:52 am
by Samky
Here is what I'm using. Any of the 4 output lanes can be supplied by any of the 4 input lanes.

Image

Re: Demand rebalancer/inverse rebalancer

Posted: Thu Jan 26, 2017 2:28 am
by Nubm2
Image

A version that is only 2 belts wide in case youre short on room between assembling machines (If you spred it out between the 2 splitter you can fit an inserter or pole in).

Re: Demand rebalancer/inverse rebalancer

Posted: Thu Jan 26, 2017 6:41 am
by Samky
Just realized it wasn't perfectly balanced (I just came up with this stuff).

Here's a side by side comparison. If the lanes are numbed 1 through 4 starting with lane 1 at the top, then the color key shows (top right of pic):
Green entered into lane 1
Red into lane 2
Purple into lane 3
White into lane 4

I entered the items one lane at a time and waited for them to filter to the right side before filling the next lane.

First configuration is unbalanced to the odd numbered lanes (this was my original post).
Second config has an equal split from each lane to all other lanes!

Image

At full load, a single odd numbered output lane draws from both odd numbered inputs (but ignores the even inputs). Same for even numbered lanes -- the individual even output lanes each draw from both even input lanes while ignoring the odd lanes.
To balance the draw while under capacity, I suppose you could place two of these one after the other, but add a lane inverter between them to swap e.g. lanes 1&2. I think that would make it pretty much a perfect balancer for both upstream and downstream regardless of the load.

Edit, I tried that setup (two of these with an inverter in between switching lanes 1 and 2). Each input lane was given a different item again. Of course ideally, each output lane would end up with 25% of its contents from each input lane.
Always under load, I also blocked an output lane (or 3 of them) sometimes, and let the others run. I used 16K items, and the test took about 20 minutes. The lowest was 23.9% The highest was 26.6%.
I realize this would only be useful under extreme conditions, but I had fun testing it out.

Re: Demand rebalancer/inverse rebalancer

Posted: Fri Jan 27, 2017 11:30 pm
by hansinator
Image
Image

These are the best lane re-balancers I know of. They always take balanced from the input lanes. Found here: https://imgur.com/a/sgAsj#lsEagUO

Re: Demand rebalancer/inverse rebalancer

Posted: Sat Jan 28, 2017 3:47 am
by Samky
hansinator wrote:Image
Image

These are the best lane re-balancers I know of. They always take balanced from the input lanes. Found here: https://imgur.com/a/sgAsj#lsEagUO
Now I'm a little excited. My design is much better. This one only distributes the even inputs to the even outputs and the odd inputs to the odd outputs. Look how easy it was to clog it.

Image

In my design, each individual output lane takes equally from each individual input lane. Not only is it balanced, but it's impossible to clog.

Image

(test with 200 items in each lane, with blocked output lanes 1 and 3. Result shown bottom center)

Re: Demand rebalancer/inverse rebalancer

Posted: Sat Jan 28, 2017 7:34 am
by ssilk
Moved from General to Mechanical Magic

Edit:
Seems the page in the wiki is nearly ready to be included into the rest:
https://wiki.factorio.com/User:Bilka/Balancers

Re: Demand rebalancer/inverse rebalancer

Posted: Sat Jan 28, 2017 9:49 am
by Samky
ssilk wrote:Moved from General to Mechanical Magic

Edit:
Seems the page in the wiki is nearly ready to be included into the rest:
https://wiki.factorio.com/User:Bilka/Balancers
Hmm, I notice in the wiki the design I show to be flawed is described as " evenly distribute the items onto the output lanes and 'pull' evenly from the input lanes when the output is backed up" but this is not true. It may pull from the belts equally, but not from the lanes equally.

As an example, something as simple as this

Image

Is not perfectly lane balanced. The right lane only outputs to the two right lanes. The left lane only outputs to the two left lanes. If an input dries up, or any of the output lanes backup, then throughput decreases or is uneven. Mine is lane balanced and throughput will never decrease. It's an all in 1 converter. It goes 1 to 2, 3, 4. or 2 to 1, 2, 3, 4, etc. I'm kinda of excited because it seems my design hasn't be thought of before.

I'm not a very interesting personality like some videos, but I made a video showing and then testing the function of my design:

https://youtu.be/jC0lm0O187E

Re: Demand rebalancer/inverse rebalancer

Posted: Sat Jan 28, 2017 10:24 am
by Bilka
That's why that balancer is in the belt balancer section on the page, not in the lane balancer section. Should I make that more clear on the page? Also thanks to ssilk for linking my page :)

Re: Demand rebalancer/inverse rebalancer

Posted: Sat Jan 28, 2017 11:13 am
by Samky
Bilka wrote:That's why that balancer is in the belt balancer section on the page, not in the lane balancer section. Should I make that more clear on the page? Also thanks to ssilk for linking my page :)
Oops, you're right, I missed that the splitter is not in that section. However the one I posted a picture of a few posts ago was under the lane balancer section. It certainly pulls evenly from the lanes it pulls from, true, but it also ignores two of the lanes. For example output lane 1 pulls only from input lanes 1 and 3. The wiki page says they "pull evenly from the input lanes when the output is backed up. They are input and output balanced."

By the way, much appreciation for people who put together and work to give detailed information on sites like that. I'm not trying to be disrespectful :)

Also, I'm very new to factorio. If that's what's commonly called a lane balancer then that's great. I'm not sure what to call my design then, because every lane is balanced by every lane. So for example if one of the output or input lanes is blocked / dries up, there's no change in performance. However for that other design, in my picture above I show how if output lanes 1 and 3 were to be blocked, the throughput is only at 50%.

Re: Demand rebalancer/inverse rebalancer

Posted: Sat Jan 28, 2017 11:29 am
by Bilka
Samky wrote: Hmm, the one I posted a picture of a few posts ago was under the lane balancer section. It certainly pulls evenly from the lanes it pulls from, true, but it also ignores two of the lanes. For example output lane 1 pulls only from input lanes 1 and 3. The wiki page says they "pull evenly from the input lanes when the output is backed up. They are input and output balanced."
Well that is uh... bad. I might have to change the description then, as that means that it's not input lane balanced.
Samky wrote: By the way, much appreciation for people who put together and work to give detailed information on sites like that. I'm not trying to be disrespectful :)
You aren't :) I appreciate constructive criticism, it helps making the wiki better.

Samky wrote: Also, I'm very new to factorio. If that's what's commonly called a lane balancer then that's great. I'm not sure what to call my design then, because every lane is balanced by every lane. So for example if one of the output or input lanes is blocked / dries up, there's no change in performance. However for that other design, in my picture above I show how if output lanes 1 and 3 were to be blocked, the throughput is only at 50%.
Your design would be a lane and belt balancer I guess. Perhaps I should put the lane balancers with multiple input belts into a different section on the page that is called "lane and belt balancers". The flawed design would then get a subtext that explains the problem with it.

Edit: Nevermind, your design is a lane balancer. Lane balancers balance every lane (so the belts are also balanced), belt balancers balance belts and ignore lane balance. I think I will take the lane balancer section and devide it into "lane balancers for one belt" and "lane balancers for multiple belts"