system: [SYSTEM]

user: 4. 模型的求解 4.1. 问题1求解 常见的热传导方程数值解法有有限差分法、蒙特卡罗法、有限元分析法和分子动力学模拟等 [ 4 ] ，本文采用有限差分算法进行求解。首先对非稳态传热模型求解区域进行网络剖分，可以剖分成正交网络、光滑网络、Kershaw网络、随机网络等 [ 6 ] 。本文将求解区域剖分成正交网络，在t方向上取剖分 0 = t 1 < t 2 < ⋯ < t n = T ，在x方向上取剖分 X 1 = x 1 < x 2 < ⋯ < x m = X 5 ，其中存在正整数 z ， s ， l 满足 x z = X 2 ， x s = X 3 ， x l = X 4 。其次对“模型一”进行离散化，在文献 [ 7 ] [ 8 ] 中，作者系统地介绍了一维常系 数热传导方程 ∂ u ( x ， t ) ∂ t = a ∂ 2 u ( x ， t ) ∂ x 2 ( x ∈ R ， t > 0 ) 的差分格式，在表4中列举了几种经典的差分格式解的稳 定性条件和截断误差。不同的差分格式具有不同的优缺点，如“跳点格式”可以节省存储和计算量，“Saul’yev不对称格式”采用取平均值的方法构造差分格式可以抵消截断误差 [ 7 ] 。 Table 4 Stability and truncation error of several differential format solutions， of which r = Δ t Δ x 格式名称 截断误差 解的稳定性条件 向前显式差分格式 O ( Δ t + Δ x 2 ) a r ≤ 1 2 向后隐式差分格式 O ( Δ t + Δ x 2 ) 无条件 加权隐式差分格式 { O ( Δ t 2 + Δ x 2 ) ，       if   θ = 1 2 O ( Δ t + Δ x 2 ) ，             else { r ≤ 1 2 a ( 1 − 2 θ ) ，       if   0 ≤ θ < 1 2 无 条 件 ，                                 else Richardson格式 O ( Δ t 2 + Δ x 2 ) 不稳定 Du Fort-Franke格式 O ( Δ t 2 + Δ x 2 ) + O ( Δ t 4 / Δ x 2 ) 无条件 三层隐式差分格式 O ( Δ t 2 + Δ x 2 ) 无条件 跳点格式 O ( Δ t 2 + Δ x 2 ) + O ( Δ t 4 / Δ x 2 ) 无条件 预测-校正格式 O ( Δ t 2 + Δ x 2 ) 无条件 Saul’yev不对称格式 O ( Δ t 2 + Δ x 2 + Δ x / Δ t ) 无条件 表4. 几种差分格式解的稳定性及截断误差，其中 r = Δ t Δ x 2 运用差分格式近似求解偏微分方程时，综合考虑解的稳定性和截断误差精度是必要的，结合表4，本文选用Crank-Nicolson格式，即权重为0.5的加权隐式差分格式 u j k − u j k − 1 Δ t = a 2 ( u j + 1 k − 2 u j k + u j − 1 k Δ x 2 + u j + 1 k − 1 − 2 u j k − 1 + u j − 1 k − 1 Δ x 2 ) 对热传导方程离散化，其中 u j k 表示 u ( x j ， t k ) 。定义时间一阶向后差商算子 ∂ t ， Δ t f ( t ) = f ( t + Δ t ) − f ( t ) Δ t ，空间一阶向后差商算子 ∂ x ， Δ x f ( x ) = f ( x + Δ x ) − f ( x ) Δ x ，对“模型一”的边界条件与交界条件离散化，得到离散温度分布模型如下 { − a i r u ( x j − 1 ， t k ) + ( 2 a i r + 2 ) u ( x j ， t k ) − a i r u ( x j + 1 ， t k ) = a i r u ( x j − 1 ， t k − 1 ) + ( 2 − 2 a i r ) u ( x j ， t k − 1 ) + a i r u ( x j + 1 ， t k − 1 ) ( 初 值 条 件 ) u ( x j ， 0 ) = 37 ( 边 界 条 件 ) { ( λ 1 Δ x + h 1 ) u ( x 1 ， t k ) − λ 1 Δ x u ( x 2 ， t k ) = u e n v h 1 ( λ 4 Δ x + h 2 ) u ( x m ， t k ) − λ 4 Δ x u ( x m − 1 ， t k ) = 37 h 2 ( 交 界 条 件 ) − λ i Δ x u ( x B i − 1 ， t k ) + λ i + λ i + 1 Δ x u ( x B i ， t k ) − λ i + 1 Δ x u ( x B i + 1 ， t k ) = 0 ( i = 1 ， 2 ， 3 ) 其中 x B i 为织物材料i与 i + 1 ( i = 1 ， 2 ， 3 ) 层交界处， x m 为右边界点。综上，求解隔热服的温度分布可以归结为求解系数矩阵A为 ( λ 1 Δ x + h 1 − λ 1 Δ x − a 1 r 2 a 1 r + 2 − a 1 r − a 1 r 2 a 1 r + 2 ⋱ ⋱ − λ 1 Δ x λ 1 + λ 2 Δ x − λ 2 Δ x ⋱ ⋱ 2 a 4 r + 2 − a 4 r − a 4 r 2 a 4 r + 2 − a 4 r − λ 4 Δ x λ 4 Δ x + h 2 ) 的三对角形线性方程组 A γ ( u ( t k + 1 ) ) = γ ( u ( t k ) ) ，其中 γ ( u ( t k ) ) 表示一个关于 u ( t k ) 的函数，求解过程可以表示为如下示意过程 ( 37 37 ⋮ 37 ) → 解 方 程 ( u ( x 1 ， t 1 ) u ( x 2 ， t 1 ) ⋮ u ( x m ， t 1 ) ) → 解 方 程 ⋯ → 解 方 程 ( u ( x 1 ， t n ) u ( x 2 ， t n ) ⋮ u ( x m ， t n ) ) 由于方程组系数矩阵中含有未知参数 h 1 与 h 2 ，在求解温度分布之前需要对其进行估计。 设 e r ( h 1 ， h 2 ) 为在75℃高温环境下工作90分钟后人体皮肤外侧温度相对误差向量，本文首先对未知参数 h 1 与 h 2 有约束非线性规划问题 ， 利用Matlab优化工具箱fmincon函数进行求解 [ 9 ] ，得到表5所示结果。 其次，选择对取值区间 ( h 1 ， h 2 ) ∈ [ 100 ， 140 ] × [ 8 ， 8.6 ] 尝试遍历求解，本文分两步进行探索。 第一步，对参数 h 1 以1为步长在 [ 100 ， 140 ] 取值、对参数 以0.01为步长在 [ 8.1 ， 8.6 ] 取值进行精确搜索，绘制 h 1 − h 2 − e r 图(见图3)可知 h 1 = 114 ， h 2 = 8.35 为最优解，且在求解区域内最优值存在于子区域 ( h 1 ， h 2 ) ∈ ( 113 ， 115 ) × ( 8.34 ， 8.36 ) 。 第二步，对参数 h 1 以0.01为步长、对参数 h 2 以0.001为步长进行搜索，并绘制 h 1 − h 2 − e r 图(见图3)可知 h 1 = 113.69 ， h 2 = 8.350 为最优解，此时 ‖ e r ( h 1 ， h 2 ) ‖ 2 = 0.006978 。 通过遍历方法得到高精度最优值所需计算量是庞大的，根据表5所示信息可得知，建立有约束非线性规划求解未知参数 h 1 与 h 2 既高效又精确，最优解 h 1 = 113.62 ， h 2 = 8.35 (保留小数点后两位)。 对于三对角形可逆系数矩阵的线性方程组 A x = b 求解可直接得到 x = A − 1 b ，但实际问题中的数据规模较大且系数矩阵A中除了主对角线和次对角线上元素非零，其余元素均为零，为了节省程序运行耗时和内存，本文采用追赶法对三对角形线性方程组 A x = b 求解 [ 10 ] ，步骤如下。 Table 5 Optimal solution h 1 and h 2 obtained by constrained nonlinear programmin 优化算法 迭代次数 最优 h 1 最优 h 2 目标函数值 运行时长(s) active-set 18 113.614519 8.349824 0.006963 120.642654 interior-point 19 113.620359 8.349877 0.006963 149.701987 sqp 20 113.620376 8.349877 0.006963 145.764328 表5. 有约束非线性规划求解所得最优解 h 1 与 h 2 图3. 遍历搜索所得等值线图和 h 1 − h 2 − ‖ e r ( h 1 ， h 2 ) ‖ 2 图 第一步，将系数矩阵A进行LU分解使得 A = L ⋅ U ，其中L为上三角矩阵，U为下三角矩阵，从而方程组 A x = b 转化为 L U x = b ； 第二步，求解方程 L y = b ； 第三步，求解方程 U x = y 。 求解过程中对 Δ x 与 Δ t 选取不同值计算所得人体皮肤外侧温度相对误差存在差异，当 Δ x 和 Δ t 较大时，截断误差较大；当 Δ x 和 Δ t 较小时，计算次数增多，累积的舍入误差较大。表6列举了几种步长选择的具体情况，发现选取 Δ x = 0.1   mm 与 Δ t = 1   s 时所得相对误差和程序运行耗时较为理想。图4(a)描绘了 h 1 = 113.62 ， h 2 = 8.35 、 Δ x = 0.1   mm 、 Δ t = 1   s 时求解所得相对误差与人体皮肤外侧温度计算结果，图4(b)展示了75℃高温环境下、工作时长为90分钟时作业服与空气层的温度分布。 Table 6 Where Δ x units are in millimeters and Δ t units are in second ( Δ x ， Δ t ) 相对误差 运行时长(s) ( Δ x ， Δ t ) 相对误差 运行时长(s) (0.05，0.1) 0.019388 87.832322 (0.25，0.1) 0.265928 4.623317 (0.05，0.2) 0.019765 42.368363 (0.25，0.2) 0.265501 2.317448 (0.05，0.5) 0.020959 16.875455 (0.25，0.5) 0.264223 0.942641 (0.05，1) 0.023129 8.428869 (0.25，1) 0.262109 0.470140 (0.1，0.1) 0.010401 21.981671 (0.5，0.1) 0.371924 1.859278 (0.1，0.2) 0.009931 10.897982 (0.5，0.2) 0.371436 0.918695 (0.1，0.5) 0.008622 4.384678 (0.5，0.5) 0.369976 0.370216 (0.1，1) 0.006965 2.192980 (0.5，1) 0.367550 0.188296 (0.2，0.1) 0.052980 6.917323 (1，0.1) 0.538933 1.079642 (0.2，0.2) 0.052419 3.500673 (1，0.2) 0.538947 0.533379 (0.2，0.5) 0.050741 1.416722 (1，0.5) 0.538995 0.218443 (0.2，1) 0.047968 0.701176 (1，1) 0.539087 0.117227 表6. 其中 Δ x 的单位为毫米， Δ t 的单位为秒 图4. (a)人体皮肤外侧温度计算结果与误差；(b)温度分布计算结果 4.2. 问题2求解 设第II织物材料层厚度为 d 2 ，第3300、3360秒人体皮肤外侧温度为 u 3300 ( d 2 ) 和 u 3600 ( d 2 ) ，根据表1可得 d 2 ∈ [ 0.6 ， 25 ] ，易知 u 3300 ( d 2 ) 与 u 3600 ( d 2 ) 关于 d 2 单调递减，即 u 3600 ( d 2 ) ≤ u 3600 ( 0.6 ) = 45.101124 图6(a)展示了以 Δ d 2 = 0.01   mm 为步长遍历区间 [ 0.6 ， 25 ] 的计算结果，描绘了 d 2 与 u 3300 ( d 2 ) 和 u 3600 ( d 2 ) 的关系，验证了上述理论分析。由此可知 d 2 在区间 [ 0.6 ， 25 ] 上有 u 3600 ( d 2 ) ≤ 47 恒成立，将“模型二”转化为 min d 2 s .t .   { u ( X 5 ， 3300 ) ≤ 44 0.6 ≤ d 2 ≤ 25 依据问题1的离散温度分布模型，本节以 e = 0.01 为搜索区间长度限制，采用Fibonacci法、黄金分割法、二分法和二次插值法4种方法逐一对“模型二”进行求解 [ 11 ] ，表7给出一些主要数值计算结果，图5展示了各种方法迭代区间变化情况。 图5. 4种搜索方法迭代区间示意图 Table 7 Calculation results of Model Tw 计算方法 d 2 ( mm ) u 3300 ( d 2 ) ( ˚ C ) min t ∈ [ 0 ， T ] t s .t .   u ( X 5 ， t ) > 44 迭代次数 运行时间(s) Fibonacci法 17.554884 43.991515 3328 16 108.786202 黄金分割法 17.558794 43.991515 3328 15 86.309126 二分法 17.550732 43.991515 3328 13 66.814204 二次插值法 17.615575 43.991515 3328 8 49.545036 表7. 模型二计算结果 从表7中的计算结果可知，单层织物材料厚度优化问题中，既要保证解的可靠性，又要尽可能节省运行时间，在对 d 2 精确到小数点后1位时，优先选用二次插值法；在对 d 2 精确到小数点后2位时，优先选用二分法。在与表1数据精度一致，即保留小数点后1位时，最优解 d 2 = 17.6   mm ，当外界温度为65℃时，高温作业时长在60分钟时人体皮肤外侧温度变化如图6(b)所示，超过44℃的时长为273秒，且最高温度为44.071775℃。 图6. (a)第II织物材料层厚度 d 2 以0.01 mm为步长进行逐一求解3300秒和3600秒温度。(b)第II织物材料层厚度 d 2 = 17.55   mm 时人体皮肤外侧温度在作业60分钟内的温度变化 4.3. 问题3求解 为了求解多目标规划问题 min d 2 min ρ 2 d 2 + ρ 4 d 4 min d 2 + d 4 s . t .   { u ( X 5 ， 3600 ) ≤ 47 u ( X 5 ， 3300 ) ≤ 44 0.6 ≤ d 2 ≤ 25 0.6 ≤ d 4 ≤ 6.4 ， 基于问题2的求解过程，本节首先从“减少约束条件”入手。记 u 1800 ( d 2 ， d 4 ) 与 u 1500 ( d 2 ， d 4 ) 分别表示第1800秒和第1500秒时的人体皮肤外侧温度，因为 ∂ u 1800 ∂ d 2 ≤ 0 、 ∂ u 1800 ∂ d 4 ≤ 0 ，故有 u 1800 ( d 2 ， d 4 ) ≤ u 1800 ( 0.6 ， 0.6 ) = 58.553266 (6) 成立，同理可得 u 1500 ( d 2 ， d 4 ) ≤ u 1500 ( 0.6 ， 0.6 ) = 58.553266 (7) 成立。综合式(6)与(7)可知在 ( d 2 ， d 4 ) ∈ [ 0.6 ， 25 ] × [ 0.6 ， 6.4 ] 中， u 1800 ( d 2 ， d 4 ) ≤ 47 或 u 1500 ( d 2 ， d 4 ) ≤ 44 均不恒成立。 在实际问题中，对成本、重量与厚度目标函数的优先考虑顺序是不同的。对于完全分层多目标规划问题 min x ∈ D [ P i ( F i ( x ) ) ] i = 1 s ，其中 s ≥ 2 ， F i ( x ) ( i = 1 ， 2 ， ⋯ ， s ) 是目标函数， P i ( i = 1 ， 2 ， ⋯ ， s ) 是优先层次的符 号，表示其后面括号内的目标函数 F i ( x ) 属于第i优先层次，且满足 P i ≫ P i + 1 ( i = 1 ， 2 ， ⋯ ， s − 1 ) ，符号“ ≫ ”表示第i优先层“优先于”第 i + 1 优先层。在文献 [ 11 ] 中，作者提出了一种完全分层序列法，并证明了简单完全分层序列法可以得到一个有效最优解，宽容完全分层序列法只能得到一个弱有效最优解。本文依据简单完全分层序列法对模型三进行求解，其算法流程如下。 第一步，确定初始可行域，将原问题 min x ∈ D [ P i ( F i ( x ) ) ] i = 1 s 的可行域作为第一优先层的可行域，即 D 1 = D ，令 k = 1 ； 第二步，在第k优先层的可行域 D k 上求解第k优先层目标函数 F k ( x ) 的优化问题 min x ∈ D k F k ( x ) ，得到最优解 x k 和最优值 F k ( x k ) ； 第三步，若 k = m ，输出 x k ；若 k < m ，转第四步； 第四步，建立下一层的可行域 D k + 1 = { x ∈ D k | F k ( x ) ≤ F k ( x k ) } ， k = k + 1 ，转第二步。 在问题三中， k = 3 ，本文分6种分类情况进行求解模型三。确定初始可行域时，本文首先定性分析。当 d 4 = 6.4   mm 时，一定存在一个最小的 d 2 满足约束条件，若不然，模型三的解集为空集，同理可得 d 2 = 25   mm 也符合上述分析。对于 ∀ d 4 ∈ [ 0.6 ， 6.4 ] ，若存在满足模型三的 d 2 ，则可以确定唯一一个最小的 d 2 min ∈ [ 0.6 ， 25 ] ；若不存在，则 d 4 为初始可行域 D = { ( d 4 ， d 2 ) } 中 d 4 分量的一个下界，从而可以确定 d 4 分量存在一个下确界 d 4 ¯ ，同理可知 d 2 分量存在下确界 d 2 ¯ 。不妨设在可行域上存在边界曲线 S ( x ) 使得 d 2 min = S ( d 4 ) ，易知 S ( x ) 是单调递减的，进一步可以得到可行域D的具体范围为 D = { ( d 4 ， d 2 ) | [ d 4 ¯ ， 6.4 ] × [ S ( x ) ， 25 ] } 。通过以0.1 mm为步长对区间 [ 0.6 ， 6.4 ] × [ 0.6 ， 25 ] 遍历，计算初始可行域D的范围，图7(a)将计算结果可视化，符合上述分析。 对于计算 S ( x ) 上的可行点，本文提出了一种有效缩短求解区间的可行边界点计算方法，具体流程见图8。对 d 4 在区间 [ d 4 ¯ ， 6.4 ] 上以0.1 mm为步长遍历，求解可行点耗时节约80%。结合简单完全分层序列法，在表8中给出了不同分类情况时模型三的最优解。为了与表1数据精度一致，所得结果保留小数点后1位，即最优解为 d 2 = 19.2   mm ， d 4 = 6.4   mm 。 图7. (a)初始可行域(b)新算法在不同一维搜索方法的应用下迭代次数 Table 8 Model Three Solution result 分类 优先层 F 1 优先层 F 2 优先层 F 3 第 II 层最 优厚度(mm) 第 IV 层最 优厚度(mm) 温度超过 44℃的时长(s) 1 d 2 ρ 2 d 2 + ρ 4 d 4 d 2 + d 4 19.2 6.4 298 2 d 2 d 2 + d 4 ρ 2 d 2 + ρ 4 d 4 19.2 6.4 298 3 ρ 2 d 2 + ρ 4 d 4 d 2 d 2 + d 4 19.2 6.4 298 4 ρ 2 d 2 + ρ 4 d 4 d 2 + d 4 d 2 19.2 6.4 298 5 d 2 + d 4 d 2 ρ 2 d 2 + ρ 4 d 4 19.2 6.4 298 6 d 2 + d 4 ρ 2 d 2 + ρ 4 d 4 d 2 19.2 6.4 298 表8. 模型三求解结果 图8. 算法流程图