The Completely Practical 7-bb-iron→2-bb-steel MegaSmelter

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
Post Reply
golfmiketango
Filter Inserter
Filter Inserter
Posts: 549
Joined: Fri Jan 29, 2016 2:48 am
Contact:

The Completely Practical 7-bb-iron→2-bb-steel MegaSmelter

Post by golfmiketango »

Here it is, the holy grail* of no-bot, no-circuit smelter design, behold the Completely Practical™ 7->2 Steel MegaSmelter r1.00!
completely practical image
Perfect for your mid-game needs, these conveniently compact smelting arrays should fit anywhere in your base, leaving you plenty of room for the train stations, nuclear plants and speed module III factories you'll need to build them and keep them running. Stay tuned for a detailed technical tour; in the meanwhile, please enjoy this handy blueprint:
Blueprint
Link to pavement-included blueprint (bp-string too large to post).

*Religious claims in this article not endorsed by the Holy Factorian Chruch of Cathol
Last edited by golfmiketango on Mon Dec 11, 2017 11:59 pm, edited 1 time in total.

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

Completely Practical Steel MegaSmelter: Technical Tour

Post by golfmiketango »

Attached are the beginnings (seriously: just some half-written, unedited garbage that I was planning to fix up over time) of what was going to be a technical overview of my smelter. However the design has not ported gracefully into 0.16 and will require refinement, so first things first I need to fix the smelter! I'm not done; this work is to be continued...
gross wip post...
Last edited by golfmiketango on Wed Dec 20, 2017 10:05 pm, edited 8 times in total.

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

The Completely Practical Steel MegaSmelter: Epic Fail

Post by golfmiketango »

Here is an alternative to the max-moduled megasmelter. It's a bodge with lots of spaghetti, but it consumes less space and less power and has similar performance to the Max-Moduled version. But it is ugly, inelegant, and almost certainly going to be less UPS-efficient; therefore, I recommend the max-moduled version in spite of its inferiority. For gory details see below.
Image
Blueprint
Unfortunately for my max-moduled-smelter-design obsession, almost-max-moduled spaghettified approaches to smelting array design like the above clearly threaten the value-proposition of the "Completely Practical" max-moduled approach to smelting (nb: the "Completely Practical" "brand" name was chosen by the gmt marketing department for its misleading qualities in order to satisfy investors :lol:).

Why, ultimately, should I use all those expensive modules? I believe the original reason I went down this rabbit-hole was that I was surprised by the relative space-efficiency of certain max-moduled designs compared to two-productivity-III-module-only no-beacon equivalents (because, of course, by speeding up the smelters, one can use less of them: since we can get the smelters running at 6.7 times their normal speed, even though the beacons gobble up tons of space we are able to smelt stuff just as fast with a bit more than 1/7th the number of smelters required by a no-beacon design with the same productivity structure). In addition I was attracted to these designs because they are different and present wierd logistical puzzles that require lots of different game mechanics to be exploited simultaneously.

Clearly, there are compelling reasons to opt for a max-moduled design, given the choice between either that, or a no-beacon design with the same level of productivity.

Problem is, there are a great number of other designs which connect somewhere in-between zero and twelve beacons to the smelters. This one appears to Pareto-dominate* the max-moduled equivalent.

The spaghetti design in this post runs the smelters at 4.7 times no-module smelting speed (approximately a respectable 70% of the max-moduled version), while packing in a much greater smelter density, more than compensating for the smelting-speed downside with brute repetition. Space consumed (evidently) and total power draw (observed semi-carefully) of this build are quite significantly less than the max-moduled build.

This must be because, despite failing to share beacons vertically where the spaghetti gets in the way, this design packs the smelters in so much more tightly that beacon sharing (smelters affected per beacon) is hugely greater, in this build than the OP build.

Long story short, then: if you don't care about UPS or any subjective things like elegance, the spaghettified smelter at the top of this post is simply better than the one in OP, which kinda makes me sad. The good news is, there is still a reason to implement Completely Practical smelting: UPS-efficiency. All that spaghetti, all those inserters and additional smelters, etc., add up to a considerably greater computational cost for a spaghetti-monster design like the above.

If you have really reached a point in your campaign where you need smelting like this, and you are not going to use bots, for whatever reason, chances are good you're hurting for UPS a lot more than for power. OTOH space-efficiency might be a greater or lesser issue depending on circumstances.

I think I should spend some more time on this Semi-Practical smelting approach and see if I can make it less gross. One thing I'm 100% sure of: there is considerable room for improvement on the steel-smelting design in this post, which was just disproof-of-concept, so to speak.

To wrap this topic up, here's a silly image from the early prototypes of my steel smelter. I almost lost hope in these early phases; my smelter worked perfectly, but it was unbelievably, stupidly huge and running just one of them in isolation put me well below 60 UPS; it was at this point I started to think about whether I would need to start considering some compromises in this particular design, and ended up making the experiments described in this post.

Maze.png
Maze.png (1.49 MiB) Viewed 4510 times
[/url]

*In game-theory strategy "A" Pareto-dominates strategy "B" if it makes things better for at least one player, and doesn't make anything worse for any player at all. Basically, it's a mathematically rigorous way to say that anyone using strategy "B" is doing it all wrong. The issue of UPS is a problem in meatspace, not in the factorio game-world, hence, when I talk of Pareto-dominance, above, I'm treating UPS as an exogenous-to-game concern. However, in your RL, using max-moduled smelters is probably provably not Pareto-dominated by any strategy, assuming it can be shown that any non-max-moduled smelter design will require more computational cost than a max-moduled design. Hence,... hey, wtf!? Get that beautiful mind back in the gutter or I'm putting you on biter-clearing duty for a game-week!
Last edited by golfmiketango on Tue Dec 12, 2017 11:03 am, edited 4 times in total.

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

Re: The Completely Practical 7-bb-iron→2-bb-steel MegaSmelter

Post by Engimage »

Take a look at my ore-2-bus for steel from Ore-2-bus endgame beaconed design set perfectly saturated
Screenshot
Numbers like 7 are completely impractical in Factorio. While my design does not use full saturation of ore it is still more comfortable to use 4 inputs just for balancing purposes. I could cut it to 3 by extending the line but it is just not that "practical"

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

Re: The Completely Practical 7-bb-iron→2-bb-steel MegaSmelter

Post by golfmiketango »

PacifyerGrey wrote:Numbers like 7 are completely impractical in Factorio.
That's what I assumed, too, and was one of the reasons I was starting to despair. My early 7->15 balancing designs were, to say the least, not very encouraging. But then I realized I'd forgotten to apply some basic in-the-box thinking and was pleasantly surprised (link to my post with the details).

What ended up being much more challenging was economically merging those 15 output lanes, due to intrinsic logistical challenges, to an extent, but, even more, due to splitter bugs. But I'll explain that struggle and my solution in the technical walkthrough post.

That stated the 7 could well cause hassles upstream from the smelter (logistically) that the user would have to cope with. I'll explain exactly why I went with 7->2 in the technical overview.

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

Re: The Completely Practical 7-bb-iron→2-bb-steel MegaSmelter

Post by Engimage »

Sure thing you can solve such tasks like creating weird balancers etc. They are fun as a one-time goals to solve. But they are just not fun to serialize so I do prefer more simple solutions to "more count prefect" etc.
I am quite sure that using simple 8-to-16 balancer would work for your task no worse than 7-to-15. If you design lines so that input is slightly backed up it becomes irrelevant if your input balancer is exactly count perfect.

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

Re: The Completely Practical 7-bb-iron→2-bb-steel MegaSmelter

Post by golfmiketango »

PacifyerGrey wrote:
Screenshot
Wow, how is that possible? I'll be sure to take a look, looks like your peanut butter needs to get into my chocolate....

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

Re: The Completely Practical 7-bb-iron→2-bb-steel MegaSmelter

Post by golfmiketango »

PacifyerGrey wrote: I am quite sure that using simple 8-to-16 balancer would work for your task no worse than 7-to-15. If you design lines so that input is slightly backed up it becomes irrelevant if your input balancer is exactly count perfect.
Again also what I thought at first. But.... well, I'll save it for the technical overview [Edit: no, apparently I'll just treat post as a proto-technical overview and edit it like a doctoral thesis... hmmm]. You can confirm the need for it by trying it. You could maybe miss it without my gross compression test rig but once you see it, it's very hard to "un-see" :D .

The reason is to do with the numbers; 7*(1.2)²=10.08; that .8% net overage is being distributed onto 15 belts, so each belt would in a perfectly balanced build have only (.008)(1/15) ≈ 0.05% extra ore on it. And this does not account for any input bandwidth that may have been gobbled up at the input side by splitter bugs. Meanwhile, for backpressure to propagate back to our pseudo-balancer, forward pressure must, for tldr reasons, cascade first through the 100*(however-many-smelters) smelted-product buffers in the smelters themselves .... you get the idea. In short, it will take a very, very long time, longer than anyone is going to be willing to wait.

The whole build is incredibly fussy and sensitive, internally. A bunch of subtle, annoying details in the OP build work, in tandem, to prevent even minor imbalances or misallocations; that balance is stretched very, very thin but, to be clear, taken as a black box, the OP smelter (and the somewhat more over-provisioned but otherwise similar alternate version) "just work".

For example, in the OP build, permanent sustained full output compression is achieved from fully compressed inputs in 2.25 game-minutes. It handles various sub-optimal-but-highly-likely situations like input interruption, scarcity, and so forth precisely as a consumer familiar with traditional linear smelting designs would more-or-less expect. However, I completely understand why you went for a one-belt design; even for my build here demand-side efficiency was not really an objective or requirement, but, I dunno, somehow the 1:5 steel smelting and 1.2:1 max-smelting-efficiency-bonus ratios seem chosen specifically by the devs to create this 7->2 balance. Anyhow, whether by coincidence or design, once I realized how close it was, I felt compelled to chase that ratio, probably for no particularly rational reason except "three free belts" feels like a lot :). By contrast, given the idle power draw of this monster, minimizing excessive smelter provisioning was a legitimate non-aesthetic objective that took precedence (or should have) over this.

I'll admit that in this regard I'm a bit of a glutton for punishment.... to my way of thinking, it's more interesting once factorio starts to exhibit quasi-random emergent behaviors (preferably without any underlying game-engine bug or limitation to cause them). At that point, I figure you've probably found a truly interesting design problem to solve.

I guess this is similar to real-world engineering craziness coming from simple questions like "how can I prevent this thing from vibrating?" etc.
Last edited by golfmiketango on Tue Dec 12, 2017 2:01 pm, edited 6 times in total.

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

Re: The Completely Practical 7-bb-iron→2-bb-steel MegaSmelter

Post by golfmiketango »

PacifyerGrey wrote:Sure thing you can solve such tasks like creating weird balancers etc. They are fun as a one-time goals to solve.
Indeed. I may never have spelled this out but the whole idea of "Completely Practical" smelting was to adhere to a fairly strict laundry list of design-constraints. These are—or, really, were—they are 0.15-specific, to a degree, and anyhow my objectives were largely realized or at least want revising once the 0.16 situation is known.
  • No logistic bots requirement
  • No circuit requirement
  • No mod dependencies
  • Minimal time to permanent sustained full output compression
  • Immunity to 0.15 splitter bugs
  • Max modules, consisting of max productivity and only speed modules in the beacons
  • Minimal game-engine computational complexity, given preceeding constraints
It's a gear-wheel in my ongoing mega-craft of a well documented, highly-scalable, non-bus-centric, globally buffer-"free" (buffer-minimized) producer→belt→train→belt→consumer logistic methodology. So far only ongoing for a couple of years with not a ton to show for it :) But progress is being made.

Post Reply

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