优化函数使用particleswarm
,具体问题具体分析
这个例子展示了如何在基于问题的方法中使用粒子群最小化函数,当目标是一个函数文件(可能是未知的内容(一个“黑匣子”函数)时。最小化函数,dejong5fcn (x)
,在运行此示例时包含。
dejong5fcn
创建一个二维优化变量x
.的dejong5fcn
函数期望变量是行向量,因此指定x
作为一个2元素行向量。
x = optimvar (“x”、1、2);
使用dejong5fcn
作为目标函数,将函数转换为使用的优化表达式fcn2optimexpr
.
有趣= fcn2optimexpr (@dejong5fcn x);
用目标函数创建一个优化问题有趣的
.
概率= optimproblem (“客观”、有趣的);
在所有组件中设置从-50到50的变量边界。当您指定标量边界时,软件将扩展边界到所有变量。
x.LowerBound = -50;x.UpperBound = 50;
解决问题,指定particleswarm
解算器。
rng默认的%的再现性[溶胶,fval] =解决(概率,“规划求解”,“particleswarm”)
使用particleswarm解决问题。优化结束:目标值相对于上一个OPTIONS的变化。MaxStallIterations小于OPTIONS.FunctionTolerance。
索尔=结构体字段:x (-31.9751 - -31.9719):
fval = 0.9980
另请参阅
particleswarm
|fcn2optimexpr
|解决