I want to create an exercise suggester. Each day either has a routine or is a rest day. A routine has 4 slots. For each slot we select an exercise. We constrain the legal exercises, only do upper-body today, etc. We, therefore, restrict the number of available exercises. This seems easy.
I want to know how can I extend this model to take fatigue into account. Fatigue is a state such that every exercise reduces it (specific value for each exercise) and it recovers with time.
Can this problem even be modeled as a constraint satisfaction problem? What's the best way of modeling and solving this problem
I'd like to suggest all the legal exercises taking fatigue into account.