General How To

How to prevent the Merit Function from violating an operand?

Relating to: Optimization and Operands

Operand weighting is the primary mechanism a user can leverage to control the resulting optimization. Weights are relative. This means that the operand with the largest weight will be given more priority in the optimization algorithm, or if all operands have the same weight, then they all will be treated equally.

If an operand is continually violated, the first thing to try is to increase the relative weight of the operand. This has the effect of increasing optimization importance.

Sometimes you may find that even when an operand has a very large weight, OpticStudio will still continually violate the operand. You can then try to set the operand to have a negative weight. This will effectively give the operand a weight of “infinity,” and OpticStudio will not be able to violate the condition under normal circumstances. This can be useful to exactly meet an optimization criterion, such as focal spot or magnification.

However, it is important that you use these negative weights sparingly, if at all, for the best results. Negative weights should not be used for boundary conditions, and large positive weights are indicated before proceeding to negative weighting. For more specific details on negative weights, please see the Help File: The Optimize Tab (sequential ui mode) > Optimization Overview > Modifying the merit function.