I am using ROOT to optimise selection of areas for sediment reduction based on SDR model outputs. The SDR model was used to estimate sediment reduction if all proposed interventions are carried out to their full extent (i.e. maximum potential sediment reduction).
I have been setting different sediment reduction targets in ROOT (e.g. 75% of maximum potential sediment reduction, 50% of potential etc.). The idea is that these represent different levels of intervention that might be carried out. This is working fine but I’d like to know if I can instead specify a range for the sediment reduction target. For example, say the target to achieve 75% of maximum potential sediment reduction is a reduction of 50 000t. Is there any way I can instead specify a range as my target (e.g. 48 000 - 52 000 t)?
My concern is that if ROOT has to come up with a solution which reduces sediment export by exactly 50 000 t, then it might be selecting SDUs which aren’t necessarily optimal for intervention but have to be chosen to meet the exact sediment reduction goal. However, what I really want to know is what areas are optimal for intervention to meet a sediment reduction goal of approximately 50 000 t. I tried setting 2 targets in the target csv as follows: sed_reduction >= 48 000 t and on the next line sed_reduction <=52 000t. However, when I do this the model runs for a while before throwing up a ValueError: total size of new array must be unchanged. The log file (attached) is littered with PRIMAL INFEASIBLE errors when I use a range as a target in this way.
Should what I am trying to do be possible or am I barking up the wrong tree?
Thanks for any help.