代理模型

代理模型是工程问题中常用的一个优化方法。当实际问题（高精度模型）计算量很大、不容易求解时，可以使用计算量较小、求解迅速的简化模型来替代原模型，加速优化过程。大多数工程设计问题，需要模拟实验来评估采用不同设计参数时的目标函数和约束函数。 例如，为了找到最佳的机翼形状，常常针对不同的形状参数（长度，曲率，材料等）模拟机翼周围的气流。对于许多实际问题，单次模拟可能需要数分钟、数小时、甚至数天才能完成。 因此，类似设计优化、设计空间搜索、灵敏性分析和假设分析这种，需要数千、甚至数百万次模拟的任务，直接对原模型求解将是不可能的。

改善这种情况的一个办法就是使用近似模型（被称为代理模型，响应曲面模型，元模型或模拟器）来模拟高精度模拟模型。代理模型的计算结果与原模型非常接近，但是求解计算量较小。代理模型采用一个数据驱动的、自下而上的办法来建立。一般假定原模拟过程的内部精确处理过程未知（有时也可能已知），但是该模型的输入-输出行为则非常重要。通过在仔细选择的有限个点（输入）计算原模型的响应（输出），从而建立代理模型。这一过程也被称为行为建模或者黑箱模型，但是这两个名字会造成歧义。如果只涉及唯一的变量，这一过程也被称为曲线拟合。

虽然使用代理模型来代替实验和模拟在工程设计中非常常见，代理模型也可被用于许多其他实验或求解计算量较大的科学领域。

目标 
此方法面临的主要挑战是：如何使用尽可能少的高精度模型求解来建立一个尽可能精确的代理模型。这一过程包括三个互相交织步骤。
 抽样选择(也称为顺序设计,最佳实验设计(OED),或主动学习)
 建立代理模式和优化模型参数(偏差方差权衡)
 代理模型准确性评估
代理模型的准确性跟设计空间的采样点（高精度模拟实验）的个数与位置有关。不同的实验设计（DOE）技术可以满足不同的误差要求，特别是数据噪声或者不合适的代理模型造成的误差。

代理模型分类 
最常用的代理模型有多项式响应曲面法，克里金法，梯度增强克里金法（GEK），支持向量机，空间映射，和人工神经网络。对于某些特定的问题，其具体的目标函数并没有先验知识，因此无法知道哪种代理模型最准确。另外，对于给定的代理模型，如何获得该模型精确性的可靠估计并无定规。对于其他物理特性已知的许多其他问题，基于物理特性的代理模型，例如空间映射，将是最有效的。

这里有最近关于基于代理模型的进化优化技术的回顾。亚斯-桑切斯评价了近二十年以来代理模型的发展与工程应用。

一致性 
近来提出的基于比较的代理模型（例如排序支持向量机）进化算法，例如CMA-ES，允许保留代理模型协助的优化器的某些一致性：
 1. 函数单调变换的一致性（缩放）
 2. 搜索空间正交变换的一致性(旋转)。

应用 
设计优化与设计空间逼近（也称为模拟）这两个代理模型的典型应用之间，有很大的不同。

基于代理模型的优化，基于有限预算下高精度模型的实验模拟，来建立初步代理模型。然后采用此代理模型预测的性能更好的点来进一步实验模拟。此过程一般采用如下的搜索/更新步骤。
 1. 初步选择采样点(高精度模型求解)
 2. 建立代理模型
 3. 搜索代理模型(可以深度搜索此模型，例如使用 遗传算法，因为它求解简单)
 4. 在搜索得到的点来求解原高精度模型，并将结果加入到采样点
 5. 重复步骤2到4，直到时间用尽或者设计已经“足够好”
根据所使用的代理模型的类型和求解问题的复杂性，该过程可能收敛至一个局部或者全局最优点，也有可能无法找到最优点。

而对于设计空间逼近，感兴趣的并非找到最优的参数向量，而是系统的全局行为。这时，代理模型需要不断调整，以保证在全部参数空间，代理模型与高精度模型都尽可能接近。这样的代理模型是深入了解系统全局行为的一种有效且廉价的手段。优化仍然可作为一个后处理步骤，尽管此时找到的最优点因为没有更新过程（见上文）可能无法被验证。

参看 
 直线逼近
 响应曲面法
 克里金法
 梯度增强克里金(GEK)
 OptiY
 空间映射
 代理终点
 代理数据
 适应逼近
 计算机实验
 模型

参考文献

延伸阅读 
 Queipo, N.V., Haftka, R.T., Shyy, W., Goel, T., Vaidyanathan, R., Tucker, P.K. (2005), “Surrogate-based analysis and optimization,” Progress in Aerospace Sciences, 41, 1–28.
 D. Gorissen, I. Couckuyt, P. Demeester, T. Dhaene, K. Crombecq, (2010), “A  Surrogate Modeling and Adaptive Sampling Toolbox for Computer Based Design," Journal of Machine Learning Research, Vol. 11, pp. 2051−2055, July 2010.
 T-Q. Pham, A. Kamusella, H. Neubert, “Auto-Extraction of Modelica Code from Finite Element Analysis or Measurement Data," 8th International Modelica Conference, 20–22 March 2011 in Dresden.
 Forrester, Alexander, Andras Sobester, and Andy Keane, Engineering design via surrogate modelling: a practical guide, John Wiley & Sons, 2008.

外部链接 
 代理模型Matlab代码
 Matlab代理模型工具箱–Matlab SUMO工具箱
實驗設計
数学模型
数值分析
科学建模