基于离散的人工蜂群进化的自动导向车辆调度方法
文献发布时间:2023-06-19 13:46:35
技术领域
本发明涉及自动导向车辆(AGV)调度技术领域,特别是属于一种基于离散的人工蜂群的进化算法以解决矩阵式制造车间的送料和取货问题的调度方法。
背景技术
随着我国社会经济与科技的不断发展,智能制造业得到了广泛的发展。制造过程中的物料以及成品的运输是制造车间生产过程中必不可少的过程,也是车间作业调度问题的重要组成部分。传统的物料配送方式也正在慢慢的向智能化与自动化趋势发展。根据人口统计数据可以推断出,在未来的一段时间,我国的劳动力人口呈现逐年下降的趋势,进而则会导致雇佣劳动力成本增加,这个成本对企业来说是非常大的。所以如何控制劳动力成本增长及如何节省企业生产成本成为企业及国家有待解决的问题之一。
为了解决劳动力问题,多数车间的配送作业可由自动化设备进行完成。虽然前期购买自动化设备增加了企业资金投入,但对于后期的整个生产效益必然产生积极影响。生产效率的提高,产品质量得到保证,进而在总体上降低生产成本。总之,“机器人代替人”必将成为我国提高企业生产率,降低人口劳动成本的重要举措。
随着智能制造的不断发展,自动导向车辆(AGV)以其高度的灵活性、安全性和利用率成为智能矩阵制造车间的主要运输和取货工具之一。AGV中的自动导向装置能够使AGV按照预定的送料和取货路线完成运输工作。矩阵制造车间的不断扩大和顾客需求的多样化增加,多品种材料、多产品的同时运输变得更加复杂。运输需求给AGV调度系统带来了许多新的挑战。提出合理的AGV调度方法,提高服务效率,降低服务成本,已成为迫切需要解决的问题。AGV调度问题是指在规定的时间内将顾客分配到AGV,确定运输顺序,实现调度目标的过程。本发明的目标旨在减少AGV运输过程的总成本包括:旅行成本、时间成本AGV成本。因此,AGV调度问题是一个NP-hard问题,同时送货和取货的AGV调度问题是一个更加复杂的问题。因此,研究同时送货和取货的AGV调度问题无疑对生产企业改造车间物流结构、降低车间物流成本和提升车间物流效率具有重要意义。
矩阵制造车间被划分为几个区域,每个区域需要不同的生产材料。每个区域都有一些以矩阵形式排列的工作站。每个工作站由几台数控机床和一个材料缓冲器组成。数控机床通过消耗储存在缓冲器中的材料来生产产品。当消耗的物料或产品库存在缓冲器中达到预定值时,工作站将向AGV系统发送信号,提供送货或取货服务。这个工作站叫做顾客工作站。发送信号的时间称为呼叫时间。AGV系统收到信号后,根据顾客的需求和AGV的数量计算出解决方案,AGV开始为顾客服务。从仓库出发的每辆AGV都计算旅行费用。AGV不能晚于顾客要求的时间到达,否则数控机床会关闭。但是,如果提前服务,就会产生时间成本,而时间成本会根据提前服务的程度而不同。服务完成后AGV返回仓库。因此,如何分配AGV和配送序列,使出行成本、时间成本和AGV成本最小化,是评价服务方案的重要标准。
发明内容
本发明的目的即在于提供一种基于离散的人工蜂群进化的自动导向车辆调度方法,以达到提高AGV的运输效率以及节省AGV的运输成本(AGV运输距离成本、AGV成本、提前交付的惩罚成本)的目的。
本发明所提供的基于离散的人工蜂群进化的自动导向车辆调度方法,其特征在于,包括以下步骤:
步骤1:初始参数设置;
设定在一个周期内发出信号的机器(顾客)数量;迭代进化的过程中产生的解决方案的数量PS;一个解决方案中的需要的AGV数量以及设置算法进化的时间、操作算子的迭代次数;
步骤2:解决方案的初始化;
(2.1)构建编码方式;
(2.2)采用一种基于动态的取货和送料方法分配顾客给AGV;
(2.3)采用松弛时间的启发式算法产生1个解决方案;
(2.4)随机产生PS-1个解决方案,构建初始化种群,计算每个解决方案的总成本,找出种群中最小的总成本;最小总成本对应的初始解决方案为当前最佳解决方案;
步骤3:离散的人工蜂群进化;
对当前种群中每个解决方案进行离散的人工蜂群进化,包括以下过程:
(3.1)雇佣蜂阶段:通过邻域操作算子对每个解决方案进行进化;
(3.2)观察蜂阶段:按照中位数轮盘赌概率选择方法从种群中选择多个解决方案,通过邻域操作算子对解决方案进行进化,找出种群中当前最好的解决方案,对最好的解决方案进行局部搜索;
(3.3)侦察蜂阶段:对于质量差的解决方案,使用基于问题的搜索算子进行局部搜索,计算总成本,如果总成本未改变,则使用基于松弛时间的启发式算法重新生成一个新的解决方案;
步骤4:计算当前所有解决方案中的最佳总成本,更新最佳总成本f
进一步的,在步骤2中,按照以下方法编码:将所有机器进行编号,不同AGV的任务之间用0间隔;根据收集到的任务找出距离仓库最近的任务,在满足时间和容量约束的前提下装入AGV,判断距离最近的任务是否满足时间和容量约束,满足,则装入AGV,不满足,则在编码中添加0,重复上述过程,直到呼叫任务全部装入AGV,产生初始可行解,初始化过程结束。
进一步的,按照以下公式计算总成本C
进一步的,在步骤(2.3)中,基于松弛时间的启发式算法,考虑顾客的紧急程度和顾客之间的距离,依次将顾客插入到AGV路线中,直到所有的顾客被分配。
进一步的,在计算总成本的过程中设置以下约束:一个周期内被分配的AGV能够在本周期内及时返回仓库,保证下一个周期的正常运行。
进一步的,在步骤(3.1)中,在雇佣蜂阶段使用四个邻域操作算子对解决方案进行进化,所述的邻域操作算子通过相同AGV交换、相同AGV插入、不同AGV交换和不同AGV插入对每个解决方案进行全局搜索。
进一步的,在步骤(3.2)中,所述的基于问题的搜索算子的搜索方法为选择一个顾客插入到解决方案中的所有位置,并找到最佳解决方案,直到所有顾客都被考虑在内。
进一步的,邻域操作算子的实现方法如下:
相同AGV插入方法如下:从当前最佳解决方案中随机选择一辆AGV的两个位置P和p’,从位置p’中提取任务j,并将其重新插入任务i所在的位置p中,得到一个新的解决方案;
不同AGV插入方法如下:从当前最佳解决方案中随机选取两辆AGV,随机选取每辆AGV中的一个位置,分别为P和p’,将原来的位置p’中提取任务j,并将其重新插入任务i所在的位置P中,得到一个新的解决方案;
相同AGV交换方法如下:从当前最佳解决方案中随机选择一辆AGV,随机选取AGV中的两个位置,分别为P和p’,交换任务i在位置P和任务j在位置p’,得到一个新的解决方案;
不同AGV交换方法如下:从当前最佳解决方案中随机选择两辆AGV,随机选取每辆AGV路径中的一个位置,分别设P和p’,交换任务i在位置P和任务j在位置p’,得到一个新的解决方案。
本发明所提供的基于离散的人工蜂群进化的自动导向车辆调度方法,具有以下积极效果:
(1)本发明引入了一种动态计算的送料和取货的方法和一种离散的人工蜂群算法,提高了AGV的利用率、生产效率,从节约了运输总成本。
(2)本发明克服了算法性能无法充分适应研究问题的缺点,更加容易获得高质量的解决方案。
(3)本发明设计了邻域操作算子、基于问题的搜索算子对算法进行优化。
(4)本发明在离散的人工蜂群算法中设计了中位数轮盘赌概率选择方法和侦察蜂阶段的重新生成策略来提高解决方案的质量以及避免求得的解决方案陷入局部最优。
附图说明
图1为本发明的结构示意图;
图2为本发明应用的矩阵制造车间布局图。
具体实施方式
如图1-2所示,通过本发明的实现过程的具体描述,对本发明的基于离散的人工蜂群进化的自动导向车辆调度方法做进一步的详细说明。
步骤1:初始参数设置;
设定在一个周期内发出信号的机器(顾客)数量,本方法在迭代进化的过程中产生的解决方案的数量为PS=50,一个解决方案中的需要的AGV数量为M,设置算法进化的时间为T=5s,操作算子的迭代次数为Count=30。
步骤2:解决方案的初始化;
(2.1)在本实例中,为了适应问题的特点,采用一种简单的一维序列表示编码方式。顾客按照服务顺序加入AGV,每个AGV序列之间插入0来区分。例如:有11个顾客(s
(2.2)采用一种基于动态的取货和送料方法分配顾客给AGV。为了有效降低AGV的成本,每台AGV须服务尽可能多的顾客。例如:AGV满载通过顾客i,顾客i需要有A重量的材料,考虑动态过程,在服务顾客i后,如果顾客j的要求取货的重量小于A,AGV在满足约束的前提下可以服务j,即顾客j可以加入到AGV路径中。具体地装载计算方法和判断是否满足装载条件的计算公式如下:
w(顾客j需要AGV取的产品重量)可以表示为:
w=n
其中,n
在服务顾客i之前,AGV中装有的产品重量Q
其中,n
如果顾客i发出送料信号,物料重量需满足:
q
其中,Υ表示物品的种类,q
如果顾客i发送取货信号,产品重量需满足:
w+Q
其中,w表示顾客i需要AGV取的产品重量,Q
(2.3)采用松弛时间的启发式算法产生1个解决方案,松弛时间的启发式算法的具体设计如下:
松弛时间=最晚到达时间-呼叫时间
松弛时间在很大程度上反映了顾客的紧迫性,松弛时间越短,优先级越高,被选择的可能性越大。具体方法为:计算并存储每个顾客的松弛时间,选择一个AGV作为当前的AGV路径,选择松弛时间最短的顾客作为当前顾客,添加到AGV路径中,如果满足时间和容量的约束条件,重复地从剩余顾客中选择离当前顾客最近的顾客,将其添加到AGV路径中,作为当前顾客;否则,打开一个新的AGV,从剩余顾客中重新选择松弛时间最短的顾客作为当前顾客,重复上述过程,直到分配完所有顾客。
(2.4)在满足约束条件的前提下,随机产生PS-1个解决方案。
在本实例中,共产生PS个解决方案,即初始化种群。计算每个解决方案的总成本。找出种群中最小的总成本f
步骤3:离散的人工蜂群进化;
对当前种群中每个解决方案进行离散的人工蜂群进化,包括以下过程:
(3.1)雇佣蜂阶段:将初始种群中的所有解决方案分配给雇佣蜂,然后选择一个随机邻域算子进行开发,记录开发后的总成本,如果低于原有成本,则进行替换,否则,记录解决方案未改变的次数,直到迭代次数满足为止,从而对每个解决方案进行进化,其中,可从4个有效的邻域操作算子(相同AGV插入、相同AGV交换、不同AGV插入、不同AGV交换)进行随机选择使用。
(3.2)观察蜂阶段:按照中位数轮盘赌概率选择方法从种群中选择多个解决方案,通过邻域操作算子进行进化。此外,通过基于问题的搜索算子搜索当前最优的解决方案,上述基于问题的搜索算子的具体方法为选择一个顾客插入到解决方案中的所有位置,并找到最佳解决方案,直到所有顾客都被考虑在内。
(3.3)侦察蜂阶段:在经历了雇佣蜜蜂阶段,观察蜂阶段之后,得到了每个解决方案在进化中未改变的次数。在这个阶段,侦察蜂的角色是丢弃未改变的次数比我们期望值大的解决方案,并产生一个新的解决方案来代替它。具体方法为:对于质量差的解决方案,使用基于问题的搜索算子进行局部搜索,计算总成本,如果总成本未改变,则使用基于松弛时间的启发式算法重新生成一个新的解决方案。
步骤4:计算当前所有解决方案中的最佳总成本,更新最佳总成本f
下面,通过本发明的仿真实验,对本发明的应用及其应用效果做进一步的描述说明。选取带有取货和送料的AGV调度问题进行测试,仿真实验所采用数据来自某制造企业的实例。仿真实验环境:本发明采用C++语言编程实现,程序运行环境为Windows 10操作系统下的I5-6200U CPU、2.30GHz、RAM=8GB的笔记本电脑。仿真内容:本发明与其他算法的性能比较。
根据一个周期内顾客发送物料需求的情况,统计仓库的所在位置、AGV出发时间、载重量和速度、储料缓冲池的库存以及各顾客发出请求的顾客编号、位置、距离仓库的最短距离、发出请求的时间、发出请求时缓冲区库存、AGV最晚到达时间。
本实例方法适用于一个仓库,多辆同型号AGV,求解目标是确定一个最小化总成本的解决方案,总成本包括旅行成本、时间成本和AGV成本,以一个周期内收集30个任务为例进行仿真实验。
仓库坐标为(0,0),AGV出发时间、载重量、速度、卸料用时分别是365s、250kg、1m/s和15s,各CNC单元间的横向和纵向距离分别为5.5m和8.8m。以一个顾客为例,其具体的数据信息:有顾客属性{63,7,3,64.9,307,937,2}。63表示顾客的身份。(7,3)指顾客的位置。64.9m表示距离仓库最近的距离;307s表示送料信号的时间;937s是指最晚的到达时间;2表示材料的类型要求。如果它是一个取货实例,则customer属性为{42,2,45.1,21,621}。42表示顾客的身份。(5,2)指顾客的位置。45.1m为离仓库最近的距离,21s为取货信号发出时间,621s为最迟到达时间。
本实验将本发明与迭代贪婪算法(IG)、人工蜂群算法(ABC)、混合果蝇优化算法(HFOA)、离散人工蜂群算法(DABC*)、改进和声搜索算法[46]、混合遗传算法(HGA)进行比较。为了使实验更具准确性,我们使用20个实例进行实验,每个实例独立重复运行20次。为了使结果更加明显,本实验使用RPI进行分析,其中,
实验结果下表所示:
通过对不同算法的计算结果分析,在比较的20个实例中,本发明使用的方法明显优于其他方法。由此证明本发明的基于离散的人工蜂群进化的自动导向车辆调度方法具有很好的稳定性。从实验结果来看,本发明能够计算出高质量的解决方案,提供出能够有效的解决矩阵制造车间内带有同时取货和送料的AGV调度问题的优质解决方案。
综上所述,本发明能够解决矩阵制造车间自动引导车辆调度问题,产生一个调度解决方案,使总成本最小化,包括AGV行驶距离成本、AGV的成本以及提前到达任务单元的时间惩罚成本。提高了AGV运输效率,节省了运输总成本。
本发明不局限于上述实施例,本发明可根据矩阵车间内呼叫顾客的数量做出相应的变化。凡依据本发明技术方案的精神实质和原理下做的改变、只要符合本发明的发明目的,只要不背离本发明的技术原理和发明构思,都属于本发明的保护范围。
- 基于离散的人工蜂群进化的自动导向车辆调度方法
- 基于排列离散差分进化算法的稀疏阵列优化方法