2 ms·
Ah individual control of a large array of reactors is trickier. I think the bang-bang controller with keeping all reactors synchronized has good legs, but it s
by willis936 6y ago
Ah individual control of a large array of reactors is trickier. I think the bang-bang controller with keeping all reactors synchronized has good legs, but it stops scaling well at some point. If the buffers become the limitation and you don’t want to run all of the reactors synchronized then a PID controller would be a good pick. The output value would choose how far
up the row of reactors you enable. If you could force max load on will, then loop tuning is a possibility.
To maintain the simultaneous reactor bonus, you would want to keep the fueling cycle synchronized and just adjust which reactors are enabled each cycle. This can be done with a clock that has a period of one fuel cycle.
One interesting thing is that due to the nature of reactors, you will have higher efficiency in running more reactors if your buffer does not run out. It might be possible to eek out a little more efficiency if you fall back to a bang-bang controller in low load scenarios (making sure the threshold and number of reactors used won’t overfill the buffer, which is practically unlikely in low load scenarios). I would have to experiment with this a bit more to see if it’s reasonable to capture more efficiency.
All of this is practically orthogonal to the standard players perception of efficiency, but I find it fun.
https://en.wikipedia.org/wiki/PID_controller https://en.wikipedia.org/wiki/PID_controller
https://github.com/quchen/articles/blob/factorio/factorio/circuitry.md#pid-controller https://github.com/quchen/articles/blob/factorio/factorio/ci...
- eric-hu 6y agoFascinating write up! Thank you for sharing!