优化方法
TFStudio 提供了一整套完整的优化器工具箱。本页说明每一种优化器是什么、何时使用,并总结了我们针对所有方法所运行的基准测试,以设定默认值。
存在两类根本不同的任务:
- 精炼(Refinement):结构固定,仅移动层的厚度以最小化评价函数。绝不增删层。
- 合成(Synthesis):改变结构:插入、移除、拆分或合并层,以寻找更优的拓扑。
所有方法最小化的都是完全相同的评价函数(来自 评价函数编辑器 的操作数集合),并且都遵循 设计编辑器 中设置的表面模式(front_only / back_only / both_independent / symmetric)。
从 精炼 窗口的下拉菜单中选择方法。它们分为局部(local)(从你当前的设计沿评价函数斜率向下搜索)和全局(global)(广泛搜索,无梯度)。
| 方法 | 是什么 | 最适合 |
|---|---|---|
| 序列二次规划(Sequential QP,SQP) ⭐ 默认 | 有界牛顿步,将层边界 [MNT/MXT] ∩ [Dmin,Dmax] 作为硬约束(box-QP,精确满足边界,无需罚函数调参)。 | 默认选择。 在每一个基准案例中取得最佳或并列最佳的评价函数(MF),在带约束的问题上优势尤为明显(它原生处理最小厚度)。在困难问题上较慢,因此若你优先追求速度,可切换到 DLS。 |
| 阻尼最小二乘(Damped Least Squares,DLS) | Levenberg–Marquardt,经典的薄膜最小二乘精炼器。QR 求解的阻尼步,精确解析雅可比矩阵。 | 快速、稳健的经典方法;在每次合成步骤之后都会被调用。当你想要在最后一点评价函数上追求速度时选用。 |
| 共轭梯度(Conjugate Gradient,CG) | Polak–Ribière⁺ 纯梯度方法(Nocedal & Wright §5.2),精确解析 ∇MF,投影式回溯线搜索。 | 超大型堆栈以及对一个尚可的设计进行抛光。在 30 层失谐高反(detuned-HR)基准中胜出;是针式法首选的内层精炼器。 |
| 牛顿(Newton) | 二阶方法。对单侧评分时使用精确解析海森矩阵(JᵀJ + 曲率);对全滤光片(Both / symmetric)使用高斯-牛顿(JᵀJ)。 | 以最少迭代次数完成二次收敛的收尾:小堆栈、接近极小值时,当你想要最后几位精度时。 |
| 牛顿-共轭梯度(Newton-CG) | 截断牛顿法,无矩阵(matrix-free);用内层 CG 通过海森-向量乘积求解牛顿步(无需稠密海森矩阵)。 | 无需代价即可获得二阶质量。 可扩展到稠密牛顿过慢的大型堆栈(见下文 75.9 s → 2.8 s 的数据)。 |
| 方法 | 是什么 | 最适合 |
|---|---|---|
| DLS 多起点(DLS multi-start) | 从 N 个随机扰动起点运行 DLS,保留最佳结果。 | 在已知尚可的设计周围逃离浅层局部极小值。 |
| 差分进化(Differential Evolution,DE) | Storn & Price(1997)的种群搜索,无梯度;在你的 CPU 核心间并行运行。 | 较差或未知的起始点、多模态目标。在平滑问题上最强的全局方法。 |
| 模拟退火(Simulated Annealing,SA) | Kirkpatrick(1983),以概率 exp(−ΔMF/T) 接受上坡移动,随后降温。 |
崎岖的评价函数曲面,需要爬出深井时。 |
| 全部尝试,保留最佳(Try all, keep best) | 从同一起点运行每种方法并保留最低的评价函数(DLS 多起点最后运行,因为它最慢)。 | 当你不想选择,而宁愿让 TFStudio 选出赢家时。 |
所有方法在所有表面模式下都可用。 Newton / Newton-CG / SQP 对单侧使用完整的解析海森矩阵,对耦合的全滤光片评估使用高斯-牛顿,没有静默回退。
这些方法改变层的数量。详见各工具页面。
| 工具 | 作用 | 默认内层精炼器 |
|---|---|---|
| 针式 | 在 P 函数 指示评价函数改善的位置插入无限薄的“针式”层,然后进行精炼。 | CG,它使设计保持“松弛”状态,以便扫描持续找到可改进的针式层(更重的精炼器会过度精炼,导致循环过早停止)。 |
| 渐进演化 | 将针式优化包裹在一个外层循环中,强制插入一个针式层(即使上坡)以逃离局部极小值。 | CG,它不会像最小二乘精炼器那样在苛刻的多通带目标上停滞,且强制步骤能逃离它落入的极小值。 |
| 结构优化器 | 以模拟退火接受准则随机增 / 删 / 拆 / 合 / 扰层。 | CG。在基准中取得最佳层效率。 |
各工具的内层精炼器可选;上述默认值均在真实设计上经基准确认。
只想要最佳结果? → SQP (默认;基准中最佳)想要更快、接近最佳? → DLS尚可的设计、大型堆栈? → CG (或 Newton-CG 进行抛光)接近极小值、想要最后精度?→ Newton-CG (或小堆栈上用 Newton)难以满足最小厚度? → SQP (原生处理边界)较差 / 未知起点、多模态? → DE (或崎岖曲面上用 SA)层数不足以达到目标? → 合成:针式 → GE → 结构优化不确定? → 全部尝试,保留最佳一个可靠的完整工作流:
无约束合成 → 用你的最小厚度进行精炼 → 设计清理器 → 再次精炼。
大规模基准测试
Section titled “大规模基准测试”为了设定本页的默认值与指导,我们针对一组固定的代表性设计(一个宽带增透膜、一个 50/50 分束器、一个三线带通、一个短通截止滤光片,以及一个苛刻的多通带滤光片)运行了每一种方法,并测量了最终评价函数、运行时间以及所得层数,分别在有约束和无约束、以及带现实最小厚度限制的情况下进行。
- SQP 是整体最佳的局部精炼器:在每一个案例中(无论带约束还是无约束)都取得最佳或并列最佳的评价函数,并且在带约束问题上优势明显,因为它将最小厚度视为硬盒式约束(无需罚函数调参)。它现在是默认的精炼方法。在困难问题上它比 DLS/Newton-CG 花费更多时间,但质量优势很大。
- Newton-CG 是最佳的无矩阵二阶方法:它在不形成稠密海森矩阵的情况下匹配 Newton / SQP 的质量。在 12 层带通上,稠密 Newton 耗时 75.9 s,而 Newton-CG 仅 2.8 s,结果相同。
- CG 在超大型堆栈上胜出:它拿下了 30 层失谐高反(detuned-HR)案例。
- DE 是平滑问题上最强的全局优化器;在一个多模态 BBAR 上,它达到 MF 0.019,而普通 DLS 卡在 0.089(它逃离了局部极小值)。
- 合成在原始评价函数上胜出:在层数足够的前提下,生长层的工具(针式 / GE)能达到比任何固定结构精炼器更低的评价函数。
- 结构优化器给出最佳的层效率:每层 评价函数最低。
dMin1 ↔ 40 的权衡是真实且可见的:dMin = 1 nm让合成达到更低的评价函数(更多、更薄的层);可制造的厚度下限会抬高评价函数,但产出可制造的堆栈。在dMin = 1下合成,然后在精炼 + 清理器处理中强制你真实的厚度下限。- 约束行为是工具特定的且有意为之: 针式按设计忽略 MNT(MNT 罚函数会抹掉每一个可改进的候选),GE 遵循 MNT,而结构优化器 / 精炼通过罚函数遵循它。
有两件事能让每种方法在不改变结果的前提下更快:
- 并行处理:多起点精炼、差分进化以及合成候选搜索会将工作分散到你的 CPU 核心上,因此在大型设计上仍能保持响应。
- 硬件加速数学:核心光学计算通过一个优化引擎运行(默认开启;设置 → 性能),为每一次优化带来大幅加速。
- K. Levenberg, Quart. Appl. Math. 2, 164 (1944); D. Marquardt, J. SIAM 11, 431 (1963), DLS / Levenberg–Marquardt。
- J. Nocedal & S. Wright, Numerical Optimization, 2nd ed., §5.2 (CG), Ch. 6–7 (Newton / truncated Newton), Ch. 18 (SQP)。
- R. Storn & K. Price, J. Global Optim. 11, 341 (1997), Differential Evolution。
- S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi, Science 220, 671 (1983), Simulated Annealing。
- A. V. Tikhonravov et al., Appl. Opt. 35, 5493 (1996) & 46, 6936 (2007), needle / gradual evolution。
- H. A. Macleod, Thin-Film Optical Filters, 5th ed., Ch. 9 & §13 (synthesis & refinement overview)。