Logistics Based Omni Smelter

This board is to show, discuss and archive useful combinator- and logic-creations.
Smart triggering, counters and sensors, useful circuitry, switching as an art :), computers.
Please provide if possible always a blueprint of your creation.
Delicon
Burner Inserter
Burner Inserter
Posts: 17
Joined: Sun Aug 16, 2020 2:21 pm
Contact:

Logistics Based Omni Smelter

Post by Delicon »

A friend and I created a simple logistics based omni smelter design and wanted to share with folks. It uses simple combinator logic to avoid stalling the furnace when there are less raw materials in the furnace than needed to produce an output. For example, if there are 4 Iron Plate in a furnace, that furnace cannot be used until another iron plate is inserted, it will not accept Iron Ore, Copper Ore, or Stone.

Some of the features:
  • One combinator per requester chest
  • A single requester chest can supply multiple furnaces
  • A single control circuit with simple control signals
  • Can be beaconed and tiled
Overview.jpg
Overview.jpg (94.28 KiB) Viewed 8934 times
Omni Smelter Demo



What is it:
It's a simple logistics based furnace that will smelt all appropriate vanilla raw resources based on a control circuit. The same smelter can be used to make iron plate, copper plate, steel plate, and brick as needed.

How does it work:
It takes advantage of the least common multiple of the raw material counts needed for each type of product outputted.

1 Iron Ore -> 1 Iron Plate
1 Copper Ore -> 1 Copper plate
5 Iron Plate -> 1 Steel Plate
2 Stone -> 1 Brick

The least common multiple of 1, 2, and 5 is 10. If the inserter putting raw materials into the furnace has its stack size overridden to 10 and only activates when there is at least 10 of a resource in it's requester chest, the furnace will consume all the resources put into it and then be available to make another product.

Implementation:
There are two parts to the design, the furnace and the control. The furnace portion can be repeated as many times as needed, while only one control circuit portion is needed.

Furnace:
The furnace decider combinator reads the contents of the request chest and outputs to the stack filter inserter a signal of 1 for all items with quantities 10 or greater. The stack filter inserter has its stack size overridden to 10 and sets it's filter according to the output of the combinator. The requester chest is set to request each raw material. The requested quantities of each resource is implementation dependent, how many logistic robots in your network, how fast are the logistic robots, and how far are the robots from the source of the materials. For this demonstration I have it set to a stack of each raw material. If you notice that raw materials are available and your furnaces are ideal, you may want to increase the requested quantities.
Furnace.jpg
Furnace.jpg (1.11 MiB) Viewed 8934 times

Control:
For this demo, I have the control setup to trigger production if product quantities in the logistic network fall below 10,000 units, but you can adjust this to your needs. If you leave the furnace as described above it will make all the product as raw material is delivered to the requester chest. In order to stop this, a constant combinator applies a -1 signal for each raw material, this will counter act the 1 applied by the decide combinator. Now the furnace will never make anything until another 1 is applied. Using the roboport to get logistic quantities, the 4 decider combinators check how much finished product is in the the network and applies a 1 on the appropriate raw material signal. The 1 enables the furnace to make product if the requisite amount of raw materials are available in its requester chest.
control.jpg
control.jpg (989.49 KiB) Viewed 8934 times

Beyond the basics:
To optimize the design, it's helpful to feed multiple furnaces from the same requester chest. To do this, it is necessary to change the furnace decider combinator to Each >= N * 10 where N is the number of furnaces feeding off the chest. This ensures that none of the inserters can grab a stack less than 10. As an example, if the value was left at 10 and two furnaces where feeding from a chest, if the chest had 13 ore in it, both inserters would be activated, one would get 10 ore as designed, the other would get 3. If the material it picked up was stone or iron plate, the furnace would stall.

Image below is how we run our smelter stacks. The blueprint can be tiled and includes buffer chests to store finished product. The buffer chests are all tied together so we can use one constant combinator to set their contents.

Feedback welcome, enjoy!

Smelter stack.jpg
Smelter stack.jpg (229.38 KiB) Viewed 8934 times
Omni Smelter Stack
User avatar
biggerw
Inserter
Inserter
Posts: 49
Joined: Fri Dec 25, 2020 8:14 am
Contact:

Re: Logistics Based Omni Smelter

Post by biggerw »

Hi I recently joined the forum und read all the nice stuff.

The omni smelter problem seems to be very useful. There are some solutions.
I don´t uase the robots, because that is not realisitc in todays logistics.
I think everything can be done using combinators.
I posted my omni smelter viewtopic.php?f=193&t=93569
be patient if my english is not suitable it´s not my mother tongue.
Delicon
Burner Inserter
Burner Inserter
Posts: 17
Joined: Sun Aug 16, 2020 2:21 pm
Contact:

Re: Logistics Based Omni Smelter

Post by Delicon »

biggerw wrote: Tue Dec 29, 2020 9:34 am Hi I recently joined the forum und read all the nice stuff.

The omni smelter problem seems to be very useful. There are some solutions.
I don´t uase the robots, because that is not realisitc in todays logistics.
I think everything can be done using combinators.
I posted my omni smelter viewtopic.php?f=193&t=93569
Welcome to the forums and Factorio!

I would disagree with robots not being realistic. In a modern logistics network, robots could represent human or robotic pickers that may select product in a warehouse. Human selectors (aka robots in Factorio) act as asynchronous product selectors when optimization with specialized equipment (aka belts in Factorio) or capital investments are not available. The path the Factorio robots take isn't realistic, people and machines would have to path around objects and maneuver in designated areas in a real warehouse; in that sense, they would be unrealistically fast and never collide.

The design I presented is easily converted to belt logistics. There are some inherent issues with belts in this type of design, the biggest being that the product you wish to make may not have the raw materials available or accessible on the belt. I looked over your design quick, I did not work out your logic because working through combinators makes my head hurt. (Combinators are one of the best features of Factorio, they are also it's worst. They don't scale and are impossible to understand at a glance.) I think with a belt design, the smelters should process whatever you present on the belt, you control what's being made by controlling what's on the belt.

This is a simple one smelter design, it will process stone, iron ore, copper ore, or iron plate that you put on the belt. No complex combinator logic needed. The combinator and the white filter stack inserter are as described in the design above. The green stack inserter is shown in the image. The enable limit is to stop the inserter from consuming raw materials from the belt if it still has plenty to process in its chest.

Belted Omni Smelter.png
Belted Omni Smelter.png (928.8 KiB) Viewed 8140 times



For a second example, I copied your layout but with my design:

biggerw layout.png
biggerw layout.png (585.67 KiB) Viewed 8140 times



And my last example is a fully beaconed, tileable, belted omni smelter design:

Beaconed tileable Belted Omni.png
Beaconed tileable Belted Omni.png (973.18 KiB) Viewed 8140 times
User avatar
biggerw
Inserter
Inserter
Posts: 49
Joined: Fri Dec 25, 2020 8:14 am
Contact:

Re: Logistics Based Omni Smelter

Post by biggerw »

Sorry but I can´t argree.
Have a look in a todays warehouse or a production you will see people working like handling automats.
This are not good jobs, but a man is still the most flexible and inexpensive ressource companies have.
Sure this is not ok from human point fo view. But companies ... you understand, what try to say.
This is just a thing under researchh and development. I´ve just written a proposal for KI-based bots in logistics.

Your have a very different approach to mine.
Your design has a lot size of 100.
And sure you can produce everything.
This will work in a push scenario.
Push strategies generate overproduction.

The design I made can switch at any time to any product.
This is a nessecity if you produce on request.
If I need something I create an order and will produce it.
That´s the idea of pull strategies.

So different logiistics strategies requre different setups.
be patient if my english is not suitable it´s not my mother tongue.
Delicon
Burner Inserter
Burner Inserter
Posts: 17
Joined: Sun Aug 16, 2020 2:21 pm
Contact:

Re: Logistics Based Omni Smelter

Post by Delicon »

biggerw wrote: Sun Mar 14, 2021 12:33 am Sorry but I can´t argree.
Have a look in a todays warehouse or a production you will see people working like handling automats.
This are not good jobs, but a man is still the most flexible and inexpensive ressource companies have.
Sure this is not ok from human point fo view. But companies ... you understand, what try to say.
This is just a thing under researchh and development. I´ve just written a proposal for KI-based bots in logistics.
I would not disagree with the fact that human work can simulate autonomous work. I have worked in enough warehouses to know that. The difference between specialized automated equipment that performs a small set of tasks and humans is that a human can be repurposed and/or redirected anytime, a bit like the robots in Factorio. For example, a selector picking product in a pick to pallet situation determines he needs to wrap his pallet with stretch wrap. He goes to the wrapping machine and finds it's out of wrap. He doesn't sit there and wait for a conveyor to bring him wrap and/or install it, he repurposes himself, he gets wrap, installs it, wraps his pallet, and carries on. It wouldn't make sense to have a conveyor carry pallets of wrap to just handful of wrap machines in a warehouse. Another situation would be emergency orders or damage replacement orders, you might not want wait for automated selection to start, you would just send a human out with directions to get items A, B, C and put them on truck D. He would figure out where the items are, select them, and ship them.

About the design though, you are right, it is not exact. Easily done by adding logic to the smelter inserter. The problem I have with that is to make a product, you need to control two aspects. You need to put the right product on the belt and then tell the right smelters to process only the specific thing you put on the belt. You can do the same thing by just putting what you want processed on the belt and you will get what you wanted. If you wanted 100 iron plate, you would put 100 iron ore on the belt (orders do need to be a multiple of ten to be exact though). No need to tell the smelters to do anything. Yes, they do have a small buffer of raw materials, a fair trade off for the complexity needed to make a perfect no waste omni smelter.

I enjoyed your factorio lectures! I wish I attended a school that was open to new and unique learning methods.
kevin28115
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Aug 14, 2017 11:39 pm
Contact:

Re: Logistics Based Omni Smelter

Post by kevin28115 »

honestly arguing real life logistics vs game logistics is not a real argument and I find it silly.

I keep looking back at smelter designs every so often because I keep wanting to get a better design and learn to make my smelter better. Your design was interesting but I didn't like having a combinator for every smelter. below is my current omni smelter design. the concept is that it'll smelt iron/copper/brick as needed and will smelt steel via RS latch. Steel needs RS latch for best use of productivity module as the others don't need it. The wiring in the combinators are a bit wild and crazy but the concept is similar to yours except I use the inserter as the final combinator to add/subtract to activate the furnace.


0eNrlHWtu47zxLv5ZxAsOHyIZFD1HgWIROI6yET7HdmU56HaRA/QgvVhPUsrOxrJEyZyhFbX0n8XakYfUvF8c/po9rvb5tizW1ez+16xYbta72f3ffs12xY/1YlV/V/3c5rP7WVHlr7O72XrxWn96zBfu0dn73axYP+X/mN3D+93FH+WrfFmVxXL+vC/Xi2Xe+Dl//343y9dVURX5cQOHDz8f1vvXx7x08D+hlJvHzXZTVg7udrNzP3D7cCs6IHNg7rGf7j/SONBug2u3YHF4pV8zqP/5Ueb5ugm/eHKwrXu4KJf7ojp+fv/+/l6/T2sP/HMPq82PYle5N1m+5Ltq/rh/fnYPeDYk7Tf1sSX1TblNlfnf9+4nD8/FqsrL46v+RuEn+OVmu83L+abMZ/Vr7GviKMbqLf3G1+ezRblZDz0pPp/cVZt172PyHOB2tagaz0L98HcPSkQUSmSKKJFtIfHhQLdwUAvKgUt32zx/mr9unvarfC5qwfAsoUKWkFFLZCFLQNQSOmAJYaKWMCFLqKglbMgSPGoJYAFrcBu3BoSskcWtwUPWEHFriJA1WNwaISIOcSIOITIOcTIOIUIOcUIOIVLO4qQcQsScxYk5nOT8KV8WT84WLTevj8V6UW28Zo6dZL5e7akoj77IwUC4PVblZvXwmL8s3goHwP3qA+yD+9tT8em1PBelM40XHKuGfTr6Pbtq8WHPGKu/eN0uysNG72d/dj/b7Kvt3gP1rSirvfvmZB8PT8z/egS7/flwMH4Pz+Xm9aFYOxiz++fFape/o9ytBnrrzxza7tf535Xsumd3M17DL/OnNnTOO0/f+ffhedLv9jEs6dnXkX5X5fkqlPZ/mZz2XVojaemnEGApBP8DFAKkdA7L/LWE0w4LYy0MIxCQ4who7VTKdZfXINDiEyiE1yaxjyQtCeQtArcZgF9gAB6sXy+vNMRKStP1+vm6mQlkyrjgVqQY3HLZn83xoePk2MG507Utnb/luPXNQb/ke3HVeKfF8o/5EZnzYr3Ly6qHEKdQhX9r6Qju1xG/ecLtJn/YPD9sHE0Wx18AQr6yfsbUNafdzQZ54Ui1GsbmLS9Lp7UeDi/tlMU/89po+BCUERAk+xGUjYog1ZJHbSbAmO6T7Q+B7UGaaiEt3PFpv3XNJ+//twrioB8am68N0lErujeoyn3uw7nB6Q5+Fd1xitueF468gyLBBkTCl/xkfUy0qHeXz91G32q3w5sTsmeL+cBD+NYbebKuuvPB5ihaiOwatBACr6aEnEiPC9kSWNPvcQg1kpoSkoAxPpFiF6KNMTsBxhRJsQtBVeydt3aMc2OKXWQ4ZcKuokx0uHbkBqnYTYRi5/qiYkfYJJ7hFLtkKFpweQ1aSMCrKc4nUuyyHYfafsUuxUhqSnICxthEil22I2hrJsCYICl2DlTF3nlryW9NsUtctA9XifalCteOkOEUu8wiFDuoS4pdImwSSKRix0VPcJXoSVq8mgI2kWJXrJ1gZP2aXcFIekoxPMqYmUqz2w7KzAQoA5JqZ5aq2juc4vBwY6pd4RIA7CoJAEXIqLO2nkwso64kvbFATNVYIFl87bLG+FdWLlXWW7n0K4lsuHwVWkZSit4+IMYvTjuOnj866f8jrnXEA/aq1I2nXg91MnrrwOjU+dBiHgHkcQLYUI9XJZK8IIIKSUQ5LIJteL1E1uT2gslULLSI+59//ZvQvZM7J+xn9VKsfwwQ+uAiIAp4F+r6ergnJLN9VELWh07hGItwSSwud2mvsWiGS9I1ktMxiwIuM6ivsijOzWxka2IWFbhQ+SqMlOFyJew6jKSiHGpI0aHOsvAkTAMXLCR/lOmI/BE7F2Mf+JMGXJRF9fKaHxYIDQcgyFadIIeZq17Tsli+NDrizlxHZ6hO+YjZnyiG6wA9yvvodK5xTL9Zr5nKGjmx/aN758Nbev34Bl1Cc1gaF3R0bG8nB6Y+ypHrvPjx8rjZHwTcfesTHc0a8n4kZ7g3zAIzV001g/SNDoI/V3WKDXHssBGMdAHwAADn4WoXhgiA0fa4u1DkgR0D+aSXOzVEkBCuT0L/ex/DF4ajo48MHUCcwhAdKAJDC09nqp80PMJ4nDopaxfUC17EgP90R+pOIi943LlGoSknAhGln8aO+xCCcAQaG7ch1RitUUcwadgwhK5OMfAeI7e9dtqlWpYI+ksL2o5UWtCW1ufJW2gMdkK08bSN3VZpwTDU2WGSbBhCx0ljSTttY5yeQBIMRx23plElxgSdekz7FLqRiIbYAYXui+yMQh0Vp6EHYZAaSwUZJKNR59Bp+ze03kpGVabGelq1bkyZEjowBEzkBHR6pgda64wZSdFZ3LQEkiRYSsOjncj8dKRITkEVjpovQaNKjPk5dcL2mR+LMD9c4cyPVajRGDT0IMwPFzjzYzVq7AZt/4R4COxEqrDTZTzUjAaHVPYoYmdRo0pIdDkkOgl+ARiqX2CND7m35RgcZp2hxUFPZIM6jYYDLeTjSQMwjpqqQxSHGDME/JIZAoawQyBwdgiYQs0EImIIYYkAcJYIGG7iEPENCLaI6YlskfIWhXqlz44mfbRkHMuoduLQzXxjZiFoWByLS2QAAKHvoO0SJ9Z3AMBjmjFSRUrUEJUP7kwOKTIKKVmaSFHE0TJC0huoADICKbLW0smRQkchRaWJFBPY9yM/8RDuonXKhmC1r29HZP69WeJolSjZ4YzAJixx2eGUyiRryc5XRQbQGUt04Lu+0ICPdbgbOMF3EiZ1VqIdeT/1qH9wU3i8xDtNG1x2vlE3F1Nxyhge0y/T2dfKNGd2EpkmjO1r8K78zbuj4cnH7FPgKSPO4ooz3gQf7zSMK1WNaxAdGnJAwL3AbUx3jDhbzTv5nuCOCZ44RVFD9EQLGc3DFF7gHAGcD/h4XuCCOFUrSi0IQmqCp+6ICRWFlDTj4cbUt+F4uLY0n/HweTjrYuqeoyjQmO+GG2QWx/6GQOnkdaiNGe/21SGt7N4v0T+jHEabVwaSYI55GtmRXk4iDQqErwsJRGcekpyGd6LGA351wNmVuKFAakSsxY4IROdLul1eHVzUPHVr+RLy3MAo2y0JXhqkXsqRGWWaYmBEK/VVxin2RrSS4I1B6jkKaSlDJgODzsb0wsvAFTJcVkAcYRmlFhShtAAs8eCNMokPUi/dNUbxXZjsYPEV3roX7a59hr9de+P+mu9dZv0bVsQhjnEClUX1OSUqUDoKKYkKlAm7tZv/xoKf32wIlPp0yACQjDCWt9Fi1BnLK0eNqIaK8HasqzMgA9L4hZ5h2JBR7kvXLZSnJhLI2WSnIXcf+KCp7IzScChSJwVm2gi/zO6UTkJIHceaOF4xjt0JcWOjrJ4oKSwBKamrY02pmavUkQLE8aRRQqspLYCp609NuTKPTeS21n1m4aU3DqMd89SUJgabOisp4vzfOKkmeEU8eQWLubtOXvQ8NaVpIXXvXlvi5OkodjcEfwJM4qQwhNOikLo6NpSyROruuKFObo8TWoK7AKnrT0Po3gc+lefZOabCeX8KlfPRUqiG4O5A6kGM0cSrEeKkmuAVseQVLKJ5gGUXPU/LoqpeaeLYQhRSRJpIIXQ0MjVV/U2hzIkYraPRXmmmO/TJb9wgCpYmqyrazHBzhm5MG2nG+k7/31DTaGM8ZcgFA9xSBhc15lSGtwHoFmG/rLEaOlMhumdWMzZFq0BjFmfI/QdEYsUcmGxUbHu0H2e4QfWkl+AM01QhBjjNCxxxALFRa4aQXlDemGMYMjGeiB4ZVapN8gYzzlRUqTZRpGSoCf1EdtRR9eBEMW9QdwsQMR836B6+eG5OZyyKFhNUOjmw2CsZsL6qFp7pIp6q7215r7wxETPk1gGajACPunbgi73X7mHKiWREoK4eIJJGXufugT5fFRTp8oEwNxIy1O0DRAxp0vUDYb4qGNT9A8Q3sFHF3TSdA8oQQLCpIwVQ1y7Q2JHHVZATxbxATfgnYp4wDw7EVL5q95C6URPURjmn5VWBk31VozyDCTyJ/RvzVXmGuuOBKCOETCvAVL6qUb6zmBPIiEFdXkEkTUxelWUXfVWBOETONNJXFYC634CGIRE3yj9N0ypo41WYIutve3t5hMb8vaAjs8zPvwp1ZLYHSBZTHK7n36UoBDoKKQlc8vH9qE1r/bva59uyWNe85Uzc7ujLGpDaci0dj2oj39//Czm3Cac=







for belt based I agree with the idea of smelting whats on the belt. I accidentally deleted my world that had that blueprint (re-install) but the concept is for 1 inserter to put into chest to put into furnace. The first inserter is set to filter by signal (constant combinator and what's in chest). Then by using max number trick (sent by constant combinator) limit chest to only have a few ores at once so it isn't stacked full of ore. the 2nd inserter (inserting into furnace) is also set as filter by signal. That inserter is connected via a different colored wire from chest to inserter to a new constant combinator. This combinator sends out a -2 stone. This makes sure that it won't jam the stone. Steel production is on the other side where the ouput is. It grabs from the finished product side iron plates and makes into steel when needed. Stack size 5 with it only working if chest has more than 10 iron plates. (1 chest 2 smelters).

when I get time I'll make a post about the full smelter design for both logistic and belt based.
Delicon
Burner Inserter
Burner Inserter
Posts: 17
Joined: Sun Aug 16, 2020 2:21 pm
Contact:

Re: Logistics Based Omni Smelter

Post by Delicon »

kevin28115 wrote: Thu Aug 12, 2021 2:08 am honestly arguing real life logistics vs game logistics is not a real argument and I find it silly.
It's academic, that's all. biggerw is actually teaching folks logistics using factorio, that's pretty cool.

kevin28115 wrote: Thu Aug 12, 2021 2:08 am Your design was interesting but I didn't like having a combinator for every smelter. below is my current omni smelter design.
It requires one combinator per chest, you can feed multiple furnaces from a chest. I explained in the 'Beyond the basics' section and posted a smelter stack that fed multiple furnaces from one chest and one combinator.
kevin28115
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Aug 14, 2017 11:39 pm
Contact:

Re: Logistics Based Omni Smelter

Post by kevin28115 »

Delicon wrote: Mon Aug 16, 2021 12:55 am
kevin28115 wrote: Thu Aug 12, 2021 2:08 am honestly arguing real life logistics vs game logistics is not a real argument and I find it silly.
It's academic, that's all. biggerw is actually teaching folks logistics using factorio, that's pretty cool.

kevin28115 wrote: Thu Aug 12, 2021 2:08 am Your design was interesting but I didn't like having a combinator for every smelter. below is my current omni smelter design.
It requires one combinator per chest, you can feed multiple furnaces from a chest. I explained in the 'Beyond the basics' section and posted a smelter stack that fed multiple furnaces from one chest and one combinator.
Goodness where has the years gone space age for the win. Here for a bug and saw this ancient post lol. sorry for the necro/old post. Figured if someone likes omni-smelter I'll post what I promised years before. It has stuff on it that's not useful but it's more of a learning purpose than anything.

Note the use of only 1 constant combinator to prevent furnace locking for as many smelters as you want as each inserter is basically a combinator doing calculation for you. The constant combinator uses a -1 output of stone to the input inserter to the chest and furnace. The inserter into the chest has a blacklist and set filter. This makes sure that there is at least 2 stone in the chest while preventing overfilling. The inserter into the furnace is set to set filter and stack size 2. This is so the chest can set the filter for the inserter putting it into the furnace.
kevin28115
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Aug 14, 2017 11:39 pm
Contact:

Re: Logistics Based Omni Smelter

Post by kevin28115 »

The same concept can apply to steel smelting inserter but a different logic is used here since constantly making steel is not ideal. A different logic is used. the 2 inserter grabbing iron from the chest into the smelter is a simple if iron is greater than 10 then active feeding potentially 2 furnaces at once with stack limit to 5 each. The inserter feeding the chest is set to set filter. The filter is set with the concept of using overflow. When steel is wanted a iron signal of 2147483636 is used so that when the 12 iron or above is put into the chest the filter is erased. It happens because on the 12 iron insert the number will read as a -1 iron plate erasing the filter. When you want to turn off the steel smelting you send a -1000 iron plate and it turns off.
kevin28115
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Aug 14, 2017 11:39 pm
Contact:

Re: Logistics Based Omni Smelter

Post by kevin28115 »

The max number is 2,147,483,647 and anything added to it overflows into the negative. The inserter can do addition for you with filter inserter. This removes the need to have 1 combinator per chest or smelter group setup.
I haven't looked at the bot based one in a while but concept is similar the current one for belt based is here.
kevin28115
Burner Inserter
Burner Inserter
Posts: 13
Joined: Mon Aug 14, 2017 11:39 pm
Contact:

Re: Logistics Based Omni Smelter

Post by kevin28115 »

iron/copper/stone logic



steel logic
Post Reply

Return to “Combinator Creations”