We developed an open source optical design program in C++ with a genetic and bisection optimization method. The genetic algorithm brings the system close to the global optimum using the survival of the fittest principle. After an abort criterion has been reached, a local optimization via the bisection method optimizes the system further until a new optimum is reached. We test our algorithm with different population numbers and search area sizes for the genetic selection and investigate how the calculation time or the accuracy of our algorithm behaves when we change those parameters. It is shown that our algorithm is able to optimize complex optical systems. The user can add different wavelengths, field positions, or a minimum surface gap. It is also possible to change the weight factor of specific parameters in the merit function. We explain the working principle of our algorithm and compare the results with commercial tools. |
ACCESS THE FULL ARTICLE
No SPIE Account? Create one
CITATIONS
Cited by 1 scholarly publication.
Algorithm development
Optimization (mathematics)
Genetics
Zemax
Optical design
Ray tracing
Optical engineering