初始点全局优化工具箱解决者
一些全局优化工具箱解决需要一个初始点x0
:patternsearch
,simulannealbnd
,GlobalSearch
,MultiStart
。使用具体问题具体分析的方法,解决优化问题时指定x0
在第二个参数解决
和prob2struct
。指定一个初始点,创建一个结构变量名称字段和变量值作为结构值。例如,对于一个标量变量x
和一个2×2矩阵y
为patternsearch
解算器,输入下面的代码。
x0。x= 5; x0.y = eye(2) + 0.1*randn(2); [sol,fval] = solve(prob,x0,“规划求解”,“patternsearch”)
您还可以指定这些连接器使用的初始点optimvalues
接下来,如图所示。
其他全局优化工具箱连接器不需要一个初始点,但是可以接受一个初始点或一组初始点:遗传算法
,gamultiobj
,paretosearch
,surrogateopt
。通过这些解决初始点,创建点使用optimvalues
。
请注意
当使用具体问题具体分析的方法,你不能通过一个初始点或人口普查的初步使用选项,例如:
InitialPopulationMatrix
为遗传算法
InitialSwarmMatrix
为particleswarm
InitialPoints
为surrogateopt
例如,拿一个二维变量x
和一个2×2矩阵y
为遗传算法
解算器。
x = optimvar (“x”2,“下界”,1“UpperBound”1);y = optimvar (“y”2,2,“下界”,1“UpperBound”1);概率= optimproblem (“客观”,…cosh(点(y * x, (2, 1)))——sinh(点(y * x, [1, 2])));概率。约束= y (1、2) = = y (2, 1);%设置初始种群:x0y x0x x, yrng默认的x0x = (1; 1/2);x0y =眼(2)/ 2 + 0.1 * randn (2);x0 = optimvalues(概率,“x”x0x,“y”,x0y);%解决问题[溶胶,fval] =解决(问题解决者=“遗传算法”)
优化终止:平均不到options.FunctionTolerance健身价值的变化。索尔= 1.0000 -1.0000 0.3080 -1.0000 -0.9990 1.0000 fval = -50.4209
解决方案满足约束(1、2)= = y (2, 1)
只有在约束宽容1 e - 3
:索尔(4)= -1.0000
,但索尔(5)= -0.9990
。