Say that you have a reservoir of fixed capacity, $V_{max} [m^3]$ and some level of fill $V [m^3]$.
Liquid is flowing in a stochastic, but observable rate:
$$x(t) [m^3\cdot s^{-1}]$$
You are given a valve that can drain the pool at any rate:
$$y(t) [m^3\cdot s^{-1}]$$
I want the pool to never overflow or underflow. At the same time I want the output to change smoothly. Say that the turbine downstream does not like having its rotational speed change a lot within a given time window. I prefer not to make any assumptions about the input rate statistics.
Is this solvable as presented? Or will people typically attack this kind of problem with a crude regulator plus some ad-hoc nonlinearity? Is there a way to phrase a similar problem such that a definitive answer can be found?
Edit: As was suggested in the comments, there are sub-variants of this question. Such as:
- Cases where we dont care about the actuall reservoir fill, only the output flow. For the case of an input that is symmetric about its mean, we probably want the nominal reservoir fill to be 50%
- Asymmetric cases where we want nominal fill to be something else
- «hard» limits where under/overflow are to be avoided at all costs (or are physically impossible).
- «soft» limits where under/overflow have a cost that can be included in the optimization
I would be happy to know good answers to (1,3)
Come to think of it, is this not similar to adaptive cruise control? We have a car in front whose speed can only be observed. We have our own car whose speed can be regulated. We have a «reservoir» of distance between the cars. Hitting the other car is not acceptable. The driver sets a nominal distance. At the same time we want to offer the driver (and anyone behind) a «smooth» experience?
I have had real problems like this that were and that were not symmetric. Sometimes you eant to avoid overflow, but underflow is no issue.
– Knut Inge Aug 18 '22 at 04:01