Each default decision problem has its own reward function designed to make challenging problems taking into account the costs of actions and the environmental factors. This is achieved following the reward shaping principle [1], [2]. Rewards are scalar, excepted for the both nitrogen fertilization and irrigation problem: the reward is a vector of the two respective individual reward functions.

For instance, for the fertilization problem nitrogen applications are penalized for any non null quantity ; nitrate leaching and volatilization are penalized as well ; plant nitrogen intake is rewarded.


For more details, reward functions are explicitely defined in a separated Python file.