Budget recommendations don't align with saturation curves

Regarding optimizer getting stuck, It can be several things, I would say:

1. Scales are off, you can quickly create an objective function with `original_function() * 1e10` and see how optimizer reacts. If after doing this the iterations increase, the problem was your response and input scales are quite far in magnitude, and the **augmented** objective was failing under the tolerance because the tiny gradient given the difference in magnitude from both scales.

2. Current gradient based on your function is not smooth, makes SLSQP struggle (It may not be the best given your posterior). Then write the new smooth objective or changing the algorithm could be an option, but can’t say more without see specific output, and posterior responses.