主要内容

优化随机目标函数

此示例显示了如何查找最少的随机目标函数PatternSearch.。它还显示了优化工具箱™载体如何不适合此类问题。该示例使用简单的二维目标函数,然后通过噪声扰乱。

初始化

x0 = [2.5 -2.5];% 初始点。lb = [-5 -5];%下限UB = [5 5];%上限范围= [LB(1)UB(1);LB(2)UB(2)];objfcn = @smoothfcn;%处理目标函数。%绘制平滑目标函数图】图('颜色''W');showsmoothfcn(objfcn,范围);抓住;标题('平滑客观函数');pH = [];pH(1)= Plot3(x0(1),x0(2),objfcn(x0)+30,'或者''Markersize'10,'markerfacecolor''r');抓住离开;斧头= GCA;AX.Cameraposition = [-31.0391 -85.2792 -281.4265];ax.cameratarget = [0 0-50];AX.Cameraviewangle = 6.7937;%添加图例信息Legendlabels = {'起点'};lh =传奇(ph,legendlabels,'地点''东南');lp = lh.position;LH.Position = [1-LP(3)-0.005 0.005 LP(3)LP(4)];

跑步粉刺在光滑的目标函数上

目标函数平滑(两次连续可差化)。使用优化工具箱解决优化问题粉刺求解器。粉刺查找若干变量的函数的约束最小值。此功能在该函数下具有独特的最低限度x * = [-5,-5]它有一个值f(x *)= -250

设置返回迭代显示的选项。

选项= Optimoptions(@Fmincon,'算法''内点''展示''iter');[xop,fop] = fmincon(objfcn,x0,[],[],[],[],LB,UB,[],选项)图(图);抓住;
一阶规范的迭代F-count F(x)可行性最优性步骤0 3 -1.062500E + 01 0.000E + 00 2.004E + 01 1 6 -1.578420E + 02 0.000E + 00 5.478E + 01 6.734E + 002 9 -2.491310E + 02 0.000E + 00 6.672E + 01 1.236E + 00 3 12 -2.497554E + 02 0.000E + 00 2.397E-01 6.310E-03 4 15 -2.499986E + 02 0.000E + 00 5.065E-02 8.016E-03 5 18 -2.499996E + 02 0.000E + 00 9.708E-05 3.367E-05 6 21 -2.500000E + 02 0.000E + 00 1.513E-04 6.867E-06 7 24 -2.500000E+02 0.000E + 00 1.161E-06 6.920E-08发现满足约束的本地最小值。优化完成,因为目标函数在可行的方向上不降低,到在最优性公差的值内,并且对约束公差的值满足约束。XOP = -5.0000 -5.0000 FOP = -250.0000

绘制最后一点

pH(2)= Plot3(XOP(1),XOP(2),FOP,'dm''Markersize'10,'markerfacecolor''M');%添加一个图例绘图Legendlabels = [LegendLabels,'|粉刺|解决方案'];lh =传奇(ph,legendlabels,'地点''东南');lp = lh.position;LH.Position = [1-LP(3)-0.005 0.005 LP(3)LP(4)];抓住离开;

随机目标功能

现在通过添加随机噪声来扰乱目标函数。

RNG(0,'twister'%重置全局随机数生成器peaknoise = 4.5;objfcn = @(x)smoothfcn(x,峰值);%处理目标函数。%绘制目标函数(非平滑)图】图('颜色''W');showsmoothfcn(objfcn,范围);标题('随机目标函数'斧头= GCA;AX.Cameraposition = [-31.0391 -85.2792 -281.4265];ax.cameratarget = [0 0-50];AX.Cameraviewangle = 6.7937;

跑步粉刺在随机目标函数上

扰动的物镜函数是随机而不平滑的。粉刺是一个常规约束优化求解器,其使用目标函数的衍生点找到局部最小值。如果您没有提供目标职能的第一个衍生工具,粉刺使用有限差异以近似衍生物。在该示例中,目标函数是随机的,因此有限差异估计衍生物可以是不可靠的。粉刺可能会在一个不到最低点的点处停止。这可能发生,因为由于噪音,或者是最终的最佳条件粉刺无法进一步进步。

[xop,fop] = fmincon(objfcn,x0,[],[],[],[],LB,UB,[],选项)图(图);抓住;pH = [];pH(1)= Plot3(x0(1),x0(2),objfcn(x0)+30,'或者''Markersize'10,'markerfacecolor''r');pH(2)= Plot3(XOP(1),XOP(2),FOP,'dm''Markersize'10,'markerfacecolor''M');%添加图例到绘图Legendlabels = {'起点''|粉刺|解决方案'};lh =传奇(ph,legendlabels,'地点''东南');lp = lh.position;LH.Position = [1-LP(3)-0.005 0.005 LP(3)LP(4)];抓住离开;
一阶规范的ITER F COUNT F(X)可行性最优值步骤0 3 -1.925772E + 01 0.000E + 00 2.126E + 08 1 6 -7.107849E + 01 0.000E + 00 2.623E + 08 8.873E + 002 11 -8.055890E + 01 0.000E + 00 2.401C + 08 6.715E-01 3 20 -8.325315E + 01 0.000E + 00 7.348E + 07 3.047E-01 4 48 -8.36302C + 01 0.000E + 00 1.762E + 08 1.593E-07 5 64 -8.591081E + 01 0.000E + 00 1.569E + 08 3.111E-10尽可能最低。约束满足。Fmincon停止,因为当前步骤的大小小于步长的值,但是在约束公差的值内满足约束。XOP = -4.9628 2.6673 FOP = -85.9108

跑步PatternSearch.

现在使用全局优化工具箱最小化随机目标函数PatternSearch.求解器。模式搜索优化技术是一类用于优化的直接搜索方法。模式搜索算法不使用目标函数的衍生物来找到最佳点。

psoptions = Optimoptions(@patternsearch,'展示''iter');[xps,fps] = patternsearch(objfcn,x0,[],[],[],[],lb,Ub,psoptions)图(图);抓住;pH(3)= Plot3(XPS(1),XPS(2),FPS,'DC''Markersize'10,'markerfacecolor''C');%添加图例到绘图Legendlabels = [LegendLabels,'模式搜索解决方案'];lh =传奇(ph,legendlabels,'地点''东南');lp = lh.position;LH.Position = [1-LP(3)-0.005 0.005 LP(3)LP(4)];抓住离开
ITER Func-count F(x)网眼化方法0 1 -7.20766 1 1 3 -34.7227 2成功轮询2 3 -34.7227 1优化网35 -34.7227 0.5细化网格4 8 -96.0847 1成功轮询5 10 -96.0847 0.5细化网格6 13-132.888 1成功轮询715 -132.888 0.5优化网817-132.888 0.25优化网格9 20 -197.689 0.5成功轮询10 22 -197.689 0.25细化网格11 27 -197.689 0.125 Refine网格12 27 -241.344 0.25成功轮询1330 -241.344 0.125优化网格14 33 -241.344 0.0325 refine网格15 36 -241.344 0.0125 -241.344 0.01562细曲线17 42 -242.761 0.03125成功的民意调查18 45 -242.761 0.01562 Refine网格19 48 -242.761 0.007812 Refine网格20 51-242.761 0.003906精细网2155 -242.761 0.001953精炼网2259 -242.761 0.0009766精炼网236 63 -242.761 0.0004883细啮合物24 67 -242.761 0.0002441细物网25 71 -242.761 0.0001221细化网格26 75 -242.761 6.104E-05细化网格27 79 -242.761 3.052E-05优化网28 83 -242.761 1.526E-05优化网格29 87 -242.761 7.629E-06优化网格30 91 -242.761 3.815E-06优化网格拍摄机FU(x)网眼尺寸方法31 95 -242.761 1.907E-06优化网32 9​​9 -242.761 9.537E-07优化网格优化终止:网格尺寸小于options.meshtolerance。XPS = -4.9844 -4.5000 fps = -242.7611

模式搜索不受客观函数中随机噪声的强烈影响。模式搜索只需要函数值而不是衍生物,因此噪声(某种统一类型的噪声可能不会影响它。但是,模式搜索需要更多功能评估,以找到比基于衍生的算法的真实最小算法,不使用衍生物的成本。

相关话题