Skip to main content

I'm trying to optimize a system with a partner but our results keep coming back different from one another even though we are using the same operands and variables. Why is this happening? 

First, you should check to make sure that the system is the same right before the optimization process. When using a local optimizer like the one available in OpticStudio, the starting point for your design prior to optimization is important and can change the optimal design that is attained.

The downfall of any gradient-based optimization algorithm is that it will always get trapped in local minima in solution space; however, even with the same optical system and starting point, the final solution reached may be different due to the nature of multi-threading. With multithreading, there is inconsistency in the order in which threads are completed, which in conjunction with precision limits and random perturbations introduced in the optimization algorithm, can alter the sum of the Merit Function when multiple cycles of optimization are performed.


Reply