# How to deal with variable action ranges in RL for continuous action spaces

I am reading this paper on battery management using RL. The action consist in the charging/discharging power of the battery at timestep $$t$$. For instance, in the case of the charging power, the maximum of this action can be given by the maximum charging speed $$c^{\max }$$ or by the state of charge of the battery, since it cannot be charged more than $$100\%$$. Therefore, the charging action has the following range:

$$0 \leq c_{t} \leq \min \left\{c^{\max }, \frac{B^{\max }-B_{t}}{\eta_{c}}\right\}$$

In some timesteps the maximum of $$c_{t}$$ will be $$c^{\max }$$ and for others $$\frac{B^{\max }-B_{t}}{\eta_{c}}$$. What would be the best way of implementing a variable action range? I have thought in using a range $$[0,1]$$ for the action, scaling it to the suitable range. Is there any standard way to deal with variable ranges?.

• Here is a related question, but your question seems to be in the context of continuous action spaces, so I would recommend that you change your title to emphasize that. See also this.
– nbro
Feb 28 at 10:16