Why not something more intelligent than PID?<p>Control theory knows a lot more algorithms. PID is arguably simple to implement but is not particularly good algorithm.<p>It kinda seems to me as if everybody red only the first page on control theory and decided they don't need to read further and base their solution on it.<p>PID will basically have you experience either large overshoots (which you will experience as overcorrecting to changes in demand) or slow adaptation to changes.<p>There is also possibility that your system changes and your PID parameters will cause the whole controller to misbehave.<p>I have implemented a controller for espresso machine boiler water temperature. Replacing PID with moving horizon estimator allowed me to cut time from startup until stable temperature by at least half and eliminate any measurable over or undershoots.
Useful if you’ve never heard of PID controller: <a href="https://en.wikipedia.org/wiki/PID_controller" rel="nofollow">https://en.wikipedia.org/wiki/PID_controller</a>
Not sure how relevant, but reminded me of this thesis[1] which is based on resource closure operators[2]. The thesis applies the model to that of CPU frequency scaling, but I guess a model could be made for something like scaling number of compute nodes.<p>From the abstract of [2]:<p><i>We evaluate a specific design for a resource closure operator by simulation and demonstrate that the operator achieves a near-optimal balance between cost and value without using any model of the relationship between resources and behavior. Instead, the resource operator relies upon its control of the resource to perform experiments and react to their results. These experiments allow the operator to be highly adaptive to change and unexpected contingencies.</i><p>Not my field so not sure if anything significant has been done using this in the past 10 years, or if it fizzled out.<p>[1]: <a href="https://www.duo.uio.no/handle/10852/8753" rel="nofollow">https://www.duo.uio.no/handle/10852/8753</a><p>[2]: <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.304.3398" rel="nofollow">http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.304....</a>
Why? A PID controller is <i>always</i> a kludge, here extremely so. Something ad hoc could easily be both more optimal and mathematically simpler to analyze and test.