评价函数的修改
用户可以修改评价函数。为了改变评价函数,在主菜单栏中选择编辑, 评价函数。可以使用插入或删除键来添加新的操作数或者删除一些操作 数。通过选择工具,更新,可以更新当前评价函数值和每个操作数的值。 操作数的设置过程是在第一列中键入名称,然后在余下的数据域中填 入数据。定义一个操作数可能需要八个数据域:
Int1,Int2,Hx,Hy,Px,Py,目标值,和权重。Int 的值是一个整数参量, 它的含义依赖于选择的操作数。通常,Int1 是表面指标,Int2 是波长 指标,但不一定总是这样。不是所有的操作数都使用所有提供的数据域。 对于那些使用Int1 来指出表面编号的操作数,这个参数说明了在哪个 表面上求出对象的值。同样的,当Int2 被用作波长指示符时,它说明了 将使用那种波长。Int2 必须是等于波长编号的整数值。参数Int1和Int2 还有其他的用途,如下所述。
许多操作数要使用Hx,Hy,Px,和Py;它们是归一化的视场和光瞳坐 标(参见“约定和定义”一章中的“归一化的视场和光瞳坐标”部分)。 注意ZEMAX 不会通过检查来判断指定的Hx、Hy、Px 和Py坐标是否在单位 圆之内。例如,一个坐标为(1,1)的光瞳实际上是在入瞳的外面,但 当追迹那些光线时,除非这些光线在几何上不能被追迹,否则不会出现 错误信息。
目标值是想要指定参数达到的值。将目标值和操作数值的差值平方, 总计所有操作数的这个值来产生评价函数值。目标值和操作数值本身是 不重要的,重要的是两者的差值。差值越大,其对评价函数的贡献就越 大。
权重对于哪个参数也是相当重要的。除了在特殊情况下用-1 外,权重
可以是大于0 的任何数。当一个操作数的权重为0,优化法则计算时将忽 略这个操作数。如果权重大于0,那么这个操作数将被作为一个“像差”, 随着评价函数被最小化。如果权重小于0,ZEMAX 将把这个权重严格地设 为-1, 这表明这个操作数将被作为一个Lagrangian 乘数。Lagrangian 乘数将强迫优化法则去寻找一个能严格符合指定约束的解决方案,而不 管其对其他操作数的影响。评价函数定义如下:
所有
i 的总和仅包括正权重的操作数,而所有j 的总和仅包括
Lagrangian 乘数操作数。选择这样的约定以便于当符合条件时,增加用 来控制边界条件的Lagrangian 乘数不会对评价函数产生影响。 除非有一个强制要求需要用Lagrangian 乘数,否则一般将不用它。虽 然有例外情况,但Lagrangian 乘数会降低优化速率,如果光学系统与评 价函数最小值差得很远,它会执行得很差。尽管在优化调用之间需要重 新调整权重,但使用加了权重的约束条件通常更加可靠。
优化操作数
下面的表格对那些可用的操作数进行了说明。第一个表格是“快速参 考”指南,它根据综合主题对操作数进行了分类。第二个表格提供了每 个操作数(按字母顺序排列)的详细说明,并规定了哪些操作数使用哪 些数据域。注意,在详细说明的表格中一些操作数(如SUMM)使用Int1 Int2 来表示其他参数,而不是表面和波长。如果操作数不使用某个数据 域,则显示“—”。
优化操作数分类
和