Alice has $5$ days that she can spend on $3$ tasks. The benefit of spending a certain number of days on each task is given by the following table. Alice seeks to maximize benefit.
| Benefit of n days spent on task
Task | 0 | 1 | 2 | 3 | 4 | 5
------+-------+-------+-------+-------+-------+-----
T_1 | 10 | 45 | 50 | 55 | 55 | 60
T_2 | 35 | 40 | 45 | 50 | 50 | 55
T_3 | 25 | 40 | 60 | 65 | 70 | 80
Is there an optimization algorithm that could be used to prune the search space? Or is an exhaustive search required in order to find the optimal solution?
The benefit would always be $\geqslant 0$ and would always be monotonically increasing.
The first thing to simplify the details would be to remove the baseline values - you can re-express it all as $total\_value = 70 + v_1 + v_2 + v_3$, with values from:
We could write this as a bunch of fancy dependent marginal values, but the table is small enough that we probably won't get a huge gain from that. Instead, we can at least improve our search by finding a lower bound by just taking a greedy approach - for each day, find the choice of task that gives us the greatest marginal improvement on our value.
Which in this case starts with task 1 (35 value on the first day versus 5 or 15), then 2 days of task 3 (15 and 20 value against 5). At this point, all options give us 5 value for the next two days of effort, so regardless of our choice we'll get 10 more value. So the total value we get is $total\_value = 70 + 35 + 15 + 20 + 5 + 5 = 150$.
From there, you can eliminate some possibilities by noting that, for example, it's impossible to do better than that by just doing one task for all 5 days, so you must have some kind of mixed strategy. You could even do a few different baselines to prove whether avoiding one task entirely has any benefit.