初始点全局优化工具箱解决者
一些全局优化工具箱求解者需要一个初始点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
例如,取一个2-D变量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);设置初始人口:x0x为x, x0y为yrng默认的x0x = (1; 1/2);X0y = eye(2)/2 + 0.1*randn(2);x0 = optimvalues(概率,“x”x0x,“y”, x0y);%解决问题[溶胶,fval] =解决(问题解决者=“遗传算法”)
优化终止:适应度值的平均变化小于options.FunctionTolerance。Sol = 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
.