对于耗时的目标函数的全局极小替代优化
的surrogateopt
功能是耗时的目标函数的全局解算器。
surrogateopt
试图解决的形式的问题
该求解器在多维空间中搜索实值目标函数的全局最小值,满足有界约束、可选整数约束和可选非线性不等式约束。surrogateopt
最适合于需要很长的时间来评估目标函数。目标函数可以非光滑。求解器需要对所有变量的有限范围。求解器可以选择保持一个检查点文件符合停机条件后,能够从崩溃或部分执行,或优化持续复苏。
在保存的检查点文件中从状态继续运行优化。看到与保点工作文件。x
= surrogateopt (checkpointFile
)
继续运行在状态中保存的检查点文件的优化,并替换选项x
= surrogateopt (checkpointFile
,选择
)checkpointFile
与那些在选择
。看到检查点文件。
surrogateopt
重复执行这些步骤:
通过采样创建一组的试验点MinSurrogatePoints
在边界内随机选取一个点,并对试验点上的目标函数求值。
通过所有的随机试验点的插值径向基函数创建目标函数的替代模式。
创建一个价值函数,让一些体重来替代一些重量从审判点的距离。通过随机抽样在围绕现任点的区域中的评价函数(自上次复位替代最佳点发现)找到评价函数的值小。利用这一点,叫做自适应点,作为一个新的试验点。
在自适应点评估目标,并基于此点及其值更新代理。如果目标函数值比之前观察到的最佳(最低)值低很多,则算作“成功”,否则算作“失败”。
如果之前有三次成功,则向上更新样本分布的离散度MAX(NVAR,5)
失败,据nvar
是维数。更新分散,如果向下MAX(NVAR,5)
失败发生在三次成功之前。
从第3步继续,直到所有的试验点内MinSampleDistance
求值点的集合。此时,通过丢弃代理中的所有自适应点来重置代理,重置比例,然后回到步骤1来创建MinSurrogatePoints
新的随机试验点进行评估。
有关详细信息,请参见代理优化算法。