The art of lens design can be very time consuming and non-deterministic. Brute force techniques exist in common lens design programs, but they too can be very time and resource consuming and require expertise on the part of the optical designer. Such algorithms often get caught in local minima and require manual intervention to find a better solution if they are too sensitive or yield unmanufacturable designs. There have been attempts to move past these limitations such as lens design aided by machine learning and other general optimization problem techniques. We have been developing a homegrown solution that operates by utilizing a custom genetic algorithm with variable length chromosomes and crossover; stale population refreshing; local optimization; and chromosome mutation to perform operations an optical designer might execute. The solution operates with the following assumptions: it is targeted for the nominal lens design phase; it uses spherical and aspheric surfaces; it does not currently handle zoom lenses, although this can be implemented in the future; it uses OpticStudio and Python for communication. It offers benefits over many existing solutions because it can overcome local minima without manual intervention; has built-in metrics to guide it towards a workable solution with acceptable sensitivity and manufacturability, and it operates in a fraction of the time of existing brute force algorithms. This paper illustrates the tool’s capabilities with a few design examples with varying starting points while showing its efficiency, absolute performance potential, and independence from optical designer intervention.
|