2. 多目标优化问题建模

多目标优化问题(Multi-Objective Optimization Problem, MOOP)与单目标优化的根本区别在于:不存在一个“唯一最优解”,而是存在一组在多个目标之间无法互相超越的折中解。要把一个工程问题交给算法求解,第一步不是选算法,而是把它写成规范的数学模型。本节围绕决策变量、目标函数、约束条件三要素展开,并重点讲清 Pareto 最优、支配关系与目标冲突这三个概念,最后完成一个工程案例的完整建模。

一、多目标优化问题的标准形式

一个含 n 个决策变量、m 个目标函数、p 个约束条件的多目标优化问题,通常写成如下形式:

min  F(x) = [f1(x), f2(x), ..., fm(x)]^T
s.t. gi(x) <= 0,  i = 1, 2, ..., p     (不等式约束)
     hj(x) = 0,  j = 1, 2, ..., q     (等式约束)
     x = [x1, x2, ..., xn]^T ∈ X      (决策空间可行域)

其中 x 是决策变量向量,X 是由所有约束共同限定的可行域,F(x) 是目标向量。注意目标函数是“向量值”的,这正是多目标问题的本质:比较两个解时,不能只看一个数的大小,而要看整个目标向量。

决策变量是设计者可以主动调整的量,例如梁的截面宽度、电机绕组的匝数、换热器的管径。它必须可量化、可独立取值,并明确上下界。变量选得过多会让搜索空间爆炸,选得过少则可能把真正的最优设计排除在外,因此变量筛选本身就是建模的关键判断。

目标函数是衡量方案优劣的量化指标,例如结构质量最小、制造成本最低、效率最高、应力峰值最小。多目标建模中,目标之间往往量纲不同、数量级差异巨大,例如质量以 kg 计、成本以元计,这会影响后续算法对“支配”的判断,因此常需要归一化处理。

约束条件是方案必须满足的边界,包括等式约束(如几何协调关系、守恒关系)和不等式约束(如应力不超过许用值、温度不超过限值、尺寸在加工范围内)。约束把决策空间切割成可行域,只有落在可行域内的解才是合法方案。

二、支配关系与 Pareto 最优

判断两个解谁更优,靠的是支配关系。对于最小化问题,若解 xA 支配解 xB,需同时满足两个条件:一是 xA 在所有目标上都不劣于 xB,即对每个目标 i 都有 fi(xA) ≤ fi(xB);二是 xA 至少在一个目标上严格优于 xB,即存在某个 k 使 fk(xA) < fk(xB)。只要有一个目标上 xA 比 xB 差,二者就不构成支配关系。

如果解 x* 不被可行域中任何其他解支配,则称 x* 为 Pareto 最优解(非支配解)。所有 Pareto 最优解在目标空间中构成的集合称为 Pareto 前沿(Pareto Front)。前沿上的解彼此互不支配,代表不同的折中策略:有的偏重轻量化,有的偏重低成本。最终选哪一个,需要设计者依据偏好或工程背景决策,而不是由算法单独决定。

记忆要点:支配关系是“全面不差且至少一项更好”;Pareto 最优是“没人能全面超过我”;Pareto 前沿是“所有互不支配的解连成的边界”。

三、目标冲突:多目标问题的根源

如果两个目标可以同时改善,问题就退化为单目标。多目标之所以存在,是因为目标冲突:改善一个目标往往以牺牲另一个目标为代价。典型冲突包括:结构质量与刚度(减重会降低刚度)、成本与性能(高性能材料更贵)、效率与散热(功率密度提高导致温升上升)。冲突使得不存在“全优解”,只能在前沿上取舍。识别冲突关系,是判断一个问题是否真的需要多目标建模的前提。

多目标优化建模要素与 Pareto 前沿示意 建模三要素 决策变量 x 截面尺寸 / 匝数 / 管径 含上下界,可独立取值 目标函数 F(x) 质量 / 成本 / 效率 / 应力 量纲不同,需归一化 约束条件 等式:几何 / 守恒关系 不等式:应力 / 温度 / 尺寸 求解 目标空间:f1(质量)— f2(成本) f1 质量 f2 成本 Pareto 前沿 解 A 解 B A 支配 B:A 在质量与成本上均不劣,且至少一项更优 目标冲突: 质量↓ 常伴随成本↑

四、工程案例:轻量化支架的多目标建模

下面以一个承力支架的轻量化设计为例,完成从工程描述到数学模型的完整转换。该支架为矩形截面悬臂梁结构,承受端部集中载荷,设计目标是同时降低结构质量与制造成本,并保证强度与刚度满足要求。

第一步,确定决策变量。取梁的截面宽度 b、截面高度 h、梁长 L 三个几何参数作为决策变量,即 x = [b, h, L]。根据加工与安装空间,设定取值范围:b ∈ [20, 80] mm,h ∈ [30, 120] mm,L ∈ [200, 600] mm。

第二步,建立目标函数。质量目标 f1 由体积与材料密度决定,取密度 ρ = 7850 kg/m³,则 f1(x) = ρ·b·h·L(单位换算为 m 后计算)。成本目标 f2 由材料成本与加工成本组成,设材料单价 cm = 12 元/kg,加工成本与表面积近似成正比,取系数 cp = 0.8 元/dm²,则 f2(x) = cm·f1(x) + cp·2(b+h)L。两个目标均取最小化。

第三步,建立约束条件。强度约束:梁根部最大弯曲应力 σ = 6FL/(bh²) 不超过许用应力 [σ] = 235 MPa,即 g1(x) = 6FL/(bh²) − 235 ≤ 0。刚度约束:端部挠度 δ = 4FL³/(Ebh³) 不超过许用值 [δ] = 5 mm,取弹性模量 E = 206 GPa,即 g2(x) = 4FL³/(Ebh³) − 5 ≤ 0。此外还有尺寸上下界约束,作为变量边界处理。载荷取 F = 3000 N。

第四步,形成标准模型。整理后得到:

min  F(x) = [ ρ·b·h·L ,  cm·ρ·b·h·L + cp·2(b+h)L ]
s.t. g1: 6FL/(b·h^2) - 235 <= 0
     g2: 4F·L^3/(E·b·h^3) - 5 <= 0
     20 <= b <= 80,  30 <= h <= 120,  200 <= L <= 600

该模型体现了典型的目标冲突:增大截面尺寸可降低应力与挠度,但会同时增加质量与成本;缩短梁长可减重降本,却会提高应力与挠度。因此不存在同时使 f1 与 f2 最小的解,求解结果应是一组 Pareto 前沿解,供设计者按偏好选择。

建模常见错误:一是把约束写成目标(例如把“应力不超过 235 MPa”直接当成第三个目标),导致可行域被错误放大;二是遗漏量纲统一,b、h、L 用 mm 而密度用 kg/m³ 会得到错误的质量数量级;三是变量边界与约束重复定义,造成求解器报错或搜索异常。

五、建模检查清单

完成建模后,建议按以下要点自查,确保模型可直接交给优化算法:

  • 决策变量是否全部可量化、可独立调整,且上下界有工程依据;
  • 每个目标函数是否可计算、量纲是否统一、是否需要归一化;
  • 约束是否覆盖强度、刚度、几何、工艺等全部硬性要求,等式与不等式是否区分清楚;
  • 是否确认目标之间存在真实冲突,避免把可同时优化的目标误设为多目标;
  • 是否明确最终决策依据(偏好、权重或工程阈值),以便从 Pareto 前沿中选解。