一种基于改进型混合粒子群算法的间作作物种植模式优化方法与流程

文档序号:15493418发布日期:2018-09-21 21:07阅读:326来源:国知局



技术实现要素:
涉及优化方法及算法设计领域,是一种基于改进型混合粒子群算法的间作作物种植模式优化方法,此优化方法能够对间作作物种植模式中的种植品种比例及种植间距使用改进型算法进行优化。其中改进型混合粒子群算法具备一定的摆脱局部极值能力。



背景技术:

农业生产生活中,经常存在一些关于种植方式的问题需要得到优化结果,比如间作作物种植模式的优化。然而,实际生产生活中的间作作物种植模式优化问题往往十分复杂,例如间作作物种类的比例选择,间作作物间距的选择。若要得到优异的结果,往往需要大量的种植实验,而这便需要大量的人力物力。因此可以通过对已有的作物模型进行间作种植模式优化研究。目前已有的作物模型已具备较高的真实性,因此可以基于间作作物模型来对间作种类比例和间作间距进行选择。之后,便需要使用相应的方法来对该解决该问题。此时便需要智能优化算法。

自然界中的生物通过种群的逐代进化,来针对生存环境进行优胜劣汰。人们便通过对这种生物行为特性从不同角度进行研究,加以模拟生物进化的过程,建立计算模型,并与实际优化问题相结合,由此产生的模拟生物自然进化过程的随机优化算法称为进化算法。

其中粒子群优化算法来自于对鸟群觅食的观察模拟。把鸟群中的食物作为应用的优化问题的可行解,利用群体中每个个体之间的信息共享和协作来引导整个群体朝着可能解方向移动。在粒子群优化算法中,把鸟群抽象为粒子,每个粒子之间的协同工作使得每个粒子移动方向都会收到群体最优和自身最优的影响。因此粒子群优化算法整体流程简洁明了,且算法简单、收敛速度快和易于编程实现。但其本身也存在一定的问题,比如当“粒子”寻找到一处食物之后,就有可能导致所有粒子都在这处食物附近停留,陷入了局部最优值,而导致优化结果未达到最优。本发明中的算法与下述两种优化算法有关,首先是带有惯性权重的粒子群优化算法,它引入惯性权重参数。惯性权重参数是用来平衡粒子群优化算法的全局搜索与局部搜索能力。当惯性权重取值较大时,全局搜索能力强,较小时,局部搜索能力强,所以该算法的惯性权重通常是线性递减的,因此该算法对解空间的探索能力好。其次是带收缩因子的粒子群优化算法,它引入了收缩因子。压缩因子是用来对粒子群算法的整体速度进行压缩,从而提升收敛速度。但是以上两种算法都容易陷入局部最优值。

发明内容

本发明的目的是解决间作作物的种植模式优化问题,通过使用改进型混合粒子群算法来对该问题进行优化。通过对间作作物种植模式问题进行研究,得到相对应的控制变量及结果。再将得到的变量和结果与提出的混合粒子群算法进行结合应用,以此来对种植模式问题进行优化研究。其中改进型混合粒子群算法结合了两种经典粒子群改进优化算法的优点,即带惯性参数的标准粒子群优化算法和带收缩因子的粒子群优化算法,并在此基础上,引入多级扰动机制:在更新粒子位置时,引入一级扰动,使粒子对解空间的遍历能力得到加强;若在优化过程中陷入局部最优的情况,则引入二级扰动,使得优化过程继续,从而摆脱局部最优值。同时,基于此算法,讲间作作物的种植模式优化问题中种植比例及间作间距与粒子进行结合,来进行优化研究。

本发明解决间作作物的种植模式优化问题所采用的技术方案是:

一种基于改进型混合粒子群算法的间作作物种植模式优化方法,所述方法包括以下步骤:

1)记优化间作模型中间距的粒子种群大小为n,解空间维数为3,a作物种内间距,b作物种内间距,ab作物种间间距,种群中每个粒子的位置为xi(i=1,2,3),每个粒子的适应度值为f(xi)(i=1,2,3),第k代中第i个粒子的位置为xik,粒子的速度为vik,第i个粒子得到的最优适应度值的位置为pik(i=1,2,3),所有粒子中得到最优适应度值的位置为pgk;之后首先设定此次间作作物的作物种植比例,之后进行时间切换点范围的优化,接着再使用之前得到的最优时间切换点范围作为算法的时间切换点之后对间作模型的间距问题进行优化;

2)基于改进型混合粒子群优化算法对间作作物的种植模式进行优化运算,其中的时间切换范围为之前得到的最优切换范围,之后将间作作物的单位面积光截获量作为优化的适应度值,使用改进型混合粒子群优化算法进行优化。之后,当迭代过程进行到切换时间范围时,开始准备切换算法,若把算法总体优化迭代深度的进展归一化为[0,1]之间,0表示开始,1表示结束,当时间点到达rsa之时,判断当前最优值第一次出现的迭代深度来决定到底是在[rsa,rst]中的哪个时刻进行算法切换;

3)改变种植模式,再次使用之前的流程,通过比较不同种植模式下的最优单位面积光截获量来得到间作作物的最优种植模式,即种植比例及种植间距。

进一步,所述步骤1)的优化流程如下:

步骤1.1:初始化粒子群中所有参数;

步骤1.2:初始化一级粒子群算法中的粒子;

步骤1.3:更新一级粒子的时间切换点范围;

步骤1.4:初始化二级粒子群算法中的粒子;

步骤1.5:更新二级粒子的位置和速度;

步骤1.6:更新二级粒子的适应度值;

步骤1.7:判断是否满足二级算法结束条件,若满足,则到步骤1.8;若不满足则回到步骤1.5;

步骤1.8:更新一级算法的适应度值;

步骤1.9:判断是否满足一级算法结束条件,若满足,则结束算法;若不满足,则回到步骤1.3。

再进一步,所述步骤2)的优化流程如下:

步骤2.1:初始化粒子群中所有粒子的间距信息和速度;

步骤2.2:计算每个粒子的适应度值(间作作物单位面积光截获量);

步骤2.3:对于每个粒子,将其此次优化得到的适应度值与其自身经历过的历史最优适应度值pik进行比较,若优于pik则更新该粒子的历史最优位置;

步骤2.4:当所有粒子都更新粒子历史最优速度pik之后,将每个粒子的适应度值与整个群体的最优值pgk进行比较,若优于pgk的适应度值,则对pgk进行更新;

步骤2.5:根据当前迭代深度判断使用何种公式对所有粒子更新速度以及间距信息;

步骤2.6:更新适应度值;

步骤2.7:根据下述概率公式判断是否引入一级扰动,若引入扰动,则到步骤2.8;若不引入,则到步骤2.9;

步骤2.8:引入一级扰动后再次更新适应度值,若新的适应度值优于原适应度值,则保留扰动,否则删除扰动;

步骤2.9:判断当前收敛状况是否满足提早收敛的条件,若满足,则引入二级扰动,并回到步骤2.5,若不满足,则判断是否满足终止条件,若满足则结束算法,若不满足则回到步骤2.3。

再进一步,改进型混合粒子群算法是带惯性权重的粒子群优化算法和带压缩因子的粒子群优化算法;同时结合的顺序为先使用带惯性权重的粒子群优化算法,之后使用带压缩因子的粒子群优化算法。

改进型混合粒子群算法中引入多级扰动设计,

一级扰动:在粒子群算法中每个粒子更新位置时,会通过一定概率引入一级扰动,通过扰动来对粒子位置进行一定变异,来加强对于解空间的探索能力,概率会随着优化过程进行不断降低,最终接近于0;

二级扰动:当粒子在一断时间内位置未发生变化,或是变化过小,则引入二级扰动来为粒子添加一个摆脱当前极值的动力,若动力过小,则会再次引入二级扰动来增加动力,直到摆脱当前极值或引入次数达到了限定值。

由于每次的优化存在着一定的随机性,因此将切换时间点变为在选定的时间区域中,通过当前最优值出现的前后时间点,来决定切换时间点在切换时间范围中的具体位置。

本发明提出了一种该算法的间作作物种植模式优化方法。本发明提出的优化方法分为三部分,第一部分为对间作作物种植模式的优化方法研究。第二部分为改进型混合粒子群优化算法,该算法结合了标准粒子群优化算法和带惯性因子的粒子群优化算法,其保留了算法对于解空间的探索和发掘能力,同时引入了概率多级扰动来针对算法易于陷入局部最优值的问题。第三部分为对于混合算法中不同算法切换的时间点的选择,本发明通过调用自身优化算法来对切换时间范围进行优化,从而得出最优的时间切换点范围,之后再应用得到的最优时间切换点范围对问题进行优化。

需要能够对问题进行优化的优化算法,因此提出了一种改进型混合粒子群优化算法。首先需要对算法进行改进,混合粒子群算法的主体为粒子群算法,因此需要对其本身的缺点,容易陷入局部最优值,而导致最终的优化结果不准确的问题,来进行相对应的改进。因此在算法模型中引入了多级扰动机制,在粒子每次更新位置之后,都有一定概率引入一级扰动来使得粒子的位置有一定的变异,以此来加强算法对于解空间的探索能力。之后,若算法陷入了局部最优(例如粒子位置连续10次未发生变化),便通过二级扰动来使得算法摆脱局部最优值的束缚,能够去寻找其他最优值。

由于不同的改进粒子群优化算法具有不同的优点,因此算法切换时间点决定了不同算法的运行时间。因此需要选择适合所要优化的问题的切换时间点。因此选择使用本发明提出的算法来优化算法切换时间点。把算法切换时间点作为所要优化的问题,以要应用的问题结果作为适应度值函数,以此来优化得到时间切换点结果。由于结果是有几率存在一定误差的,因此便将得到优化结果作为算法切换时间范围的中心,将其变为一个切换时间点的范围。在优化算法运行到该范围时,开始计算当前优化过程中的时间切换点在该范围的何处。通过将在到达切换时间范围前的当前最优值出现的时刻占到达切换时间范围前的时刻的比重来映射到时间切换点范围中,得到当前过程的优化算法切换时间点。

需要考虑如何基于该算法来对间作作物的种植模式进行优化研究。首先对要优化的目标进行分析,种植模式需要考虑的变量主要为间作作物的种植比例以及种植间距,因此可以考虑在特定种植比例下的最优种植间距优化问题。其中优化流程分为两次,第一次为针对时间切换范围做优化,优化出最优时间切换范围后,将其作为第二次优化的时间切换范围来对种植模式进行优化。第二次优化先设定此次种植的种植比例,之后将种植间距作为粒子群算法中粒子的“位置”,然后将种植后的单位面积光截获量作为适应度值,最后通过使用改进型混合粒子群算法对粒子进行更迭更新,以此来获得在该种植模式下的最优种植间距。

本发明的有益效果为:

1)提出了一种基于改进型混合粒子群算法的间作作物种植模式优化方法。

2)提出了一种改进型混合粒子群算法来对间作作物种植模式进行优化,通过混合两种不同的改进算法,平衡了算法的局部探索能力及收敛能力;通过多级扰动,可避免优化过程陷入局部最优值。

附图说明

图1是基于改进型混合粒子群算法的间作作物种植模式优化流程图。

图2是mpso混合型粒子群优化算法整体流程图。

图3是一级扰动刺激流程图。

具体实施方式

下面结合附图对本发明做进一步说明。

参照图1~图3,一种基于改进型混合粒子群算法的间作作物种植模式优化方法,首先从候选不同种植比例中任选选一种种植模式,并记优化间作模型中间距的粒子种群大小为n,解空间维数为3(以两种作物的间作模型为例,有a作物种内间距,b作物种内间距,ab作物种间间距),种群中每个粒子的位置为xi(i=1,2,3),每个粒子的适应度值为f(xi)(i=1,2,3),第k代中第i个粒子的位置为xik,粒子的速度为vik,第i个粒子得到的最优适应度值的位置为pik(i=1,2,3),所有粒子中得到最优适应度值的位置为pgk。之后首先设定此次间作作物的作物种植比例,之后使用本发明提出的算法进行时间切换点范围的优化,接着再使用之前得到的最优时间切换点范围作为算法的时间切换点之后对间作模型的间距问题进行优化。结合附图1,本方法实现基于改进型混合粒子群优化算法的间作作物种植模式的优化过程的具体实施方式如下:

1)首先将最佳切换时间范围作为一个优化问题。因此,将算法中的切换时间点作为优化目标,通过使用提出的混合型粒子群优化算法来获取最优切换时间范围。由于优化算法中还会涉及探索期切换,为简化起见,将前一次探索到最优解的时间作为当前优化过程中探索期结束的时间。由于切换点的选择不能够每次都相同,所以将最优的时间点附近的范围作为切换算法进行的时间范围,假设我们所获得的切换时间范围为[rsa,rst],rsa为归一化整体迭代过程中切换时间区间的开始,rst为切换时间区间的结束;优化切换时间范围的具体优化流程如下(具体算法优化流程如图2所示):

步骤1.1:初始化粒子群中所有参数;

步骤1.2:初始化一级粒子群算法中的粒子;

步骤1.3:更新一级粒子的时间切换点范围;

步骤1.4:初始化二级粒子群算法中的粒子;

步骤1.5:更新二级粒子的位置和速度;

步骤1.6:更新二级粒子的适应度值;

步骤1.7:判断是否满足二级算法结束条件,若满足,则到步骤1.8;若不满足则回到步骤1.5;

步骤1.8:更新一级算法的适应度值;

步骤1.9:判断是否满足一级算法结束条件,若满足,则结束算法;若不满足,则回到步骤1.3。

2)基于改进型混合粒子群优化算法对间作作物的种植模式进行优化运算,其中的时间切换范围为之前得到的最优切换范围,之后将间作作物的单位面积光截获量作为优化的适应度值,使用改进型混合粒子群优化算法进行优化。算法中速度更新公式有两个,这也是本发明提出的改进型混合粒子群优化算法的改进之一。首先运行的速度更新公式为:

其中c1、c2为学习因子,值是固定的,为2,ω值实时变化的,变化公式为:

其中tc是指当前优化的代数,tm是指最大优化次数。

首先使用的这个速度更新公式是标准粒子群优化算法的更新公式,它对于解空间的遍历能力较好,所以首先使用此公式来探索解空间。

之后,当迭代过程进行到切换时间范围时,开始准备切换算法,若把算法总体优化迭代深度的进展归一化为[0,1]之间,0表示开始,1表示结束,当时间点到达rsa之时,判断当前最优值第一次出现的迭代深度来决定到底是在[rsa,rst]中的哪个时刻进行算法切换。计算算法切换的时间点t的公式如下:

其中tf为当前最优值第一次出现时的迭代深度。

切换后的新的更新公式如下:

其中值为0.729,c1=c2=2.05。

此速度更新公式为带有压缩因子的粒子群优化算法更新公式,它具有快速收敛的特点,所以我们在探索了一定的解空间后,使用此公式进行快速收敛。粒子群优化算法的基本流程如图1所示,mpso算法具体优化流程如下:

步骤2.1:初始化粒子群中所有粒子的间距信息和速度。

步骤2.2:计算每个粒子的适应度值(间作作物单位面积光截获量)。

步骤2.3:对于每个粒子,将其此次优化得到的适应度值与其自身经历过的历史最优适应度值pik进行比较,若优于pik则更新该粒子的历史最优位置。

步骤2.4:当所有粒子都更新粒子历史最优速度pik之后,将每个粒子的适应度值与整个群体的最优值pgk进行比较,若优于pgk的适应度值,则对pgk进行更新。

步骤2.5:根据当前迭代深度判断使用何种公式对所有粒子更新速度以及间距信息。

步骤2.6:更新适应度值。

步骤2.7:根据下述概率公式判断是否引入一级扰动,若引入扰动,则到步骤2.8;若不引入,则到步骤2.9。

步骤2.8:引入一级扰动后再次更新适应度值,若新的适应度值优于原适应度值,则保留扰动,否则删除扰动。

步骤2.9:判断当前收敛状况是否满足提早收敛的条件,若满足,则引入二级扰动,并回到步骤2.5,若不满足,则判断是否满足终止条件,若满足则结束算法,若不满足则回到步骤2.3。

判断是否引入一级扰动的概率ε公式为:

一级扰动刺激(如图2所示)为相对于更新获得的位置来说是“额外”的附加距离,这是在每次更新间距后都有一定几率引入的。目的是为了增加粒子对解空间的遍历性,同时加强对于局部最优值的摆脱能力。除此之外,还有二级扰动刺激,这是在粒子已经陷入局部最优值的情况下(保持相同种植间距10次),为了摆脱而引入的。为了防止在优化结束时,粒子仍未收敛,二级扰动刺激采用了概率引入的方式,在前期引入概率高,后期引入概率接近于0。

一级引入的扰动公式为:

其中r0为[-2,2]之间的随机数。r1、r2、r3为[0,1]的随机数,ga为标准高斯随机数(μ=0,σ=1,在[-3,3]的概率为99.8%),reset为在当前解空间随机重置当前粒子位置。

之后再次进行判定是否仍需要二级扰动,如需要,则使用如下公式对粒子位置进行更新:

其中ra为[-2,2]之间的一个随机数。

在优化算法中,有几率会出现结果超出阈值范围的情况,此时我们便将超出阈值的粒子重置在阈值边界附近。此方法称之为弱反射墙。假设当前问题限制的粒子阈值范围为[-α,α],那么弱反射墙的具体公式如下所示。

其中r4为[0,1]之间的随机数。

3)之后改变种植模式,再次使用1)2)流程,通过比较不同种植模式下的最优单位面积光截获量来得到间作作物的最优种植模式,即种植比例及种植间距。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1