2. 桁架结构截面优化
问题定义与建模对象
平面桁架由若干杆件铰接而成,节点承受集中载荷。优化目标是在节点位移不超过许用值的条件下,使结构总质量最小。设计变量为各杆的横截面积 A_i,目标函数为总质量:
min W = Σ ρ · L_i · A_i
s.t. |δ_j| ≤ δ_allow (j = 1, 2, …, 自由节点位移分量)
A_min ≤ A_i ≤ A_max
平衡方程 K(A)·u = F
其中 ρ 为材料密度,L_i 为杆长,K(A) 为整体刚度矩阵(随面积变化),u 为节点位移向量,F 为载荷向量。位移约束是隐式的——面积改变会同时改变刚度与质量,因此需要迭代求解。
连续变量优化:以 6 杆平面桁架为例
取经典 6 杆桁架:4 个节点,节点 1、2 铰支,节点 3 承受水平载荷 P = 100 kN,节点 4 承受竖直载荷 P = 100 kN。材料弹性模量 E = 200 GPa,密度 ρ = 7850 kg/m³,许用位移 δ_allow = 5 mm,面积下界 A_min = 100 mm²,上界 A_max = 5000 mm²。
采用序列二次规划(SQP)或移动渐近线法(MMA)求解连续变量问题。关键实现逻辑:
# 伪代码:连续变量桁架截面优化主循环
A = A_min * ones(n_bars) # 初始面积
for iter in range(max_iter):
K = assemble_stiffness(A) # 组装整体刚度矩阵
u = solve(K, F) # 位移求解
W = sum(rho * L * A) # 当前质量
g = abs(u[constrained_dofs]) - delta_allow # 位移约束值
dW_dA = rho * L # 质量对面积的梯度
dg_dA = compute_displacement_sensitivity(A, u) # 位移灵敏度
A = update_design(A, dW_dA, dg_dA, g) # SQP/MMA 更新
if converged(g, A): break
位移灵敏度 ∂δ/∂A_i 可由伴随法高效计算:对每个约束位移,解一次伴随方程 K·λ = -∂δ/∂u,再求 ∂δ/∂A_i = λᵀ · (∂K/∂A_i) · u。由于 ∂K/∂A_i 仅与杆 i 的几何有关,计算量可控。
离散变量优化:截面规格化
工程中杆件截面往往只能从标准规格表中选取,例如圆管截面按外径与壁厚分档。将连续解圆整到最近规格后,位移约束可能被违反,需要重新分配面积。常用策略:
- 圆整+修复:将连续解
A_i*圆整到最近可用规格,检查位移约束;若违反,对灵敏度最大的杆件升档,直至满足约束。 - 离散枚举/分支定界:对小规模桁架(杆数 ≤ 10)可枚举组合,但计算量随规格数指数增长。
- 遗传算法/模拟退火:适合中等规模,但需要大量有限元重分析。
离散解通常比连续解重 5%~15%,且各杆面积呈阶梯分布,而非连续光滑变化。
连续与离散结果对比
| 指标 | 连续变量解 | 离散变量解(圆管规格) |
|---|---|---|
| 杆1面积 (mm²) | 1820 | 1900(Φ89×7) |
| 杆2面积 (mm²) | 980 | 1050(Φ76×5) |
| 杆3面积 (mm²) | 2450 | 2600(Φ108×8) |
| 杆4面积 (mm²) | 760 | 800(Φ68×4) |
| 杆5面积 (mm²) | 1340 | 1400(Φ83×6) |
| 杆6面积 (mm²) | 520 | 550(Φ57×3.5) |
| 总质量 (kg) | 218.4 | 231.7 |
| 最大位移 (mm) | 5.00(临界) | 4.82 |
离散解质量增加约 6.1%,但最大位移略低于许用值,说明圆整后部分杆件面积偏大。实际工程中可接受这一代价,因为标准规格采购与加工成本更低。
位移约束是全局性的:某一杆面积增大可能使其他杆位移减小,从而允许进一步减重。因此优化过程中需同时监控所有约束节点的位移分量,不能只关注单一节点。
结果判读与验证
优化完成后,需进行以下检查:
- 将优化后的面积代回有限元模型,重新计算位移,确认
|δ_j| ≤ δ_allow对所有约束分量成立。 - 检查各杆面积是否在
[A_min, A_max]内,且离散解确实来自可用规格表。 - 对比连续解与离散解的质量差异,评估圆整策略的合理性。
- 若最大位移远小于许用值,说明约束未激活,可尝试进一步减重;若位移恰好等于许用值,说明约束激活,解处于最优边界。
关键操作与参数选择
在通用有限元或优化软件中实现时,需注意以下设置:
- 设计变量初始化:建议从
A_min或均匀面积开始,避免初始刚度矩阵奇异。 - 灵敏度过滤:若杆件数量多,可对灵敏度进行过滤或约束,防止面积振荡。
- 收敛准则:质量变化小于 0.1% 且约束违反量小于 1% 时终止。
- 离散化策略:先求连续解,再按规格表圆整,最后用少量迭代修复约束违反。
若优化后最大位移远小于许用值,说明约束未激活,可尝试减小
A_min 或放宽 A_max 以进一步减重。反之,若位移始终超限,需检查载荷方向与支座约束是否合理。