在本课中,我们将探索一个功能强大但很少使用的SYNOPSYS功能:它可以进行
参数研究,显示两个变量对第三个变量的影响。在这种情况下,我们希望了解
镜头优化运行的结果如何取决于初始
结构。在一个理想的设计中,每一个起点都将达到最佳可能的结果,但现实并不如此。对于任何给定的问题,通常存在许多局部最小值,并且我们期望的最好的优化算法应该可以得到最好的结果。
Wt!NLlN8 因此,人们会期望两个几乎完全相同的初始结构将达到相同的局部最小值,即使它不是全局的。当前算法在此优化上的表现如何?TU Delft的Florian Bociort博士发现了一些非常有趣的结果。他做了一个很简单的例子,如下图所示。
0ac'<;9]zP 为了使工作变得非常简单,他只在主
波长的三个
视场点校正了
光线,忽略了边缘误差。然后,他以曲率半径2和曲率半径3的起始值为变量做栅格,并绘制一个图,其中网格上每个像素的颜色编码评价函数的最终值。他发现有几个局部最小值,即使对于如此简单的问题也不足为奇 - 但完全出乎意料的是,在许多地方,评价函数以非常混乱的方式变化。因此,附近的起点经常会到达截然不同的终点。(他在Code-V上做了这个分析。)这是他在
http://homepage.tudelft.nl/q1d90/FBweb/fractals.html上的文章中的一个图解。
Y-*]6:{E (我们将这张照片放在了一边,以便它与下面的SYNOPSYS分析一致。)
$60]RCu 注意边界附近的结果是非常复杂和混乱的。黑色区域表示光线失效的起点,因此无法进行分析。
T'VKZ5W 我们认为SYNOPSYS中的PSD算法比上面的方法更可靠和稳定,因此我们在3参数评估功能PA3上设置了运行。这是输入:
!p4FK]B/u 开始双胶合镜头:
Z`@< O% 为什么需要高阻尼?(默认值为1.0或0.01,具体取决于模式切换。)SYNOPSYS中的第一次迭代是用DLS(阻尼 - 最小二乘法)循环法,我们希望避免在该算法的第一次传递时产生的任何混乱; 高阻尼将确保镜头在该过程中变化很小。更强大的PSD算法追迹从传递到传递的一阶导数的变化,并推导出关于高阶导数的信息。这是PSD方法背后的技巧,但它只能在第二遍开始。 <