4. 设计变量与参数空间定义

参数化设计的第一步,不是急着写优化算法,而是把“可以调什么、能调到多少、怎么调”说清楚。设计变量是优化器能够自由改动的量;参数空间则是这些变量所有允许取值的集合。若变量选错、范围定偏、离散与连续混用不当,后续无论用梯度法、遗传算法还是贝叶斯优化,都很难得到可制造、可解释的结果。本节围绕“选变量—定范围—分类型—构空间”四个动作展开,并给出可直接套用的定义表与检查方法。

一、从设计目标反推关键设计变量

一维系统里,常见对象包括梁、轴、弹簧、连杆、单自由度振子、热传导杆等。设计变量应满足三个条件:可独立调整、对目标或约束有显著影响、在物理上可实现。例如设计一根悬臂梁,目标是“在许用应力下最小化质量”,那么截面尺寸(宽 b、高 h)、材料密度 ρ、长度 L 都可能影响结果。但 L 往往由安装空间决定,属于固定参数而非设计变量;ρ 由材料牌号决定,若材料不可更换也应固定。真正可调的是 b 与 h,以及可能的截面形状参数。

判断变量是否“关键”,可用灵敏度做一次快速筛查。对目标函数 f 与变量 xi,计算归一化灵敏度:

S_i = (∂f/∂x_i) · (x_i / f)

若 |Si| 远小于其他变量,说明该变量在当前工作点附近影响微弱,可考虑固定或降为次要变量。示例:某悬臂梁 f 为质量,b 从 20 mm 增至 21 mm 时质量增加约 5%,而 h 从 40 mm 增至 41 mm 时质量增加约 2.5%,但 h 对刚度影响更大。此时若约束是刚度,h 应保留为设计变量;若约束是质量,b 更敏感。灵敏度不是绝对标准,但能避免把“看起来重要”的变量全部塞进优化器。

二、取值范围:物理边界、工艺边界与搜索边界

确定范围时,要区分三类边界。第一类是物理边界,如尺寸必须大于 0、频率不能为负。第二类是工艺边界,如板材厚度只能取 1、1.5、2、3 mm 等标准规格,或加工最小圆角为 0.5 mm。第三类是搜索边界,即为了控制计算量人为设定的上下限,例如 b ∈ [10, 60] mm。搜索边界应略宽于预期最优区域,但不能宽到让优化器在无意义区域浪费采样。

范围定义还要注意“边界耦合”。例如梁的宽 b 与高 h 若同时增大,可能超出安装空间;此时应增加约束 b·h ≤ Amax,而不是简单把 b、h 各自范围缩小。否则优化器可能找到 b=60、h=60 的组合,虽然各自在范围内,却整体不可行。范围与约束应一起定义,不能只写上下限。

三、连续变量与离散变量的处理

连续变量可在区间内取任意实数,适合尺寸、角度、阻尼系数等。离散变量只能取有限集合,如标准型材、齿数、弹簧圈数、材料牌号。混合变量空间是工程常态。处理方式有三种:

  • 连续化后取整:先按连续变量优化,再对结果圆整到最近标准值。简单,但圆整后可能违反约束,需要二次校验。
  • 映射编码:把离散索引作为变量,如齿数 z ∈ {17,18,…,40} 编码为整数 k ∈ [0,23],优化器只搜索 k,再映射回 z。适合遗传算法、粒子群等。
  • 分支枚举:离散变量少时,直接枚举组合,连续变量用内层优化。例如弹簧材料有 3 种、圈数有 5 种,共 15 种组合,每种组合内优化线径。

离散变量不能简单当作连续变量处理。若把齿数当作 17.3 去优化,得到的“最优”可能无法制造。更隐蔽的问题是:离散变量的灵敏度不连续,梯度法会失效,此时应改用无梯度方法或混合策略。

四、构建合理的设计空间

设计空间可表示为:

X = { x ∈ R^n × Z^m | x_i^L ≤ x_i ≤ x_i^U, g_j(x) ≤ 0, h_k(x) = 0 }

其中 Rn 为连续变量,Zm 为离散变量,g 为不等式约束,h 为等式约束。构建时建议按以下顺序操作:先列出所有候选变量,再用灵敏度与工程经验筛出 2~5 个关键变量;对每个变量写清类型、下限、上限、单位、默认值;最后检查变量之间是否存在冗余或强相关。若两个变量总是按固定比例变化,应合并为一个变量,否则设计空间会出现“脊线”,优化器容易震荡。

示例:悬臂梁设计变量定义表
目标:最小质量;约束:端部挠度 ≤ 2 mm,应力 ≤ 160 MPa。
固定参数:L = 500 mm,E = 210 GPa,ρ = 7850 kg/m³。
设计变量:b(连续,10~60 mm,默认 30 mm);h(连续,10~80 mm,默认 40 mm);材料牌号(离散,Q235 / Q345 / 45钢,默认 Q235)。
耦合约束:b·h ≤ 3000 mm²。
说明:上述数值为教学示例,用于演示定义方法,不代表实际工程选型结果。

定义完成后,应做一次“空间体检”:随机采样 1000 组变量,统计可行解比例。若可行比例低于 5%,说明约束过紧或范围过宽,需要调整;若可行比例高于 95%,说明约束可能没有起到筛选作用。还可以观察目标函数在空间中的分布,若存在大片平坦区域,说明某些变量不敏感,可考虑固定。

五、常见错误与检查清单

实际定义设计空间时,以下错误最常见:把固定参数误当设计变量,导致优化器“调了也没用”;范围上下限写反或单位不统一,如把 mm 与 m 混用;离散变量用连续优化后直接四舍五入,结果不可行;忽略变量间的耦合约束,导致组合越界;变量过多,超过 10 个后采样效率急剧下降。建议在提交优化前逐项核对:每个变量是否有明确物理意义、是否可独立调整、范围是否覆盖预期最优、类型是否与制造方式一致、约束是否完整、默认值是否可行。

设计变量与参数空间定义流程 ① 候选变量清单 尺寸 / 材料 / 形状 / 拓扑 ② 灵敏度筛查 保留 |S| 大的 2~5 个 ③ 类型与范围 连续 / 离散 + 上下限 ④ 约束耦合 g(x) ≤ 0 ⑤ 设计空间体检 采样 1000 组,可行率 5%~95% ⑥ 提交优化前检查 单位 / 类型 / 约束 / 默认值 连续变量 vs 离散变量 连续变量 b ∈ [10, 60] mm h ∈ [10, 80] mm 角度 θ ∈ [0°, 90°] 梯度法 / 贝叶斯优化 离散变量 材料 {Q235, Q345, 45钢} 齿数 z ∈ {17,…,40} 板厚 t ∈ {1,1.5,2,3} mm 枚举 / 整数编码 / 无梯度法 设计空间定义 X = { x ∈ Rⁿ × Zᵐ | xᵢᴸ ≤ xᵢ ≤ xᵢᵁ, gⱼ(x) ≤ 0, hₖ(x) = 0 } Rⁿ:连续变量维度 Zᵐ:离散变量维度 g:不等式约束 h:等式约束 可行率过低 → 收紧范围或放宽约束