1. 从零开始:如何理解辐射冷却技术赛题的核心

大家好,我是C君,一个在数学建模圈子里摸爬滚打了快十年的老手。今天咱们不聊虚的,直接上硬货,手把手带你拆解2025年APMCM亚太赛的B题——辐射冷却技术建模与优化。这道题一出来,很多同学就有点懵,又是“辐射”,又是“冷却”,还涉及“薄膜结构优化”,感觉物理、材料、光学、优化算法全搅和在一起了,不知道从哪下手。

别慌,我刚开始接触这类跨学科题目时也这样。其实,这类“物理建模+优化”的题目,恰恰是数学建模竞赛里最容易出彩、也最容易拿奖的类型。为什么?因为它有明确的物理定律作为基础,模型建立起来逻辑性强,评委也容易看懂你的思路。不像一些纯数据分析题,模型五花八门,结果好坏有时候很看运气。B题的核心,说白了就是让你扮演一个材料工程师,设计一种能“自己凉快”的薄膜。这种薄膜白天能反射太阳光,晚上又能通过热辐射把热量散到外太空,从而实现不耗电的被动冷却。听起来很科幻,但这就是前沿的辐射冷却技术。

题目给的PDMS(聚二甲基硅氧烷)薄膜,是一种常见的柔性高分子材料。第一问让你建模发射率随波长和厚度的变化关系,这就是典型的“从现象到公式”的过程。你需要理解,材料的发射率不是固定的,它就像人的指纹,在不同波段(波长)有不同的“辐射能力”,而且薄膜的厚度会影响光在里面的干涉效应,从而改变这个“能力”。所以,你的第一个任务,就是把这种物理关系用数学语言描述出来。这需要你暂时忘掉复杂的代码,先回到物理课本,把光学薄膜理论、菲涅尔公式这些基础概念吃透。我见过很多队伍一上来就找代码、套算法,结果模型物理意义都不对,后面优化得再漂亮也是空中楼阁。

2. 理论基石:光学与热力学模型的建立与推导

2.1 第一问核心:发射率模型的物理本质

第一问是整个题目的基石,如果这里错了,后面全盘皆输。题目要求建立PDMS薄膜发射率 ε(λ, d) 与波长 λ 和厚度 d 的关系。发射率是啥?简单说,就是一个物体辐射热量的能力,最大值是1(理想黑体),最小值是0(理想镜面)。对于PDMS这种材料,它的发射率特性决定了它的冷却性能。

关键物理公式:根据能量守恒,对于不透明的薄膜(或者我们主要关心其表面辐射),忽略透射,其发射率、反射率 R 和吸收率 α 满足:ε = α = 1 - R。也就是说,材料吸收了多少辐射,就能发射多少辐射(基尔霍夫热辐射定律)。所以,我们的问题转化为:计算PDMS薄膜在不同波长和厚度下的反射率 R(λ, d)。

如何计算反射率? 这里就要用到薄膜光学的知识了。当光照射到薄膜上,会在上下界面发生多次反射和透射,这些光波会相互干涉,增强或削弱,最终的总反射率就变了。对于单层膜,在垂直入射(简化情况)下,其反射率公式为:

R = [(n0 - n1)^2 * cos^2(δ) + (n0*n1/n2 - n2)^2 * sin^2(δ)] / [(n0 + n1)^2 * cos^2(δ) + (n0*n1/n2 + n2)^2 * sin^2(δ)]

别被这个公式吓到,我解释一下里面的参数:

  • n0 是空气的折射率(约等于1)。
  • n1 是PDMS薄膜的折射率,它是波长的函数 n(λ)!这是第一个关键点,你需要去查PDMS的折射率色散数据。通常文献中会给出它在红外波段(比如8-13微米大气窗口)的折射率实部和虚部(消光系数)。
  • n2 是衬底(比如硅片)的折射率。
  • δ 是相位厚度,δ = 2π * n1 * d / λ。这里包含了厚度 d 和波长 λ,是连接二者的桥梁。

看到没?公式里 n1(λ) 和 δ(d, λ) 把波长和厚度都包含进去了。所以,你的建模过程应该是:

  1. 数据获取:首先,通过学术数据库(如RefractiveIndex.INFO)查找或从题目附件中获取PDMS在感兴趣波段(特别是中红外波段)的复折射率 n(λ) + i*k(λ) 数据。k是消光系数,代表材料的吸收。
  2. 编程实现:将上述反射率公式在MATLAB或Python中实现为一个函数 R = calculate_R(lambda, d, n_lambda)。这里 n_lambda 是你插值好的折射率数据。
  3. 计算发射率:最后,epsilon = 1 - R。注意,如果考虑薄膜不是完全透明,公式会更复杂,但题目通常在第一问会做简化假设。

我当年做类似题目时,就在这里踩过坑:直接用了常数折射率,结果模型和实际数据对不上。后来才发现,在红外波段,材料的折射率变化非常明显,必须用插值函数来处理。所以,务必重视材料光学参数的数据准确性。

2.2 第二问桥梁:从发射率到冷却功率

有了发射率模型,第二问就顺理成章了:评估薄膜的辐射冷却性能。这里的主角是斯特藩-玻尔兹曼定律。这个定律告诉我们,一个物体单位面积辐射出去的功率,和它的绝对温度的四次方成正比,再乘上它的发射率。

冷却功率的计算:薄膜的净辐射冷却功率 P_net,是它自身向外辐射的功率,减去它从环境吸收的辐射功率。公式可以写为:

P_net = ε_sky * σ * (T_film^4 - T_sky^4) - ε_sun * I_sun

我来拆解一下:

  • σ:斯特藩-玻尔兹曼常数,5.67×10^-8 W/m²/K⁴。
  • T_film:薄膜自身的温度(K)。
  • T_sky:有效天空温度,通常比环境气温低,可以用经验公式估算,比如 T_sky ≈ 0.0552 * T_amb^1.5,T_amb是环境气温。
  • ε_sky:薄膜在**大气窗口波段(8-13微米)**的平均发射率。这是重点!不是全波段的发射率,而是那个能穿透大气、把热量直接送到外太空的波段的发射率。你需要用第一问的模型,计算在这个波段内的积分平均发射率。
  • ε_sun:薄膜在**太阳光谱波段(0.3-2.5微米)**的平均反射率(因为吸收率=1-反射率)。我们希望这个值尽可能低(即反射率高),以减少太阳加热。
  • I_sun:太阳辐照度,约1000 W/m²。

所以,第二问的建模,本质上是一个积分计算。你需要:

  1. 划分波段:明确区分“太阳波段”和“大气窗口波段”。
  2. 积分求平均:利用第一问的 ε(λ, d) 函数,分别在两个波段内对波长进行积分,除以波段宽度,得到 ε_sky 和 α_sun(吸收率,α_sun = 1 - R_sun)。
  3. 代入计算:将环境温度 T_amb、薄膜温度 T_film(可能假设等于环境温度,或作为一个变量)等参数代入公式,计算净冷却功率 P_net。

一个实用的技巧:在论文中,不要只给出一个冷冰冰的数字。你可以画一张图,横坐标是薄膜厚度 d,纵坐标是 P_net,展示冷却功率如何随厚度变化。你会发现,存在一个最优厚度,让冷却功率最大。这个图非常直观,能立刻让你的模型“活”起来。

3. 算法实战:优化模型求解与代码实现

3.1 第三问攻坚:多层膜结构优化设计

前两问是单层膜,第三问开始上难度了:设计一个多层膜结构(比如PDMS/SiO2/Ag这种),进一步优化性能。为什么多层?因为单层膜的能力有限。比如,一层银(Ag)可以高效反射太阳光,但对红外辐射是透明的(发射率低);一层PDMS在红外发射率高,但可能反射太阳光不够好。把它们组合起来,取长补短,就能实现“高太阳反射率”和“高红外发射率”的完美结合。

这立刻变成了一个优化问题。你的设计变量是什么?是每一层用什么材料(从候选材料库中选),以及每一层的厚度 d_i。你的目标函数是什么?通常是最大化净冷却功率 P_net,或者更实际一点,在白天太阳照射下,让薄膜温度 T_film 低于环境温度 T_amb 的差值最大。

数学建模:假设我们有 L 层,每层材料有折射率 n_i(λ),厚度 d_i。多层膜的总反射率 R_total(λ) 和透射率 T_total(λ) 需要用到传输矩阵法来计算。这是一个标准的光学计算,网上有很多现成的代码(比如Python的 tmm 库)。你可以把它封装成一个函数 R_total, T_total = multilayer_spectrum(materials, thicknesses, lambda)。

那么优化模型可以写成:

Maximize: P_net(materials, thicknesses)  # 或 Minimize: T_film - T_amb
Subject to:
    d_i_min <= d_i <= d_i_max (每层厚度工艺约束)
    total_thickness <= D_max (总厚度约束)
    materials_i ∈ {PDMS, SiO2, Ag, ...} (材料选择,离散变量)

难点与策略:这里既有连续变量(厚度),又有离散变量(材料选择),是一个混合整数非线性规划问题。直接求解非常困难。我常用的策略是分步优化:

  1. 固定材料序列:先根据物理直觉,预设几种有潜力的材料堆叠顺序,比如“反射层/发射层/衬底”结构(Ag/SiO2/PDMS/Air)。
  2. 连续厚度优化:在固定材料顺序下,只把各层厚度作为连续变量进行优化。这一步可以用智能优化算法。
  3. 枚举与对比:尝试几种不同的材料序列,对每一种都进行步骤2的厚度优化,最后对比哪种组合的 P_net 最大。

3.2 优化算法选择与Python代码示例

对于厚度优化这种连续变量问题,粒子群优化(PSO) 和 遗传算法(GA) 是建模竞赛的常客。它们不依赖梯度,全局搜索能力强,特别适合我们这种目标函数计算复杂(需要调用光学模型)的问题。我个人更偏爱PSO,因为它参数少、收敛快,代码也容易写。

下面我给出一个用Python的 pyswarm 库实现PSO优化薄膜厚度的核心代码框架。假设我们已经有了计算 P_net 的函数 calc_cooling_power(thicknesses)。

import numpy as np
from pyswarm import pso

# 定义优化问题的维度(假设优化3层膜的厚度)
num_layers = 3

# 定义厚度上下界(单位:米),根据工艺常识设定
lb = [100e-9, 500e-9, 1e-6]  # 最小厚度,例如 [100nm, 500nm, 1um]
ub = [500e-9, 5e-6,  20e-6] # 最大厚度,例如 [500nm, 5um, 20um]

# 定义目标函数:我们希望最大化净冷却功率,所以加负号转为最小化问题
def objective_function(thicknesses):
    # thicknesses 是一个包含3个厚度的数组
    P_net = calc_cooling_power(thicknesses)
    return -P_net  # 因为pso默认最小化,所以取负

# 定义约束(如果有),例如总厚度不超过某个值
def constraint_total_thickness(thicknesses):
    total = np.sum(thicknesses)
    return total - 30e-6  # 总厚度 <= 30um, 返回 <=0 的值表示满足约束

# 运行PSO优化
best_thicknesses, best_power = pso(objective_function, lb, ub,
                                    f_ieqcons=constraint_total_thickness,
                                    swarmsize=50, maxiter=100, debug=True)

print(f"最优厚度组合: {best_thicknesses} 米")
print(f"最大净冷却功率: {-best_power} W/m²")

# 注意:calc_cooling_power 函数需要你自己实现
# 它内部应包含:1.根据厚度和材料计算多层膜光谱;2.积分求平均发射率/反射率;3.代入斯特藩定律计算功率。

这段代码只是一个骨架。在实际比赛中,你需要精心设计 calc_cooling_power 函数,确保其计算准确且高效,因为PSO会调用它成千上万次。另外,算法的参数(粒子数 swarmsize、迭代次数 maxiter)需要根据问题调整,以平衡精度和计算时间。

4. 全流程整合与论文写作要点

4.1 第四问升华:性能与成本的权衡

到了第四问,题目要求就更贴近实际了:在优化冷却性能的同时,考虑成本。这引入了多目标优化的概念。你的目标不再是单一的 P_net 最大,而是要在“高性能”和“低成本”之间寻找帕累托最优解。

成本模型如何建? 成本可以简单分为材料成本和制造成本。材料成本可以假设与薄膜的体积(或面积乘厚度)成正比,不同材料单价不同。制造成本可能随层数增加而非线性增加。一个简单的线性成本模型可以是:

总成本 = Σ (材料i的单价 * 密度 * 厚度 * 面积) + 基础工艺成本 + 每层附加成本

你需要查阅一些粗略的市场价格或文献数据来给这些参数赋值。虽然数据不要求非常精确,但数量级要对,并且要在论文中说明你的假设来源。

多目标优化方法:一种直观的方法是加权求和法。你把两个目标(比如 P_net 和 Cost)归一化到相近的量级,然后赋予权重,合并成一个单目标:

Maximize: w1 * (P_net / P_net_max) - w2 * (Cost / Cost_max)

通过调整权重 w1 和 w2,你可以得到一系列从“不计成本追求性能”到“严格控制成本”的不同设计方案。在论文中,最好用一个二维散点图(帕累托前沿)来展示这些解,横轴是成本,纵轴是冷却功率,让评委一眼就能看出两者的权衡关系。

4.2 结果可视化与论文呈现技巧

数学建模竞赛,“建”得好不如“说”得好。清晰、专业的可视化是拿高分的关键。对于B题,我强烈建议你准备以下几类图:

  1. 光谱图:展示你设计的单层或多层膜在宽光谱范围(如0.3-20微米)内的反射率 R(λ) 或发射率 ε(λ)。用不同颜色或线型区分不同厚度或不同结构。这张图能直接体现你对光学原理的理解。
  2. 冷却功率随厚度变化图:第二问的结果,一条曲线展示 P_net 如何随 d 变化,并标出最优厚度点。
  3. 优化过程收敛图:展示PSO或GA算法在迭代过程中,最佳适应度(冷却功率)是如何逐步提升并趋于稳定的。这证明了你的算法有效性。
  4. 帕累托前沿图:第四问的核心,展示性能-成本的权衡关系。
  5. 结构示意图:用示意图清晰画出你最终推荐的多层膜结构,标明每层的材料和厚度。

在论文写作上,切忌把代码和公式简单堆砌。要按照“问题分析->模型假设->模型建立->求解方法->结果分析->结论推广”的逻辑线来组织。在“模型建立”部分,一定要把物理概念讲清楚,比如为什么用菲涅尔公式,斯特藩定律怎么用到这里。在“结果分析”部分,不能只说“我们得到了一个数”,而要解释这个数的物理意义,比如“当厚度为5微米时,冷却功率达到峰值,这是因为此时薄膜的光学干涉效应在关键波段达到了最佳匹配”。

最后,分享一个我自己的教训:永远要检查模型的量纲和数量级。曾经有一次,我算出来的冷却功率高达上万瓦每平米,自己还沾沾自喜,后来才发现是斯特藩常数代错了量级。一个合理的净冷却功率,在白天太阳下,能达到几十到一百多瓦每平米就已经是非常出色的设计了。在论文中给出合理的参数取值(如环境温度取300K,太阳辐照度取1000 W/m²),并确保最终结果的数量级符合常识,能极大增加你模型的可信度。

这道B题,虽然涉及多学科,但每一步都有迹可循。从理解物理背景开始,扎实地建立每一个子模型,再用合适的算法把它们串联起来优化,最后用清晰的逻辑和可视化呈现你的工作。这个过程本身,就是一次完整的科研训练。希望这篇超详细的解析,能帮你理清思路,少走弯路。如果在具体实现时遇到问题,比如传输矩阵法代码调试或者PSO参数调优,随时可以再来交流。祝你在亚太赛中取得好成绩!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐