TrustogateOpplot.
这TrustogateOpplot.
Plot函数提供了关于代理优化步骤的大量信息。
例如,考虑步骤的曲线代理人孔
采用内置的测试功能Restriginsfcn.
.此函数在点[0,0]的全局最小值为0。
创建一个表面图Restriginsfcn.
.
Ezsurf(@(x,y)rastriginsfcn([x(:),y(:)]));
通过给予不对称的界限,你鼓励代理人孔
远离全局最小值。设置不对称的界限[-3,-3]
和[9,10]
.设置选项以使用TrustogateOpplot.
绘图函数,然后致电代理人孔
.
lb = [-3,-3];UB = [9,10];选项= Optimoptions('trustogateopt'那'plotfcn'那'trustogateptplot');RNG.默认[x,fval] = trustogateopt(@ restriginsfcn,lb,Ub,选项);
Trustogateopt停止,因为它超出了“选项”QuaxFunctioneValuations'设置的函数评估限制。
开始从左侧解释情节。有关算法步骤的详细信息,请参阅代理优化算法.
第一点是黑色三角形,指示问题范围内的函数的QuAsirandom样本。这些观点来自于构建替代阶段。
接下来是指示自适应点的黑点,在搜索最小相位中创建的点。
厚绿线表示找到的最佳(最低)目标函数值。评估后不久30,代理人孔
在局部最小值中陷入了局部最小值,附近的客观函数值5.放大以更清楚地看到此行为。
XLIM([20 100])ylim([0 10])
近估值数120,垂直线表示替代重置。此时,该算法返回到构造代理阶段。
深蓝色X点代表现任者,这是自以前替代重置以来的最佳点。
在评估号码160附近,现任者通过达到约4.在该评估号之后,通过达到约4的值来改善前一点,最佳点慢慢降低。放大以更清楚地看到这个行为。
XLIM([140 200])ylim([0 6])
优化在评估号200处停止,因为它是2-D问题的默认函数评估限制。
这TrustogateOpplot.
当您具有非线性约束时显示更改。强加约束x(1)
是整数值,还是非线性约束
.有关实现此约束的函数,请参见Rasfcn.
在这个例子的最后。
有趣= @rasfcn;
通过设置设置整数约束Intcon.
= 1,并运行最小化。
Intcon = 1;[x,fval] = trustogateopt(有趣,lb,Ub,Intcon,选项);
Trustogateopt停止,因为它超出了“选项”QuaxFunctioneValuations'设置的函数评估限制。
剧情现在显示了红色标记在哪里代理人孔
评估一个不可行的点。最终点接近[0,0]的真实最小点。
DISP(x)
1.0E-03 * 0 -0.3913
整数约束可能有所帮助代理人孔
通过减少搜索空间来查找真实的最小值。
功能f = rasfcn(x)f.fval = rastriginsfcn(x);f.ineq = x(1)^ 2 - 2 - x(2);结尾