In the past week I tested and optimised the decomposition approach that I described in my previous update. The resulting algorithm foes not perform as well as I would have hoped. That being said it is faster than the base MIP solution in some cases, but it's not a significant difference. It does achieve the optimal reward. Additionally I've tested the aggregation branch and resolved some outstanding issues on it. In the next week I'd like to get the aggregation branch merged or at least looked at by Michael Sproul. It still does not perform as well as the greedy aggregation approach so it certainly isn't worth merging as is, but I think this could be solved.
Apologies for the short update. The next one will be longer as I explain the enumeration approach in depth after implenting it in the test repo.