主要内容

优化功能使用simulanealbnd,基于问题的

此示例显示了如何使用基于问题的方法中的模拟退火最小化函数,当目标是一个函数文件(可能是未知内容)(“黑匣子”函数)。最小化的功能,dejong5fcn(x),全局优化工具箱包含。绘制功能。

dejong5fcn

图包含一个轴对象。轴对象包含2个类型表面的对象,轮廓。

创建一个2D优化变量X。这dejong5fcn函数期望变量为行向量,因此指定X作为2元素行矢量。

x = optimvar(“X”,1,2);

使用dejong5fcn作为目标函数,将函数转换为使用FCN2OPTIMEXPR

fun = fcn2optimexpr(@dejong5fcn,x);

用目标函数创建优化问题乐趣

prob = optimproblem(“客观的”,乐趣);

将所有组件中的变量范围从–50到50。当您指定标量边界时,软件将界限扩展到所有变量。

X.LowerBound = -50;X.UpperBound = 50;

在边界内设置伪随机点。初始点是一个字段的结构X

RNG默认%可再现性x0.x = x.lowerBound + rand(size(x.lowerbound))。*x.upperbound;

解决问题,指定simulanealbnd求解器。

[sol,fval] = solve(prob,x0,“求解器”,,,,“ simulanealbnd”
使用simulanealbnd解决问题。优化终止:最佳功能值的更改小于options.functionTolerance。
sol =带有字段的结构:X:[-32.0371 -31.8792]
FVAL = 0.9980

也可以看看

||

相关话题