1. 课程导入与问题界定

在科学计算与工程仿真中,我们经常面对两类方向相反、但彼此紧密关联的任务:正问题与反问题。理解二者的定义、边界与计算流程差异,是设计可靠求解方案的第一步。本课程后续所有章节,都将围绕“如何为正问题与反问题分别设计计算流程”展开。

一、什么是正问题与反问题

先给出一个统一的形式化描述。设一个物理系统由模型参数 \(m\)、输入/激励 \(u\) 和观测输出 \(d\) 构成,三者通过正演算子 \(F\) 联系:

d = F(m, u) + ε      (ε 为观测噪声)

在此基础上:

  • 正问题(Forward Problem):已知模型参数 \(m\) 与输入 \(u\),通过 \(F\) 计算输出 \(d\)。它是“由因推果”,通常适定——解存在、唯一且连续依赖输入。
  • 反问题(Inverse Problem):已知观测 \(d\) 与输入 \(u\),反推模型参数 \(m\)(或反推输入、边界条件、源项)。它是“由果溯因”,通常不适定——解可能不存在、不唯一,或对噪声极度敏感。

需要强调:正反问题的划分取决于“谁是已知、谁是待求”,而非物理对象本身。同一个热传导模型,给定材料导热系数求温度分布是正问题;由测温点反推导热系数则是反问题。

二、典型实例对照

下表给出几个跨领域的实例,帮助建立直观认识(参数均为教学示例,非实测数据):

领域正问题反问题
热传导已知导热系数、热源,求温度场由若干测点温度反演导热系数或热源强度
地震勘探已知地层速度模型,合成地震记录由地表接收记录反演地下速度结构
医学成像已知组织光学参数,计算边界光强由边界测量重建内部吸收/散射系数
结构力学已知刚度与载荷,求位移响应由位移/模态反识别损伤位置与程度

可以看到,反问题几乎总是“测量在外、待求在内”,这正是其困难根源:信息从内部传到边界的过程中被平滑、衰减,并混入噪声。

三、两类问题的计算流程差异

正问题的计算流程相对直接:建立离散模型 → 施加参数与边界条件 → 求解(一次前向计算)→ 输出并验证。反问题则必须引入“迭代—比较—更新”的闭环:给定参数初值,反复调用正演算子生成预测数据,与实测数据比较残差,再通过优化或正则化更新参数,直至收敛。下图概括了两条流程的结构差异与耦合关系。

正问题:由因推果(一次前向) 模型参数 m 输入 u 正演算子 F 输出 d 适定:解存在、唯一、稳定 计算量 ≈ 一次求解 反问题:由果溯因(迭代闭环) 观测 d 输入 u 优化/正则化 更新 m 参数 m* 不适定:需正则化约束 计算量 ≈ 多次正演 反问题每次迭代都调用正演算子 F 生成预测数据 残差判据:‖F(mₖ,u) − d‖ ≤ 容差? 否 → 更新 mₖ₊₁ 继续迭代;是 → 输出 m* 正问题是反问题的“内核算子”;反问题设计的关键在于:正演精度、正则化策略与迭代终止条件 教学示意,参数与判据形式随具体问题调整

图中橙色虚线揭示了核心事实:反问题的每一次迭代都要调用正演算子。因此正演模块的效率与精度直接决定反演是否可行。若一次正演耗时 10 秒,迭代 200 次即需约 33 分钟;这也是实际工程中常采用代理模型、伴随法求梯度或并行加速的原因。

四、计算流程设计的总体目标

无论正问题还是反问题,流程设计都应围绕四个目标:

  1. 正确性:离散格式与边界条件须与物理模型一致,正演结果应通过网格收敛性、守恒性等检验。
  2. 稳定性:反问题必须引入正则化(如 Tikhonov、全变差)或先验约束,抑制噪声放大。
  3. 可计算性:控制正演调用次数与单次成本,必要时使用伴随法、代理模型或降阶模型。
  4. 可验证性:设计明确的残差阈值、参数置信区间与交叉验证方案,避免“拟合好但物理错”。
一个实用的自检习惯:先用已知参数生成“合成观测数据”,再让反演流程去恢复它。若连无噪声的合成数据都恢复不了,说明流程本身存在结构性错误,而非噪声问题。

五、学习路径

本课程按“概念—正演—反演—工程化”递进组织:先厘清问题界定与数学表述(本章),再分别打磨正演离散与求解、反演的目标函数构建与优化策略,最后落到流程集成、结果评估与典型工程案例。建议学习时始终带着一个具体对象(例如一维热传导杆或简支梁),把每章方法都套用到该对象上,形成可复现的完整计算链。

常见误区:把反问题当作“把正问题公式反过来解”即可。实际上反演需要重新设计目标函数、正则项与求解器,直接对正演方程求逆往往因矩阵病态而失败。