建模

优化器

优化目标、变量、网格参数与算法配置

这篇指南介绍用 Optimizer 根据目标函数搜索满足要求的结构。内容包括优化目标、搜索变量、网格预搜索和算法参数,结果在 Optimization Report 中查看。

前提条件

  • Structure 已通过验证。
  • Optics 已通过验证。
  • 已明确优化目标和期望方向(减反、增透、匹配目标光谱等)。

推荐配置顺序

  1. 先定义 Objectives(目标量、入射光、评分方式)。
  2. 再定义 Variables(可搜索参数及边界)。
  3. 调整 Grid Parameters(可选网格预搜索)。
  4. 调整 Algorithm Parameters(求解器与收敛参数)。
  5. 先用较小预算做第一次试跑,确认方向正确后再增加预算。

页面结构

Optimizer 页面分为四个纵向区域:

区域功能
Optimization Objectives定义目标量、入射光条件和评分方式
Optimization Variables定义可搜索参数及其边界
Grid Parameters可选的网格预搜索(在局部优化前先做粗网格扫描)
Algorithm Parameters局部求解器的选择与收敛参数

上半部分为目标与变量区域(初始状态示例):

下半部分为网格参数与算法参数区域:

全局工具栏

  • Run Optimizer:仅当整份模型验证通过时可执行。
  • 运行开始后,本页所有输入控件锁定,禁止修改。
  • 若本页存在错误,Footer 会把错误归类到 Optimizer,并保持运行入口禁用。

优化目标(Objectives)

目标区域定义"什么结果算更优"。所有启用目标按权重组合成总适应度(Fitness)。

工具栏

操作说明
Add Objective创建新目标(默认:Reflectance, Maximize, 550 nm)
Edit打开选中目标的编辑对话框
Duplicate复制选中目标(含所有配置)
Move Up / Move Down调整目标顺序
Delete删除选中目标

目标列表表格

列表表格显示每个目标的摘要信息。双击表格行或点击 Edit 按钮可打开编辑对话框。

列内容备注
排序手柄拖拽图标拖拽可调整行顺序
启用复选框复选框禁用的目标不参与总适应度计算
Mode徽章:Point / Band / Curve Fit / Color由波长模式和目标类型自动推导
Target带颜色的标签品红 = R,青色 = T,橙色 = A
Incident Light摘要文本如 "550 nm · 0° · Unpolarized" 或 "400-700 nm / 5 nm · 45° · S"
Goal摘要文本如 "Maximize" 或 "Average · Minimize" 或 "Curve Fit · RMSE"
Weight数值默认 1,最小 0.000001
Status状态图标绿色勾号 = Ready,红色叉号 = Needs Review(悬停可查看详情)
Edit 按钮按钮打开编辑对话框
Delete 按钮X 按钮删除该目标

以下为包含 3 个目标(Point 和 Band 模式混合)及 Wavelength Coverage Preview 的完整示例:

Mode 推导逻辑

目标列表中的 Mode 徽章由当前配置自动推导,不需要手动选择:

条件Mode
选择 Color Match 目标(Reflection Color / Transmission Color)Color
选择 Curve Fit 评分方式Curve Fit
单波长(Single)+ Scalar GoalPoint
扫描波长(Sweep)+ Scalar GoalBand

Target 颜色编码

目标列表表格和 Wavelength Coverage Preview 中使用统一的颜色编码:

目标量颜色应用位置
Reflectance (R) / Reflection Color品红 / 粉色标签 + 预览条带填充
Transmittance (T) / Transmission Color青色 / 蓝绿标签 + 预览条带填充
Absorptance (A) / Layer Absorption橙色标签 + 预览条带填充

波长覆盖预览(Wavelength Coverage Preview)

目标列表下方是一个可折叠的 Wavelength Coverage Preview 面板,以水平条带的形式可视化每个目标的波长范围。

特性说明
Point 目标显示为一个点标记
Sweep / Band 目标显示为一条水平条带
颜色编码与 Target 颜色一致(品红 / 青色 / 橙色)
禁用目标以 40% 不透明度显示
点击交互点击条带可选中对应目标
摘要文本"{N} overlap regions, {range}, up to {M} enabled objectives overlapping"

以下为单个目标时的 Wavelength Coverage Preview(显示为点标记):

多目标时,预览面板显示多条条带,重叠区域以摘要文本标注:

多目标配置实践

多目标优化的核心策略:

  • Point + Band 组合:用 Point 目标锁定设计波长处的极值,用 Band 目标保证宽带性能。
  • 权重分配:更高的 Weight 使求解器在该目标上投入更多优化努力。
  • 独立入射光:每个目标的入射光条件独立配置,可在同一次优化中同时测试不同角度和偏振态。

以宽带减反射膜设计为例:

#目标量Mode波长评分方式权重
1RPoint550 nmMinimize2
2RBand400–700 nmAverage · Minimize1
3TBand400–700 nmAverage · Maximize0.5

此配置将设计波长处的反射率最小化设为最高优先级(权重 2),宽带平均反射率最小化为次要目标(权重 1),同时辅以透射率最大化(权重 0.5)作为补充方向。

对于曲线拟合场景,可用一个 Curve Fit 目标指定目标光谱形状,同时用一个 Scalar Goal 目标设置底限值(例如 Stay in Range 模式保证反射率不超过某阈值)。


目标编辑对话框(Objective Editor Dialog)

点击 Edit 按钮或双击目标行打开编辑对话框。对话框分为三个区域:Target、Incident Light、Optimization Goal。

Target 区域

选择要优化的物理量:

目标量UI 标签说明
RReflectance (R)反射率
TTransmittance (T)透射率
AAbsorptance (A)吸收率
layerAbsorptionLayer Absorption单层/层组吸收,需选择具体层或层组
reflectionColorReflection Color反射色坐标匹配
transmissionColorTransmission Color透射色坐标匹配

选择 Layer Absorption 时,需要额外指定目标层或层组。

选择 Reflection Color 或 Transmission Color 时,系统自动切换至 Sweep 模式、启用入射光谱、启用颜色计算,并将 Goal 锁定为 Color Match。

Incident Light 区域

每个目标拥有独立的入射光条件,与全局 Optics 页面无关。

每个目标的入射光参数独立于全局 Optics 页面的配置。同一次优化中,不同目标可以使用不同的入射角、偏振态和波长范围。

波长采样(Wavelength Sampling)

模式字段说明
SingleSingle Wavelength (nm)评估单一波长点,最低 1 nm
SweepStart Wavelength / End Wavelength / Step (nm)在一段波长区间逐点计算,Start < End,Step > 0

颜色目标强制使用 Sweep 模式。

入射角(Incident Angle)

范围:0° ~ 89.9°。滑块和数值输入联动。

偏振比(Polarization Ratio)

范围:0 ~ 1。0 = 纯 s 偏振,1 = 纯 p 偏振,0.5 = 非偏振。

锥角(Cone Angle,可选模块)

用于模拟有限数值孔径或发散光束。启用后配置:

参数范围说明
Half-angle0° ~ 89.9°半锥角
DistributionUniform / Lambertian角度分布
Ring Count2 ~ 20环数
入射角 + 半锥角不得超过 89.9°。

入射光谱(Incident Spectrum,可选模块)

仅在 Sweep 模式下可用。启用后,入射光谱作为波长权重参与加权平均或加权曲线拟合。

光源说明
Illuminant A白炽灯标准光源
Illuminant D65日光标准光源
File从文件加载自定义光谱(.txt / .pl)

颜色目标下,入射光谱自动启用且必须配置光源和观察者角度(2° / 10°)。

Optimization Goal 区域

Goal 类型取决于 Target 和波长模式的组合。

Scalar Goal(标量目标)

适用于所有非颜色目标。

参数说明
Aggregator仅在 Sweep 模式下出现。可选:Average / Minimum / Maximum / Integral;启用入射光谱时变为 Weighted Average
ModeMaximize / Minimize / Hit Target / Stay in Range
Target Value仅在 Hit Target 模式下,范围 0 ~ 1
Lower Bound / Upper Bound仅在 Stay in Range 模式下,范围 0 ~ 1,Upper >= Lower

单波长模式下不需要 Aggregator,直接对该波长点评分。

Curve Fit(曲线拟合)

仅在 Sweep 模式下可用。目标是让优化后的光谱尽量逼近给定曲线。

参数说明
Error MetricRMSE(默认);启用入射光谱时变为 Weighted RMSE
Curve Data曲线数据点列表,至少 2 个点;通过 Chart / Table 双 Tab 编辑
Import CSV从 .csv / .tsv / .txt 文件导入曲线,每行 wavelength, value[, weight]
Fit to Sampling把曲线两端补齐到当前 Sweep 范围
Densify to Sampling Grid在当前 Sweep 网格上重采样,使曲线点与求解波长一一对应
Apply应用当前编辑的点列表,并按当前 Sweep 范围校验

Curve Data 提供两种编辑视图:

视图说明
Chart折线 + 散点图,直接拖动点改值,画布空白处单击新增点;适合手画目标光谱
Table显式表格,按数值精确编辑 wavelength / value / weight;适合从测试报告誊录数值

两种视图共享同一份 draft 数据,切换 Tab 不会丢失编辑。点击 Apply 之前的修改是 draft,状态标签会显式提示。

Apply 操作后,状态标签指示当前数据状态:

状态标签颜色含义
Applied · N points绿色数据已成功解析并应用
Unapplied · 编辑未提交黄色点列表已修改但尚未 Apply
Sampling 已变更黄色Sweep 波长范围或步长改过,需重新 Apply
Error红色校验失败,查看错误信息
曲线数据的波长范围必须覆盖当前 Sweep 范围。编辑后必须点击 Apply,否则 Save 按钮保持禁用。修改 Sweep 设置后曲线会被标记为脏,需重新 Apply 才能保存。

Color Match(颜色匹配)

仅在选择 Reflection Color 或 Transmission Color 时自动激活。

参数说明
颜色选择器原生颜色输入,HEX 显示
L / a / bCIE LAB 色坐标,L 范围 0 ~ 100
Color ErrorDelta E 2000;亮度、彩度、色相权重因子 kLk_L、kCk_C、kHk_H 均为 1
白点当前目标中选择的入射光谱本身
观察者当前目标中选择的 2° 或 10° 观察者
波长网格覆盖 360–780 nm,步长严格为 1 nm 或 5 nm
目标 Lab 与候选结构的 Lab 必须使用同一入射光谱和观察者。若目标值来自其他光源或观察者,先在相同条件下重新换算;否则 Delta E 2000 比较的不是同一个颜色条件。

Weight(权重)

每个目标都有一个 Weight 字段(默认 1,最小 0.000001)。多目标时,权重决定各目标在总适应度中的占比。权重值越高,求解器在该目标上投入的优化努力越多。


优化变量(Variables)

变量表定义算法被允许修改的输入参数。

工具栏

操作说明
Add创建新行(默认启用,路径和边界为空)
Duplicate复制选中行
Move Up / Move Down调整顺序
Delete删除选中行

变量表字段

列说明
启用复选框控制该变量是否参与搜索
Parameter参数路径,通过 CascadeSelect 选择器选取
Minimum搜索下界
Initial Value起始值(网格模式下禁用)
Maximum搜索上界

路径选择(CascadeSelect)

CascadeSelect 路径选择器显示两个顶级分类:Structure(层和层组)和 Surroundings(入射侧和透射侧介质)。展开各分类可逐级定位到具体参数。

路径选择器以级联菜单形式展开,仅显示当前结构中启用的元素:

分类路径格式当前限制
普通层厚度structure / {LayerName} / thickness最常用
普通层折射率structure / {LayerName} / {n, k, nExt, kExt}受 indexType 限制
层组内部层structure / {GroupName} / Layers / {LayerName} / ...层组须启用
入射侧介质surroundings / incidence / n仅支持 n
透射侧介质surroundings / transmission / {n, k}File 模式下不可用

indexType 与可优化属性

折射率模式决定了哪些属性可以作为优化变量:

indexType可优化属性不可优化属性
Constantthickness, n, knExt, kExt
Const. Birefringencethickness, n, k, nExt, kExt--
Filethickness所有折射率属性

Initial Value 与 Grid 的交互

  • 网格搜索关闭时:Initial Value 作为局部求解器的起始点,必须在 [Minimum, Maximum] 范围内。
  • 网格搜索开启时:Initial Value 列禁用,起始点由网格种子替代。
启用网格搜索时,Initial Value 列被禁用,表格上方显示提示信息:网格模式下起始值被网格种子替代。

验证规则

规则说明
至少存在一条启用变量否则优化任务无效
启用变量必须有合法路径空路径直接报错
启用变量之间不能重复路径复制后注意修改路径
min 和 max 不能同时为空至少填写一个边界
若两者都存在,min < max必须满足

路径失效场景

场景处理方式
层或层组被删除重新选择路径
层或层组被禁用重新启用或改选路径
层名、组名被重命名重新选择路径
属性与当前 indexType 不匹配调整模式或改选属性

多变量配置示例

变量路径下界上界用途
ITO 厚度structure / ITO / thickness2080主要设计参数
SiO2 厚度structure / SiO2 / thickness50200间隔层厚度
基底折射率surroundings / transmission / n1.41.7材料选型范围

使用网格搜索时,若 2 个变量各取 5 个采样点,将产生 5^2 = 25 个网格点。每个网格种子随后由局部求解器进一步精炼。


网格参数(Grid Parameters)

网格搜索是一个可选的预搜索阶段。启用后,优化器先在整个变量空间做粗网格采样,从中选出最优的几个种子点,再对每个种子分别执行局部优化。

参数范围说明
Enable Grid开/关启用网格预搜索
Grid Samples Per Variable2 ~ 25(滑块)每个变量维度的采样数量
Top K Seeds1 ~ 总网格点数进入局部优化的种子数量

启用网格后的行为变化

行为说明
Initial Value 禁用变量表中的起始值被网格种子替代
标签文案变化Max Evaluations 变为 Max Local Evaluations Per Seed
预估网格点数显示公式:Estimated grid points = (Samples Per Variable)^(启用变量数)
网格点数随变量数指数增长。2 个变量 + 5 采样 = 25 点;3 个变量 + 5 采样 = 125 点;4 个变量 + 5 采样 = 625 点。变量较多时应降低采样密度或减少启用变量数。

算法参数(Algorithm Parameters)

算法选择

算法类型适用场景
TRF基于信赖域的最小二乘多目标、曲线拟合,默认选择
L-BFGS-B拟牛顿法,带边界约束梯度平滑、变量较多的场景
Nelder-Mead无导数单纯形法非光滑目标面或不需要梯度信息的场景

公共参数

参数范围说明
Max Evaluations20 ~ 1000总评估预算上限(网格模式下为每个种子的局部预算)

TRF 参数

参数范围默认值说明
Step Ratio0.001 ~ 0.10.01构建局部扰动的相对步长
f Tol> 01e-6目标改善阈值
x Tol> 01e-4参数更新阈值
g Tol> 01e-6梯度最优性阈值

L-BFGS-B 参数

参数范围默认值说明
Step Ratio0.001 ~ 0.10.01构建局部扰动的相对步长
f Tol> 01e-8目标改善阈值
g Tol> 01e-5梯度最优性阈值

Nelder-Mead 参数

参数范围默认值说明
Initial Simplex Ratio0.01 ~ 0.20.05初始单纯形相对大小
x Atol> 01e-3参数绝对收敛容差
f Atol> 01e-6目标绝对收敛容差

参数调节建议

第一次优化建议从较小预算开始(Max Evaluations = 50 ~ 150),确认方向正确后再增加。若使用网格搜索,先用 Samples Per Variable = 3 ~ 5、Top K Seeds = 2 ~ 3。
场景推荐配置
初次试跑TRF,Max Evaluations = 100,不启用 Grid
粗调 + 精炼启用 Grid,Samples = 3 ~ 5,Top K = 2 ~ 3,TRF
变量较多(> 4)L-BFGS-B,降低 Grid 采样密度
非光滑目标面Nelder-Mead,适当增加 Max Evaluations

运行前检查与常见错误

执行 Run Optimizer 前的检查清单:

  1. 至少存在一个启用且有效的目标。
  2. 至少存在一个启用且有效的变量。
  3. 启用变量之间没有重复路径。
  4. Structure 与 Optics 已通过验证。
  5. 变量范围在物理上合理。
  6. 算法参数处于允许范围内。
现象常见原因处理方式
Run Optimizer 灰掉目标、变量或算法参数仍有错误查看 Footer,逐项修正
新增变量后立刻报错Add 创建的空行默认启用补齐路径和边界,或先禁用
Hit Target 模式无效未填写 Target Value填入 0~1 的目标值
Stay in Range 模式无效未填写 Lower/Upper Bound 或 Upper < Lower补齐并确保 Upper >= Lower
颜色目标验证失败Sweep 范围产生的采样点不足 2 个扩大波长范围或减小步长
Curve Fit 无法保存曲线数据未 Apply点击 Apply Curve Data
结果很差且波动大范围过宽、目标冲突或预算不足先缩小范围,检查目标与预算

完成本页配置后,下一章请继续阅读:基本光学结果。先掌握普通结果的读取方式,再回到 Optimization Report 分析优化过程与最优解。

Copyright © 2026 Dreapex