兼顾田间转移与作业规划的农机调度优化方法和系统

文档序号:26009708发布日期:2021-07-23 21:29阅读:146来源:国知局
兼顾田间转移与作业规划的农机调度优化方法和系统

本发明属于精准农业的技术领域,具体涉及一种兼顾田间转移与作业规划的农机调度优化方法和系统。



背景技术:

我国传统的农机作业存在组织效率低、劳动生产率不高等问题,造成了许多资源的浪费。农机作业时效性强,特别是在农忙时节,要求农机在规定时间内完成作业任务,以确保粮食归仓和及时播种,提高农机作业效率已经成为了我国农业生产的首要问题。随着3s技术与农机自动驾驶技术的加速发展,智能农机可通过互联网与云平台进行实时通讯,将农机的实时位置、速度、作业等信息上传至云端,为农机的精准调度提供了数据参考与技术支撑。由于进行每种作业的农机具各不相同,这就要求在有限的作业期限内做出科学的调度决策,在保证作业任务及时完成的前提下,实现作业成本最小化。农机调度可类比经典的车间调度问题,即m台能执行不同作业任务的农机在n块农田上进行特定作业,规定每块农田特定的作业任务及顺序、每块农田作业参数及每台农机的参数,安排每台处于不同位置的农机在不同田块的作业任务和作业顺序,使整个农场的生产作业耗时达到最短。与车间调度问题不同的是,该调度问题还应考虑从农机当前位置到目标田块的转移路线,以及农机在作业田块中组合作业规划。因此,亟需一种能够将上述两环节综合考虑进行优化的方法。



技术实现要素:

本发明的主要目的在于克服现有技术的缺点与不足,本发明旨在对农机作业过程中多任务多农机的调度配置存在缺点与不足的问题,特别针对同一块农田中多种任务连续作业的问题,如需连续进行耕整、播种和施肥等作业,综合考虑调度损耗与作业损耗,通过采集的任务与农机的作业参数,建立农机调度模型,以作业时间最短为优化目标,通过使用改进的多父辈遗传算法进行农机作业任务序列规划,从而提供了一种兼顾田间转移与作业规划的农机调度优化方法和系统,以满足多机多任务的实际作业调度需求。

为了达到上述目的,本发明采用以下技术方案:

本发明公开了一种兼顾田间转移与作业规划的农机调度优化方法,包括下述步骤:

s1、设置作业农机及作业任务参数;

s2、基于作业农田序号进行染色体编码,生成基于作业方案的初始染色体种群;

s3、计算各染色体的适应度,其适应度值为该染色体的总作业时间的倒数,所述总作业时间包括田间转移时间、作业准备时间和田间作业时间;

s4、将初始染色体种群划分成优秀和良好两个种群,在两个种群中随机选择父辈染色体,同时挑选出最优染色体,所述最优染色体即为当前最优解;

s5、累计最优解未进化的迭代次数,采用该迭代次数进行染色体变异概率调整,并对满足条件的父辈染色体进行变异操作;

s6、对挑选出的染色体进行多父辈pox交叉,产生两个后代;

s7、返回至s2进行迭代进化,判断是否满足算法结束条件,若满足终止条件,则算法终止,输出最优结果。

作为优选的技术方案,步骤s1具体为:

s1.1、农田集合f={f1,f2,…,fm},以fi代表第i块农田,其属性描述为:fi={locfi,sfi},其中locfi和sfi分别表示农田fi入口的位置和面积;

s1.2、农机集合m={m1,m2,…,mr},以mj代表第j台农机,其属性描述为:mj={locmj,rsj,wsj,readytj},其中,locmj表示农机mj的当前位置,rsj表示农机mj地块转移过程中的平均行驶速度,wsj表示农机mj的平均作业速度,readytj表示农机作业前准备时间;

s1.3、农机类型集合mt={mt1,mt2,…,mtn},以mtk代表第k种类型农机,表示为mtk={mk1,mk2,…,mka},a为第k种类型的农机总数,且有mt1∪mt2∪...∪mtn=m;

s1.4、作业任务序列的集合task={task1,task2,…,taskm},taski代表农田fi的作业序列,并表示为taski={taski1,taski2,…,taskin},taskik代表在农田fi上进行第k种作业,且对应作业的农机类型为mtk,k=1,2,…,n。

作为优选的技术方案,步骤s2中,基于作业农田序号进行染色体编码具体为:

对于m块农田有r种作业任务情况下的作业调度问题,每条染色体的基因数量为个,ni表示农田fi的任务个数,使用农田的编号进行编码,农田编号在染色体中出现的频次代表农田作业任务号,第x次出现的作业序号代表该农田的第x道作业任务;

设定好编码规则后,设置种群规模数populationnumber和迭代终止次数iteration,初始化种群。

作为优选的技术方案,步骤s3中,计算各染色体的适应度具体为:

以作业时间最小为优化目标,则遗传算法的适应度函数为:

f=1/t①

式中f——染色体适应度

式中t——任务总时间

——第i块农田的作业总时间

式中tik——农机群mtk在农田fi的总消耗时间

zik——农机群mtk是否在田块fi进行作业

tik=transtik+readytik+worktik④

式中transtik——农机群mtk到农田fi的转移时间

readytik——农机群mtk在农田fi作业前的准备时间

worktik——农机群mtk在农田fi的作业总时间

transtik=max(transti1×zi1,transti2×zi2,...,transtir×zir)⑤

式中——农田fi的面积大小

dij——农机mj到农田fi的距离

ek——第k种类型农机的工作效率,即每小时的作业面积

依据据公式①~⑦对每个染色体的适应度f进行计算。

作为优选的技术方案,步骤s4中,挑选出最优染色体的方法为:

按适应度值将种群划分成优秀和良好两个种群,其中优秀种群占总群体规模的1/3,良好种群占2/3,从优秀种群里随机选取个体parent1,从良好种群随机选取个体parent2和parent3。

作为优选的技术方案,步骤s5具体为:

设计可调整的变异概率,当在进行多次迭代之后,种群中最优染色体的适应度没有发生变化,则调整变异概率,若发生进化,将截止当前未进化的代数index置为0并重新开始累积,调整的变异概率用函数表示为:

pm=pm0+index/iteration⑧

式中pm——当前变异概率

pm0——初始变异概率

index——截止当前未进化的代数。

作为优选的技术方案,步骤s6具体为:

采用多父辈pox交叉方式,用parent1分别与parent2和parent3进行交叉,产生后代child1和child2。

作为优选的技术方案,步骤s7中,迭代进化具体为:

判断是否满足算法结束条件,若不满足,则返回至第三步继续迭代;若满足终止条件,则算法终止,输出最优结果,并将最优结果进行解码,对于任意序列mtk的解码可描述如下:考虑农机数量充足的情况,对于处于不同位置的农机,当选择农机集群mtk去同一目标农田fi进行作业任务tk时,以基于最短路径的贪婪算法进行选择作业的农机台数,具体过程为:

(1)在农机集合m中筛选农机类型为k的农机集合mtk,分别计算农机mki到农田fi之间距离,并按增序进行排列;

(2)以农田fi的面积sfi为调度约束,依据公式③~⑦选择可作业农机,而判断某台的农机能否加入该农田作业的准则是:若该农机的运输时间大于当前已加入的集群作业的农机完成农田任务总时间,则当前农机不参与该地块的作业。

本发明还提供了一种兼顾田间转移与作业规划的农机调度优化系统,应用于所述的兼顾田间转移与作业规划的农机调度优化方法,包括作业参数设置模块、算法参数设置模块、算法执行模块、结果输出模块、结果可视化模块以及作业结果分析模块,

所述作业参数设置模块,用于农田参数、作业参数、可作业农机参数的设置;

所述算法参数设置模块,用于算法的迭代次数、变异参数的设置;

所述算法执行模块,用于算法的执行主体;

所述结果输出模块,用于输出算法的运行结果;

所述结果可视化模块,用于生成可视化作业分布图;

所述作业结果分析模块,用于实现在农机作业完成之后对作业情况的统计和分析。

作为优选的技术方案,还包括农机调度优化系统数据库,所述农机调度优化系统数据库用来保存农田、农机、作业任务、作业执行涉及的各类信息与数据。

本发明与现有技术相比,具有如下优点和有益效果:

与现有技术相比,本发明综合考虑了农机调度实际工作过程,如在田间转移的以及作业分配的问题,现有的技术通常将两个问题单独来进行求解,如使用蚁群算法求解田间转移问题,使用遗传、禁忌搜索算法等求解农机作业分配问题,本发明使用改进蚁群算法对上述两个问题进行综合处理和分析,从而更贴合实际作业过程。

本发明的兼顾农机田间转移与作业规划的农机调度优化方法,可以较好地解决上述农机调度优化问题;计算过程简单,容易实现。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1是本发明实施例兼顾田间转移与作业规划的农机调度优化方法的流程图;

图2是本发明实施例某算例结果的甘特图;

图3是本发明实施例某算例改进遗传算法与标准遗传算法的对比图;

图4是本发明实施例兼顾田间转移与作业规划的农机调度优化系统的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

实施例

如图1所示,本实施例兼顾农机田间转移与作业规划的农机调度优化方法,包括下述步骤:

s1、设置作业农机及作业任务参数,其具体如下:

s1.1、农田集合f={f1,f2,…,fm},以fi代表第i块农田,其属性描述为:fi={locfi,sfi},其中locfi和sfi分别表示农田fi入口的位置和面积;

s1.2、农机集合m={m1,m2,…,mr},以mj代表第j台农机,其属性描述为:mj={locmj,rsj,wsj,readytj},其中,locmj表示农机mj的当前位置,rsj表示农机mj地块转移过程中的平均行驶速度,wsj表示农机mj的平均作业速度,readytj表示农机作业前准备时间;

s1.3、农机类型集合mt={mt1,mt2,…,mtn},以mtk代表第k种类型农机,表示为mtk={mk1,mk2,…,mka},a为第k种类型的农机总数,且有mt1∪mt2∪...∪mtn=m;

s1.4、作业任务序列的集合task={task1,task2,…,taskm},taski代表农田fi的作业序列,并表示为taski={taski1,taski2,…,taskin},taskik代表在农田fi上进行第k种作业,且对应作业的农机类型为mtk,k=1,2,…,n。

s2、基于作业农田序号进行染色体编码,生成基于作业方案的初始染色体种群。

进一步的,进行染色体编码的具体步骤为:

s2.1、对于m块农田有r种作业任务情况下的作业调度问题,每条染色体的基因数量为个(ni表示农田fi的任务个数),使用农田的编号进行编码,农田编号在染色体中出现的频次代表农田作业任务号,第x次出现的作业序号代表该农田的第x道作业任务。

在本申请的一个实施例中,如一个2×2的调度问题,农田集合f={f1,f2},对应的任务集合task={(1,2),(2,3)},农机集合为mt={mt1,mt2,mt3},则随机分布的编码共有6种类型,如[1212]或[1122]等;其中task中的1代表平地作业,使用农机群mt1进行作业,同理,2和3代表播种作业使用mt2进行作业和施肥使用mt3进行作业,当染色体编号为[1212]时,表示的农田作业次序为f1-f2-f1-f2,则农机调度流程为mt1-mt2-mt2-mt3。

s2.2、设定好编码规则后,设置种群规模数populationnumber和迭代终止次数iteration,初始化种群。

s3、计算各染色体的适应度,其适应度值为该染色体的总作业时间的倒数,所述总作业时间包括田间转移时间、作业准备时间和田间作业时间,具体为:

以作业时间最小为优化目标,则遗传算法的适应度函数为:

f=1/t①

式中f——染色体适应度

式中t——任务总时间

——第i块农田的作业总时间

式中tik——农机群mtk在农田fi的总消耗时间

zik——农机群mtk是否在田块fi进行作业

tik=transtik+readytik+worktik④

式中transtik——农机群mtk到农田fi的转移时间

readytik——农机群mtk在农田fi作业前的准备时间

worktik——农机群mtk在农田fi的作业总时间

transtik=max(transti1×zi1,transti2×zi2,...,transtir×zir)⑤

式中——农田fi的面积大小

dij——农机mj到农田fi的距离

ek——第k种类型农机的工作效率,即每小时的作业面积

依据据公式①~⑦可对每个染色体的适应度f进行计算。

s4、将初始染色体种群划分成优秀和良好两个种群,在两个种群中随机选择父辈染色体,同时挑选出最优染色体,所述最优染色体即为当前最优解。

进一步的,按适应度值将种群划分成优秀和良好两个种群,其中优秀种群占总群体规模的1/3,良好种群占2/3,从优秀种群里随机选取个体parent1,从良好种群随机选取个体parent2和parent3。

具体的,按个体适应度值从大到小将种群个体排序,将适应度值前1/3的划分成优秀种群,后2/3的划分为良好种群。

更进一步的,考虑到计算复杂度与种群多样性的保持,本实施例设置种群规模数populationnumber和迭代终止次数均设置为300,这是基于经验数据的设置,同时利于选择步骤中优良种群的划分。

s5、累计最优解未进化的迭代次数,采用该迭代次数进行染色体变异概率调整,并对满足条件的父辈染色体进行变异操作;

进一步的,设计可调整的变异概率,当在进行多次迭代之后,种群中最优染色体的适应度没有发生变化,则调整变异概率,若发生进化,将截止当前未进化的代数index置为0并重新开始累积,调整的变异概率用函数表示为:

pm=pm0+index/iteration⑧

式中pm——当前变异概率

pm0——初始变异概率

index——截止当前未进化的代数。

在本申请的另一个实施例中,其中pm0的初始值设为0.05,则pm的范围为[0.05,0.08]。

s6、对挑选出的染色体进行多父辈pox交叉,产生两个后代。

进一步的,采用多父辈pox交叉方式,用parent1分别于parent2和parent3进行交叉,产生后代child1和child2;

s7、返回至s2进行迭代进化,判断是否满足算法结束条件,若满足终止条件,则算法终止,输出最优结果。

进一步的,步骤s7具体为:

判断是否满足算法结束条件,若不满足,则返回至第三步继续迭代;若满足终止条件,则算法终止,输出最优结果。并将最优结果进行解码。对于任意序列mtk的解码可描述如下:考虑农机数量充足的情况,对于处于不同位置的农机,当选择农机集群mtk去同一目标农田fi进行作业任务tk时,本实施例以基于最短路径的贪婪算法进行选择作业的农机台数,具体过程为:

(1)在农机集合m中筛选农机类型为k的农机集合mtk,分别计算农机mki到农田fi之间距离,并按增序进行排列;

(2)以农田fi的面积sfi为调度约束,依据公式③~⑦选择可作业农机,而判断某台的农机能否加入该农田作业的准则是:若该农机的运输时间大于当前已加入的集群作业的农机完成农田任务总时间,则当前农机不参与该地块的作业。

更进一步的,本实施例设置的终止条件为达到300的迭代次数或者连续100次未进行进化,在实际运用中,可以根据情况进行参数的调整。

更进一步的,本步骤中的解码是步骤s2中编码的逆变换,在一个具体的实施例中以一个2×2的调度问题为例进行说明,具体为:

农田集合f={f1,f2},对应的任务集合task={(1,2),(2,3)},农机集合为mt={mt1,mt2,mt3},其中task中的1代表平地作业,使用农机群mt1进行作业,同理,2和3分别代表播种作业和施肥作业,相应的使用mt2进行作业和使用mt3进行作业,当染色体编号为[1212]时,表示的农田作业次序为f1-f2-f1-f2,则农机调度流程为mt1-mt2-mt2-mt3。在确定农机集群的调度流程后,还需对mtk进行解码。对于任意序列mtk的解码可描述如下:考虑农机数量充足的情况,对于处于不同位置的农机,当选择农机集群mtk去同一目标农田fi进行作业任务tk时,本实施例同样以基于最短路径的贪婪算法进行选择作业的农机台数,具体过程同上。

对上述农田的作业任务,采用改进的遗传算法进行仿真调度实验,选取种群规模为300,进化500代,初始变异概率0.05。每种作业农机只有一台时,选取农田数量为6,此时总作业任务数量为20个,使用改进遗传算法进行运算得出最优调度方案,再通过matlab生成甘特图,如图2所示,当执行每种作业任务的农机数量为多台时,甘特图白色部分代表农机在田块之间的迁移时间与准备时间之和,灰色部分代表了农机在不同农田的作业时间,该调配方案的总完工时间为38.45h。

与常规遗传算法相比,本方法在编码、交叉、变异等方面均作出了改进,在规模化作业问题上,改进的遗传算法。改进遗传算法有两方面优势,其一:收敛性更好,如图3所示,其二,寻优结果更好,具体表现如表1所示:在农田数量为5时,两种算法均能求得最优解;在农田数量为10时,使用改进遗传算法最优解和平均解的质量分别提高3.77%和3.56%;农田数量为15时,最优解和平均解的质量分别提高1.63%和3.76%;农田数量为20时,最优解和平均解的质量分别提高4.46%和3.47%。

表1

应当理解,本申请的各部分可以用软件系统和数据库系统为组合兼顾田间转移与作业规划的农机调度优化系统来实现。如图4所示,该系统的软件系统部分包含如下模块:作业参数设置模块,主要是农田参数、作业参数、可作业农机参数等的设置;算法参数设置模块,主要算法的迭代次数、变异等参数的设置;算法执行模块,为算法的执行主体;结果输出模块,主要输出算法的运行结果;结果可视化模块,主要是生成如图2所示的可视化作业分布图;作业结果分析模块,用来实现在农机作业完成之后对作业情况的统计和分析。该系统的数据库为农机调度优化系统数据库,用来保存农田、农机、作业任务、作业执行等软件系统涉及的各类信息与数据。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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