全局优化(Global Optimization)
几十年来,传统的优化透镜的方法一直是使用阻尼最小二乘算法(DLS)。DLS有许多吸引人的特性,它具有高效率,适用于寻找评价函数的"局部"极小值。在上面语境下,"局部"极小值指的是从解空间当前位置能得到的最小评价函数值,而且无需增加评价函数值(这是理想化情形,事实上,DLS可以跳过评价函数值增加的小区域)。
想象一下这个问题,假设你正在徒步旅行,并试图从山的起点处找到山谷的底部。你想找到山谷里的最低点。假设你看不到山谷,雾很大,你只能看到你现在所处位置周围的地形。你可以确定哪条路是下坡的,然后沿着那个方向走,直到再次变成上坡,在这个点处你会找到一个新的下坡方向。你可以反复重复这个过程,直到到达的点的所有方向都是上坡方向。这个最低点是一个局部最低点,至少是这个山谷的底部。
这个方法存在的问题是,一旦你到达了局部极小值,就没有已知方法(一般优化问题)来确定其它地方是否没有更好的、更低的最小值。例如,如果你从这一点向任何方向走上坡,直到你到达一个局部的山顶,然后沿着下坡走向下一个山谷,你才最终会到达一个新的最低点。那么这个新的最低点比前一个谷底高还是低呢?唯一的验证办法就是徒步旅行!
你可能会问,既然计算机计算这么快,为什么不尝试每一种可能的配置,看看哪一种是最好的呢?为了了解问题实现的难易程度,考虑一个含有六个自由度的双胶合透镜(自由度可作为优化的变量)。如果假设每个变量可以有100个可能的值(粗采样),然后有1E+12个不同的可能的系统。如果计算每个系统需要20条光线追迹(过低的估计),每面每秒可追迹1,000,000条光线,那么所需要的时间大约是8E+07秒,大约2.5年。含有四个元件的镜头(16个变量)在三个视场和三个波长进行评价,采用100条光线需要计算1E+32个系统或需要数十亿倍宇宙年龄的时间。
好在全局优化问题的解决方法的计算时间还算合理。这些算法包括模拟退火、多起点计算、专家系统、神经网络等等。所有这些算法都有长处和短处,就不在本章进行赘述了。
下一部分:
- OpticStudio全局优化功能(Global Optimization Capabilites of OpticStudio)
- 全局优化算法(The Global Optimization Algorithm)
- 锤形优化算法(The Hammer Optimization Algorithm)
- 全局优化中的玻璃选择(Global Optimization of Glass Selection)
- 使用玻璃替换(Using Glass Substitution)
- 限制玻璃的选择(Restricting Selected Glasses)
- 使用全局优化的建议(Suggestions for Using Global Optimizers)