
Regulatory limits don't trade against yield. Your optimizer should know that.
Let’s assume you're optimizing a late-stage step. You want yield up and cycle time down, and there's a genotoxic impurity that has to stay below 0.1%.
Three objectives, but they don't have the same standing.
Yield and cycle time genuinely trade against each other. Push on one and you give up some of the other.
The impurity doesn't work that way. At 0.09% you have a process. At 0.11% you have a failed batch, and no amount of extra yield buys the specification back.
A weight says: more of this is better, and I'll accept less of it if I get enough of something else. So a run that breaches the limit can still score well if the yield is high.
A threshold says: below this line, nothing else counts. Anything that violates it is discarded, and the optimizer works within what's left.
Getting this wrong is quiet. The campaign runs, the score improves, and you arrive at a well-optimized process that doesn't meet spec - because nobody told the system that one objective was a wall rather than a slope.
In @ReactWise you can set either. Weight the things that genuinely trade, and set hard thresholds on the ones that don't.
Maximize yield, minimize cycle time, never exceed the impurity limit. That's not three objectives of equal standing. It's two objectives and a threshold that must be met.