基于机器学习的智慧工地智能物料调度方法及系统与流程

    专利2022-07-08  122


    本发明属于机器学习技术领域,特别涉及一种基于机器学习的智慧工地智能物料调度方法及系统。



    背景技术:

    在建筑施工过程中,由于存在多个工种以及不同的工序,这就给物料的智能调度带来很多问题。一方面各工种所需要的材料不尽相同,若不能将各种物料适时适量送给各个工种,势必会降低工作效率以及提高企业成本;另一方面,由于存在工序问题,物料的配送时间也势必不同,若不能根据工序合理安排配送时间,也会导致施工效率的下降。

    目前国内有关物料配送的产品技术大都侧重简单、实用,通常只适合在简单工况中应用,很难满足类似工地施工这类复杂工况环境的需求。



    技术实现要素:

    本发明的目的在于提供一种基于机器学习的智慧工地智能物料调度方法及系统,以解决上述工地物料调度的技术问题。

    为了实现上述目的,本发明采用如下技术方案:

    第一发面,本发明提供一种基于机器学习的智慧工地智能物料调度方法,包括:

    采集工地中施工进度和各物料需求状态数据;输入预先训练好的深度强化学习网络,获得物料调度方案。

    本发明进一步的改进在于:还包括可视化输出调度方案的步骤。

    本发明进一步的改进在于:所述可视化指显示器显示或打印。

    本发明进一步的改进在于:还包括,按照调度方案进行相应物料的配送的步骤。

    本发明进一步的改进在于:,所述深度强化学习网络为基于a3c算法的深度强化学习网络;

    基于a3c算法的深度强化学习网络包括:一个全局网络和连接全局网络的n个局部网络;每个局部网络结构和全局网络结构相同,每个局部网络能够独立的和环境进行交互得到经验数据,局部网络之间互不干扰,独立运行。

    本发明进一步的改进在于:局部网络负责与环境交互,局部网络得到的神经网络损失函数的梯度每隔第一设定时间传递给全局网络;n个局部网络能够按照各自的梯度更新全局网络的神经网络模型参数;每隔第二设定时间全局网络将全局网络的网络参数传递给各局部网络,完成各局部网络之间的信息共享。

    本发明进一步的改进在于:每个局部网络接收对应环境输入的物料需求状态和施工进度,输出对应的动作概率和得分值;局部网络得到动作概率的损失梯度和得到得分值的损失梯度由下式所示:

    式中,s为当前状态,a为动作,θ为局部网络动作概率部分的网络参数,θv为局部网络得到得分值部分的网络参数;θ′和θv′为下一时刻动作概率部分和得分值部分的网络参数;(si;θv′)为局部网络的状态值函数,为权重参数,r为奖励值,v为当前动作的价值。

    本发明进一步的改进在于:基于a3c算法的深度强化学习网络的训练方法包括:

    定义深度强化学习网络训练中的奖励函数r(t)为:

    其中,表示第i个工种所需要的物料量,n表示一共有n个工种;sendi表示本次配送给第i个工种的物料量;distancei表示给第i个工种送配料的配送距离;s表示本次一共给多少个工种进行物料配送;α和β分别为权重系数;全局网络不断使用局部网络的损失梯度更新权重,每隔预设的代数全局网络将权重直接赋值给所有的局部网络;

    深度强化学习网络训练中的约束条件包括:

    若某工种在配送物料到达之前物料剩余状态已经清零:

    r(t)=r(t)-x

    由于存在工序,设工序a理应先于工序b,若b先于a被配送:

    r(t)=r(t)-y

    其中,x和y均为一个惩罚值;

    利用训练集对建立的基于a3c算法的深度强化学习网络进行训练,获得基于a3c算法的深度强化学习网络的初始的网络权重参数。

    本发明进一步的改进在于:采集工地中施工进度和各物料需求状态数据;输入预先训练好的深度强化学习网络,获得物料调度方案的具体步骤包括:

    采集由各工种反应回来的施工进度和物料需求状态数据;

    将初始的网络权重参数赋值给基于a3c算法的深度强化学习网络;

    采用粒子群算法对a3c算法动作选择的初始概率进行优化;

    改变工种的物料配送状态,a3c算法的动作为每次改变1个工种的配送状态;

    结合约束获得得分值r(t);每执行一次动作进行一步约束处理;

    对作出的动作进行约束处理后判断已进行的动作是否能满足当下各工种的需求量,若能满足则将迭代次数 1,并跳出此步循环;否则更新网络权重参数以及物料需求状态和施工进度并继续返回改变工种的物料配送状态;

    记录能满足当下各工种的需求量的那组物料配送状态的值以及其相应的累加奖励值;

    若迭代次数小于最大迭代次数,将物料需求状态和施工进度初始化为一开始的状态,并续返回改变工种的物料配送状态;

    若已达到最大迭代次数输出使奖励值最高的那组物料配送状态的值。

    第二方面,本发明还提供一种基于机器学习的智慧工地智能物料调度系统,包括:处理器以及与所述处理器耦合的存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现所述基于机器学习的智慧工地智能物料调度方法的方法步骤。

    相对于现有技术,本发明具有以下有益效果:

    本发明公开了一种基于机器学习的智慧工地智能物料调度方法及系统,以各个工种实时反应的施工进度和物料需求状态作为输入,考虑各工种之间的工序、物料剩余情况(是否急需)、最优配送路径(使物料配送距离尽可能短)因素,来实时安排物料配送,实现智能的物料调度,并利用可视化界面将实时输出的结果进行可视化,以方便企业人员按照显示出的结果进行物料的配送。

    进一步的,利用本发明,不仅能使物料适时、适量的配送到各工种手中,提高施工效率,还能合理安排物料配送的路径,提高物料配送过程中的经济性。能够满足各种工地约束条件下的适时、适量配送。

    附图说明

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

    图1位本发明一种基于机器学习的智慧工地智能物料调度方法的流程框图;

    图2为本发明深度神经网络的架构图;

    图3为本发明深度神经网络的训练流程图;

    图4为本发明一种基于机器学习的智慧工地智能物料调度系统的结构框图。

    具体实施方式

    下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

    以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本申请所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。

    实施例1

    请参阅图1所示,本发明第一方面提供一种基于机器学习的智慧工地智能物料调度方法,具体包括以下步骤:

    s1:采集历史数据,获得训练集;

    所述历史数据包括:历史施工进度和历史各物料需求状态数据;

    其中各种物料的需求状态由各工种根据施工进度提供。施工进度也是分工种的,各工种都有需要完成的工作量。状态变量s定义为物料需求的状态以及施工完成进度。

    s2:建立基于a3c算法的深度强化学习网络

    深度强化学习网络的结构如图2所示,包括:一个全局网络和n个局部网络;其中n取决于运行方法的计算机cpu的数目。每个局部网络结构和全局网络结构相同,每个局部网络独立的和环境进行交互得到经验数据,这些局部网络之间互不干扰,独立运行。每个局部网络都接收物料需求状态和施工进度,并依次输出对应的动作概率和得分值以及得到相应的损失梯度。

    算法中全局网络并不直接与环境进行交互,局部网络负责与环境交互,而局部网络得到的神经网络损失函数的梯度并不更新自己线程里的神经网络,而是每隔一定时间传递给全局网络,即n个局部网络都会按照自己的梯度去更新全局网络的神经网络模型参数。而每隔一段时间全局网络就会将自己的网络参数传递给各局部网络,这就完成各局部网络之间的信息共享工作,该方法能大大加快算法的计算速度。

    局部网络得到动作概率的损失梯度和得到得分值的损失梯度由下式所示:

    式中,s为当前状态,a为动作,θ为局部网络动作概率部分的网络参数,θv为局部网络得到得分值部分的网络参数。θ′和θv′为下一时刻动作概率部分和得分值部分的网络参数。(si;θv′)为局部网络的状态值函数,为权重参数,r为奖励值,v为当前动作的价值。

    s3:采用步骤s1采集的训练集训练s2建立的基于a3c算法的深度强化学习网络:

    定义奖励函数r(t),设置约束条件,基于步骤s1采集的训练集数据对s2建立的基于a3c算法的深度强化学习网络进行训练,通过不断迭代地试错式学习方式训练深度神经网络,当奖励函数稳定收敛状态或者达到最大迭代次数,结束训练过程并保存全局神经网络持久化模型。

    a、深度神经网络训练中的奖励函数r(t)为:

    其中,表示第i个工种所需要的物料量,n表示一共有n个工种。sendi表示本次配送给第i个工种的物料量。distancei表示给第i个工种送配料的配送距离。s表示本次一共给多少个工种进行物料配送。α和β(α和β取0到1之间的数)分别为权重系数,可由企业根据自身情况而相应调整其大小。全局网络和局部网络都会输出奖励值,奖励值是评价网络权重的一个标准,奖励值越高说明权重数据越好。全局网络是不断在使用局部网络的损失梯度在更新权重,每隔一定的代数全局网络会将权重直接赋值给所有的局部网络,局部网络之间就是通过这个机制来交流信息的。

    深度神经网络训练中的约束条件包括:

    b、若某工种在配送物料到达之前物料剩余状态已经清零:

    r(t)=r(t)-x

    其中,有几个工种满足这个情况就减几次;

    由于存在工序,设工序a理应先于工序b,若b先于a被配送:

    r(t)=r(t)-y

    其中,违反几次减几次;x和y均为一个惩罚值,违背约束就会降低奖励的值,x和y的大小可分别有企业根据自身情况设定,r(t)的第一部分是一个平方项,该项是大于等于0的,即只有配送物料等于需求物料使该项才等于0,否则该项都是大于0的,而该项大于0会使得到的奖励变差。

    利用步骤s1的训练集对s2建立的基于a3c算法的深度强化学习网络进行训练,获得基于a3c算法的深度强化学习网络的初始的网络权重参数。

    为进一步加强本发明的实时性,即加快本发明的计算速度,引入粒子群算法来帮助a3c算法加快计算速度。粒子群算法受鸟群觅食启发而来,其通过让粒子不断向自身历史最优位置学习以及所有粒子的最优位置学习来不断迭代寻优。pso粒子的位置更新方式如下式所示:

    本发明中,设置每个粒子的维度为工种数,粒子各维度均为0,1变量(0即为不配送,1为配送),个体的位置由这些维度的值组成。算法的目标函数设置为与a3c算法的奖励函数一致,奖励值越高说明粒子的位置越好。其中,粒子速度的范围设置为(-0.4,0.4),为个体i的位置,为个体i在t代的位置,为i粒子的历史最优位置,为所有个体的最优位置;为个体i在t代的速度。本发明中设为0.5,为1,rand1和rand2均为0到1之间的随机数。迭代过程中,若得到粒子的位置某维度大于等于0.5,则令其等于1,否则就令其等于0。粒子将按照上述式子不断更新位置,直到迭代到最大次数后,再输出所有个体的最佳位置。本发明设置粒子群算法的种群规模为150,最大迭代次数设置为500代。

    根据上述粒子群算法输出的结果,按照其输出的那个个体最佳位置物料配送状态改变输出的动作概率值。假设粒子群输出的最佳位置为(10101),则就在执行第一次动作时增加选择第一个工种物料配送的概率,第二次动作时增加选择第三个工种的物料配送概率,第三次动作时增加选择第五个工种的物料配送概率。本发明定增加概率为30%,由于强化学习在初始动作选择时概率是完全随机的,而增加粒子群算法输出结果的这一引导作用,势必给初始状态的强化学习动作选择提供更明确的方向,这就能帮助算法进一步提升计算速度。

    s4、实时采集工地中施工进度和各物料需求状态数据;输入步骤s3训练好的深度神经网络,获得物料调度方案,并输出调度方案报告;按照调度方案报告进行相应物料的配送。

    请参阅图3所示,步骤s4具体的训练步骤如下:

    s4.1、首先得到由各工种反应回来的施工进度和物料需求状态数据;

    s4.2、将s3使用工地历史数据训练好的的网络权重参数赋值给基于a3c算法的深度强化学习网络。

    s4.3、采用粒子群算法对a3c算法动作选择的初始概率进行优化;

    s4.4、改变工种的物料配送状态(配送为1,不配送为0),假设有n个工种,那么就有n个配送状态可能会做出改变,a3c算法的动作为每次改变1个工种的配送状态(如将第i个工种的物料配送状态由0改成1,即说明要向工种i配送物料。)。

    s4.5、结合约束获得得分值r(t);每执行一次动作就要进行一步约束处理,即违反上述约束就要进行相应的惩罚,降低此步行动的奖励值。

    s4.6、对作出的动作进行约束处理后判断已进行的动作是否能满足当下各工种的需求量,若能满足则将迭代次数 1,并跳出此步循环进入步骤s4.7,否则就更新网络权重参数以及物料需求状态和施工进度并继续返回s4.4。

    s4.7、记录步骤s4.6输出的那组物料配送状态的值(即都有哪个工种的物料配送状态发生改变)以及其相应的累加奖励值。

    s4.8、若迭代次数小于最大迭代次数,就将物料需求状态和施工进度初始化为一开始的状态,并返回步骤s4.4。

    s4.9、若已达到最大迭代次数就输出使奖励值最高的那组物料配送状态的值。

    s4.10、将步骤s4.9的结果可视化。

    在设定算法的循环训练时,只要各工种需求的配送量没有达到要求,就必须继续安排各工种的物料配送改变。若各工种的需求配送量都已完成,即企业制定的总工作量已经完成,那就将物料需求状态和施工进度初始化为最开始的输入状态,让模型上一步训练的基础上再次进行训练,这样就等达到将结果不断向想要达到的智能物料配送结果训练的目的。

    整个学习框架将按照前述步骤的模式进行反复的训练,主要是按照梯度不断更新神经网络的权重参数(局部网络的神经网络参数为间接更新)。所谓间接更新即各局部网络与环境交互获得相应的损失梯度,并将传递给全局网络,全局网络将按照损失梯度更新神经网络的权重参数,并每隔一定代数就将神经网络参数赋值到局部神经网络中,以此达到各局部网络之间信息共享的目的。直到达到设定的最大训练次数时即可输出使得分值最高的那组改变的物料配送状态的值,并将该结果可视化,按照此组值进行配送。

    其中,算法的动作空间定义为整个各工种的物料配送状态,算法的动作a为改变各工种的物料配送状态(即由非配送状态改为配送状态或由配送状态转为非配送状态)。随着配送状态的改变,相应的物料需求状态的相关变量随之改变。

    实施例2

    请参阅图4所示,本发明还提供一种基于机器学习的智慧工地智能物料调度系统,包括:处理器以及与所述处理器耦合的存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现实施例1所述基于机器学习的智慧工地智能物料调度方法的方法步骤。

    本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

    本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

    这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

    这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

    最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。


    技术特征:

    1.基于机器学习的智慧工地智能物料调度方法,其特征在于,包括:

    采集工地中施工进度和各物料需求状态数据;输入预先训练好的深度强化学习网络,获得物料调度方案。

    2.根据权利要求1所述的基于机器学习的智慧工地智能物料调度方法,其特征在于,还包括可视化输出调度方案的步骤。

    3.根据权利要求2所述的基于机器学习的智慧工地智能物料调度方法,其特征在于,所述可视化指显示器显示或打印。

    4.根据权利要求1所述的基于机器学习的智慧工地智能物料调度方法,其特征在于,还包括,按照调度方案进行相应物料的配送的步骤。

    5.根据权利要求1所述的基于机器学习的智慧工地智能物料调度方法,其特征在于,所述深度强化学习网络为基于a3c算法的深度强化学习网络;

    基于a3c算法的深度强化学习网络包括:一个全局网络和连接全局网络的n个局部网络;每个局部网络结构和全局网络结构相同,每个局部网络能够独立的和环境进行交互得到经验数据,局部网络之间互不干扰,独立运行。

    6.根据权利要求5所述的基于机器学习的智慧工地智能物料调度方法,其特征在于,局部网络负责与环境交互,局部网络得到的神经网络损失函数的梯度每隔第一设定时间传递给全局网络;n个局部网络能够按照各自的梯度更新全局网络的神经网络模型参数;每隔第二设定时间全局网络将全局网络的网络参数传递给各局部网络,完成各局部网络之间的信息共享。

    7.根据权利要求5所述的基于机器学习的智慧工地智能物料调度方法,其特征在于,每个局部网络接收对应环境输入的物料需求状态和施工进度,输出对应的动作概率和得分值;局部网络得到动作概率的损失梯度和得到得分值的损失梯度由下式所示:

    式中,s为当前状态,a为动作,θ为局部网络动作概率部分的网络参数,θv为局部网络得到得分值部分的网络参数;θ′和θv′为下一时刻动作概率部分和得分值部分的网络参数;(si;θv′)为局部网络的状态值函数,为权重参数,r为奖励值,v为当前动作的价值。

    8.根据权利要求5所述的基于机器学习的智慧工地智能物料调度方法,其特征在于,基于a3c算法的深度强化学习网络的训练方法包括:

    定义深度强化学习网络训练中的奖励函数r(t)为:

    其中,表示第i个工种所需要的物料量,n表示一共有n个工种;sendi表示本次配送给第i个工种的物料量;distancei表示给第i个工种送配料的配送距离;s表示本次一共给多少个工种进行物料配送;α和β分别为权重系数;全局网络不断使用局部网络的损失梯度更新权重,每隔预设的代数全局网络将权重直接赋值给所有的局部网络;

    深度强化学习网络训练中的约束条件包括:

    若某工种在配送物料到达之前物料剩余状态已经清零:

    r(t)=r(t)-x

    由于存在工序,设工序a理应先于工序b,若b先于a被配送:

    r(t)=r(t)-y

    其中,x和y均为一个惩罚值;

    利用训练集对建立的基于a3c算法的深度强化学习网络进行训练,获得基于a3c算法的深度强化学习网络的初始的网络权重参数。

    9.根据权利要求8所述的基于机器学习的智慧工地智能物料调度方法,其特征在于,采集工地中施工进度和各物料需求状态数据;输入预先训练好的深度强化学习网络,获得物料调度方案的具体步骤包括:

    采集由各工种反应回来的施工进度和物料需求状态数据;

    将初始的网络权重参数赋值给基于a3c算法的深度强化学习网络;

    采用粒子群算法对a3c算法动作选择的初始概率进行优化;

    改变工种的物料配送状态,a3c算法的动作为每次改变1个工种的配送状态;

    结合约束获得得分值r(t);每执行一次动作进行一步约束处理;

    对作出的动作进行约束处理后判断已进行的动作是否能满足当下各工种的需求量,若能满足则将迭代次数 1,并跳出此步循环;否则更新网络权重参数以及物料需求状态和施工进度并继续返回改变工种的物料配送状态;

    记录能满足当下各工种的需求量的那组物料配送状态的值以及其相应的累加奖励值;

    若迭代次数小于最大迭代次数,将物料需求状态和施工进度初始化为一开始的状态,并续返回改变工种的物料配送状态;

    若已达到最大迭代次数输出使奖励值最高的那组物料配送状态的值。

    10.基于机器学习的智慧工地智能物料调度系统,其特征在于,所述系统包括:处理器以及与所述处理器耦合的存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-9任一项所述方法的方法步骤。

    技术总结
    本发明公开一种基于机器学习的智慧工地智能物料调度方法及系统,所述方法包括:采集工地中施工进度和各物料需求状态数据;输入预先训练好的深度强化学习网络,获得物料调度方案。本发明以各个工种实时反应的施工进度和物料需求状态作为输入,考虑各工种之间的工序、物料剩余情况(是否急需)、最优配送路径(使物料配送距离尽可能短)因素,来实时安排物料配送,实现智能的物料调度,并利用可视化界面将实时输出的结果进行可视化,以方便企业人员按照显示出的结果进行物料的配送。

    技术研发人员:杨之乐;赵世豪;郭媛君;冯伟;王尧
    受保护的技术使用者:深圳先进技术研究院
    技术研发日:2020.12.04
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-17911.html

    最新回复(0)