主要内容

遗传算法中的混合方案

此示例显示了如何使用遗传算法和另一种优化方法来优化函数的方法。GA可以快速到达当地最低限度的社区,但是它可能需要许多功能评估才能达到收敛。为了加快解决方案过程,首先运行GA对于少数几代人接近最佳点。然后使用解决方案GA作为另一个优化求解器的初始点,可以执行更快,更有效的本地搜索。

Rosenbrock的功能

此示例使用Rosenbrock的功能(也称为Dejong的第二个函数)作为健身函数:

F (( X = 1 0 0 (( X (( 2 - X (( 1 2 2 + (( 1 - X (( 1 2

Rosenbrock的功能在优化方面是臭名昭著的,因为在尝试最小化此函数时,大多数方法都显示出大多数方法。Rosenbrock的函数在点x* =(1,1)的唯一最小值,其中它具有函数值 F (( X * = 0

Rosenbrock功能的代码在dejong2fcn文件。

类型dejong2fcn.m
函数得分= deJong2fcn(pop)%dejong2fcn计算DEJONGS第二函数。%此函数也称为Rosenbrock的功能%版权2003-2004 The MathWorks,Inc。scores = zeros(size(pop,1),1);对于i = 1:size(pop,1)p = pop(i,:);得分(i)= 100 *(p(1)^2 -p(2))^2 +(1 -p(1))^2;结尾

将Rosenbrock的函数绘制在范围内–2 <= x(1)<= 2;–2 <= x(2)<= 2。

plotObjective(@dejong2fcn,[-2 2; -2 2]);

图包含一个轴对象。轴对象包含2个类型表面的对象,轮廓。

遗传算法溶液

首先,使用GA单独找到Rosenbrock功能的最小值。

fitnessfcn = @dejong2fcn;numberOfvariables = 2;

包含绘图功能以监视优化过程。

选项= Optimoptions(@GA,'plotfcn',{@gaplotbestf,@gaplotstopping});

设置随机数流以进行可重复性,并运行GA使用选项。

RNG默认[x,fval] = ga(fitnessfcn,numberofvariables,[],[],[],[],[],[],[],[],[options)
优化终止:健身价值的平均变化小于选项。功能耐力。

图遗传算法包含2个轴对象。轴对象1具有最佳标题:0.491302平均值:664119包含2个类型线对象。这些物体代表最佳健身,平均健身。轴对象2带有标题停止标准的对象包含类型栏的对象。

x =1×20.3454 0.1444
FVAL = 0.4913

使用默认停止条件,GA不提供非常准确的解决方案。您可以更改停止条件以尝试找到更准确的解决方案,但是GA需要许多功能评估来接近全局最佳x* =(1,1)。

相反,执行更有效的本地搜索,该搜索从哪里开始GA通过使用混合功能选项停止GA

添加混合功能

混合功能从GA停止。混合功能选择是fminsearch,,,,模式搜索, 或者fminunc。因为此优化示例是平稳且不受约束的,请使用fminunc作为混合功能。提供fminunc在指定混合功能时,将图选项作为附加参数。

fminuncoptions = optimoptions(@fminunc,,'plotfcn',{“ optimplotfval',,,,“ optimplotx”});选项= optimoptions(选项,'hybridfcn',{@fminunc,fminuncoptions});

GA再次与fminunc作为混合功能。

[x,fval,exitflag,output] = ga(fitnessfcn,numberOfvariables,[],[],[],[],[],[],[],[],[],options),options)
优化终止:健身价值的平均变化小于选项。功能耐力。

图优化图功能包含2个轴对象。轴对象1具有标题当前功能值:1.72147E-11包含一个类型行的对象。带有标题当前点的轴对象2包含类型bar的对象。

找到局部最低限度。完成优化是因为梯度的大小小于最佳公差的值。

图遗传算法包含2个轴对象。轴对象1具有最佳标题:0.664192平均值:4.61776E+06包含2个类型行的对象。这些物体代表最佳健身,平均健身。轴对象2带有标题停止标准的对象包含类型栏的对象。

x =1×21.0000 1.0000
FVAL = 1.7215E-11
出口= 1
输出=带有字段的结构:问题类型:“无约束” rngstate:[1x1 struct]世代:51 funccount:2534消息:'优化终止:健身价值的平均变化小于选项。FunctionTolerance。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

GA情节显示了每一代人口的最佳和平均值。情节标题标识了最佳价值GA当它停止时。混合功能fminunc从发现的最佳点开始GA。这fminunc图显示了解决方案XFVAL,这是由于使用而产生的GAfminunc一起。在这种情况下,使用混合功能可以提高溶液的准确性和效率。这输出。杂化字段显示fminunc用出口标志1停止,表明X是真正的当地最低限度。

相关话题