何时使用混合函数
混合函数是在原始求解器终止后继续优化的函数。
这些全局优化工具箱求解器可以在完成后自动运行混合函数或二次求解器:
要运行混合函数,请设置HybridFcn
第二个解算器的选项。
混合函数可以从第一个求解器找到的相对粗糙的解出发,在以下情况下获得更精确的解:
无论目标函数是否具有非光滑区域,如果解决方案位于具有光滑约束的光滑区域,则使用优化工具箱™中的混合函数,例如
fmincon
.如果目标函数或约束在解附近是非光滑的,则使用
patternsearch
作为一个杂化函数。假设问题有多个局部极小值,你想要得到一个精确的全局解。单目标求解器可以搜索全局解的附近,但不一定能得到非常精确的结果。如果目标函数是平滑的,则使用优化工具箱中的混合函数,例如
fminunc
.对于光滑的多目标问题,混合函数通常改进于
gamultiobj
.
要了解哪些求解器可作为混合函数使用,请参阅选项
原始求解器的参考页上的输入参数。要调优混合函数,可以为混合函数包含一组单独的选项。例如,如果杂化函数是fmincon
:
hybridopts = optimoptions (“fmincon”,“OptimalityTolerance”1平台以及);选择= optimoptions (“遗传算法”,“HybridFcn”, {“fmincon”, hybridopts});[x, fval] = ga (Aeq有趣,据nvar, A, b,说真的,磅,乌兰巴托,nonlcon,选项)
另请参阅
遗传算法
|gamultiobj
|particleswarm
|simulannealbnd