《人工蜂群算法在连锁超市物流配送中的应用研究12000字(论文)》_第1页
《人工蜂群算法在连锁超市物流配送中的应用研究12000字(论文)》_第2页
《人工蜂群算法在连锁超市物流配送中的应用研究12000字(论文)》_第3页
《人工蜂群算法在连锁超市物流配送中的应用研究12000字(论文)》_第4页
《人工蜂群算法在连锁超市物流配送中的应用研究12000字(论文)》_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工蜂群算法在连锁超市物流配送中的应用研究目录摘要 21绪论 41.1研究背景及研究意义 41.2国内外研究现状 51.3本文研究内容及技术路线 72物流配送模型建立 72.1物流配送相关理论介绍 72.2连锁超市物流配送形式 82.3超市物流配送数学模型建立 92.3基于ABC算法的车辆运输优化问题数学建模 123基于改进的人工蜂群算法 143.1人工蜂群算法的生物背景及基本原理 143.1.1人工蜂群算法的生物背景 153.1.2人工蜂群算法基本原理 173.2人工蜂群算法基本计算流程 183.3人工蜂群算法的特点 20第四章人工蜂群算法在连锁超市物流配送中的应用 204.1改进的人工蜂群算法流程 204.1.1路径编码和解码 214.1.2目标函数和适应度计算 214.1.3采蜜蜂邻域搜索 224.1.4观察蜂的选择 234.2仿真实验及结果分析 234.2.1数据介绍 234.2.2仿真环境和结果分析 24第五章总结与展望、参考文献、附录 271绪论随着中国物流领域和连锁超市行业的快速发展,中心选址问题,配送路径设计等超市配送问题陆续出现。在配送的过程中需要兼顾配送效率、物流网络、尽量减小物流成本等重要因素。这些问题在本质上都是约束优化问题,由于其解的不连续和问题的复杂性,利用传统的数学优化方法很难解决。相对于传统的数学方法,智能优化算法具有可扩展性、适应性、自主性和并行性的优点。因此,我们需要在原有的传统解决方法的基础上,通过改进和优化更高效的方法和优化算法来解决这些问题。本文通过改进人工蜂群算法来解决连锁超市的物流配送问题。解决物流配送问题不仅能够节省配送成本,避免资源浪费,而且可以带来巨大的经济和社会效益。群体智能可以被定义为计算机科学的一个领域,它设计和研究有效的计算方法,以一种受真实群体或昆虫群落行为启发的方式来解决复杂问题,本文则以人工蜂群算法为主研究对象,使用改进的人工蜂群算法解决车辆路径实际相关问题。1.1研究背景及研究意义配送是连锁超市经营中十分重要的一个环节,其中包含了“配”与“送”两个主要内容。其中"配"是将货物合理地分配在不同的车厢中,“送”即为合理规划配送路线[1]。而一般来说,连锁超市配送的网络设计包含三个重要因素:(1)配送中心选址;(2)客户分配;(3)配送路径选择。过去研究者往往将连锁超市配送网络设计的三个因素分开研究,这样就造成配上成本十分高昂。而LRP模型系统地研究了以上三个要素,能够从整体上改进企业的配送情况,可达到缩短客户相应时间,提高客户服务水平,降低物流成本,改善城市交通情况等效果[2]。智能优化算法算法又称现代启发式算法算法,具有全局优化性能和较强的通用性,适合于并行处理。在工程实践中,会接触到的一些新颖的计算或理论,比如萤火虫算法,粒子群优化算法,蚁群优化算法,模拟退火,遗传算法,禁忌搜索,神经网络,蜂群优化算法等。这些计算或理论有些共同的特征(如模拟自然过程)。他们对于解决一些复杂的工程问题非常有用。群体智能可以被定义为计算机科学的一个领域,它设计和研究有效的计算方法,以一种受真实群体或昆虫群落行为启发的方式来解决复杂问题[3]。群体智能算法一般需要满足以下要求:(1)近邻性要求:要求个体每次都可以对其邻域进行搜索,进而简化其计算时间和空间成本。(2)质量要求:个体的搜索过程中可以保证群体的质量向更好的方向演化。(3)多样性要求:个体可以在更大范围内进行搜索。(4)稳定性要求:演化过程中,个体可以保持自身的行为方式。(5)适应性要求:个体可以根据当前的解的变化改变自己的行为。群体智能已经成功地使用于各种应用如组合优化问题,函数优化,寻找最优路线,调度,结构优化,图像分析,数据挖掘,机器学习,生物信息学,医学信息学,动态系统,工业问题,有时甚至是金融和商业问题[4]。可扩展性、高适应性、集体鲁棒性和个体简单性是基于群体智能的算法的一些优势。这些优势使得基于群体智能的技术比传统的优化技术更有效。1.2国内外研究现状连锁超市物流配送问题包含选址问题和路径优化问题。对于选址问题,曾有研究者将其转化为如下问题,即在平面上确定一个仓库的位置,使得仓库与多个顾客之间的总距离最小,从此正式开始了理论研究[22]。2002年,DaskinM.S,CoullardC.R,ShenZ.M[5]联合提出了求解配送中心最优选址的三层规划模型。顶层模型以物流成本最小化为目标,中间模型以顾客需求最大化为目标,底层模型以顾客需求最大化为目标。2011年,吴加恩[6]介绍了选题背景和意义、国内外研究现状、研究思路和主要研究内容、超市配送中心选址和配送路径设计中的相关理论和概念,阐述了物流配送在现实生活中的重要性蒋水清[7]实现了配送网络在各种约束(设施容量约束、车辆约束、流量平衡约束等)下的总物流成本最小化,提高了物流配送的实用性和可操作性。同年,靳向宇[8]分析了连锁超市的配送路线特点,优化了物流配送路线,降低了超市的配送成本,提高了配送效率和服务质量。程凯[9]利用遗传算法和MATLAB工具,将冷链车辆路径问题的数学模型与碳排放估算模型相结合,利用模糊数学建立了满意度和配送成本的多目标优化模型,将多维函数转化为单目标函数,并针对实际问题设计了一种改进的遗传算法,提升了算法效率。文慧君[10]构建了冷链物流大型连锁超市的网络优化模型,并结合实例,采用改进的遗传算法对实际数据进行求解,进一步满足了物流服务的要求。邱江妮[11]介绍了最优路径问题的相关概念、意义和主要特点。在大量数据和预测参数的基础上,建立了配送中心选址预测模型,提高了物流配送效率。1.3本文研究内容及技术路线第一章简要介绍了连锁超市物流配送和智能优化计算方法的定义,主要特点及国外对人工蜂群计算方法的调查现况。第二章主要详细介绍了连锁超市物流配送及其数学模型的建立第三章介绍了人工蜂群算法详细生物背景和计算流程第四章详细说明了改进计算方法的计算方法程序,并进行了模拟试验,对试验结果进行了处理和分析。第五章总结和展望2物流配送模型建立连锁超市物流配送问题是一类中重要的路径优化问题,即在满足一定的条件下,规划合适的运输路线,从配送中心将超市需要的物品运达。它在理论与实际上都有一定程度的意义,是运筹学相关领域及组合优化中的热点问题。本文对运输能力有限的车辆路径问题进行具体研究,在运输车运输能力有限的情况下建立车辆实际路径,最优行驶路径,运输成本最小的模型。2.1物流配送相关理论介绍配送是物流中一种特殊的、综合的活动形式,紧密结合了商品流通和物品流通。配送是指公司在有限的经济条件下,根据客户的条件,进行一系列的加工,包装,送货等工作,并将货物准时送到指定地方的物流活动。区别于物流,配送的主要内容通常情况下是分拣配货和运输,对货物进行分拣,通过运输将货物送达指定地点。2.2连锁超市物流配送形式连锁超市物流配送的形式是多种多样的,其主要有自营送货方式,供货商主导模式,第三方物流配送方式和联合配送方式,现具体介绍如下:自营送货方式。送货方式的每个环节都是由公司或公司自己承担和组织的,产品的送货是由公司从内到外进行的。供应商主导模式。供应商直配模式简单来说即是由生产企业直接将连锁零售企业采购的商品在指定的时间范围内送到各个连锁门店甚至到货架的物流活动。第三方物流配送模式。第三方物流配送模式是由除买卖双方外的第三方接受买卖双方的配送要求或任务,提供并具体实施相应业务的配送运营模式。共同配送模式。共同配送模式则是通过不止一方,即可能是买卖双方,也可能是买卖双方与第三方都共同参与的,以互惠互利为目的,共同运营的模式。在决策时,决策者需根据具体的配送情况及实际现实的客户分布情况,运输车辆等主要因素作出最终决策,以尽可能达到配送资源消耗最少,配送路径最短,总成本最低等条件,从而达到提高企业经济效益,达到最合理地决策。2.3超市物流配送数学模型建立连锁超市物流配送问题能描述为:一个配送中心在某一区域内向多个客户配送商品,每个客户对商品的需求量很小(通常小于车辆容量Q),并且配送中心到每个客户的配送距离和每个客户点之间的距离是已知的,配送中心使用的最大卡车数量是m,每辆车的配送距离有一定的限制,配送线路的总长度不行超限,配送结束后,车辆必须返回配送中心。如果配送中心的货物数量足以满足所有客户的需求和其他所有实际约束,就必须努力使配送中心的配送成本最低。对于这类问题,一般从车辆调度和路线优化的角度出发,制定最合理,最优的配送方案,使配送车辆使用最少,车辆总里程最短,满足客户的时间要求。也就是说,超市物流配送问题主要解决三个问题:一是如何将客户分配到不同的配送环节,即哪些客户使用同一辆车来完成配送任务,二是解决各线客户的配送订单问题,三是确定配送作业是否满足顾客的时间要求。连锁超市的物流配送问题主要研究从配送中心到各超市门店的配送环节。有以下要求和目的:(1)按一定的规则,将各连锁店进行切割组合,使配送车辆有序配送到各连锁店。(2)配送中心拥有的车辆有限,具有一定的运力,各门店的货物需求量远远小于配送车辆的承载能力。为增加汽车的装载率,有必要将多家商店的货物集中配送。(3)起点和终点都是配送中心。配送车辆离开配送中心后,在完成所有门店的配送任务后返回配送中心。(4)有具体的优化目标。例如,实现超市配送服务成本最小,满足时间要求,距离最短等目标。在整个配送过程中,连锁超市的物流配送问题属有几个前提条件:超市配送的货物可以在一辆车内混合,并且每个门店的位置是确定的。每个连锁店的需求是已知的。已知超市的车辆数量和承载能力。所有的货物都是从配送中心运达的。在基本的配送模型中,通常将时间,距离和成本转换为运输成本。车调度问题的目标是减少运输成本,实现资源的合理配置。主要有两种基本模型:一种是用回路表示,另一种是用运输成本表示。结合连锁超市的实际配送问题,建立了运输成本模型。以0代表派送中,设现有车辆(k=1,…,m),门店总数目为n(用i表示门店i,i=1,…,n),第i门店的需求量为(其中i=1,2,…,n),门店i与门店j之间的最短距离用表示,是门店i到门店j的运输时间,表示第k辆车的载重量(k=1,…,m,由于本文S超市配送中心的车辆型号一样,即用q表示),车辆k的最大行驶距离为(根据本文研究内容统一设定为D),是目标函数的成本系数,若它为l时,则目标是为了使车辆的总运输距离最短;若它为时,则目标是为了使配送的总运行时间最短。为满足安排路线的需求,我们需要核实车辆的需求,查询它们是不是可以满足配送的需求。在分配方案的设计中,我们需要担保必须的灵活性,因此机动车的数量确定如下:(2-1)其中m是所需车辆总数i是商店的数量[]意思是取不大于括号中数字的最大整数(i=1,…,n)表示第z个商店的货物需求a—0<a<1表示装配的复杂性和约束的估计。一般来说,装配过程越复杂,约束条件就越多,对应的a就应该越小,这意味着一辆卡车可以装配的货物就越少。建立了配送车辆调度的数学模型得到车辆调度的模型如下:(4-2)(4-4)(4-5)(4-6)(4-7)(4-8)其中(4,1)是目标函数,表示完成配送任务的最短时间或最短距离。公式(4,2)是车辆运输能力约束,即负责全部车辆配送的所有门店的总需求不可超过车辆自身的负荷。公式(4,3)表示每个门店只能有一辆车服务,公式(4,4)表示该门店配送任务是否完成。公式(4,5)和(4,6)分别表示只有一辆车到达或离开商店。公式(4,7)表示车辆K是否从点I运行到点J。在超市的配送过程中,商店对商品的出发和到达时间都有一定的要求。通过增加时间约束,将一般的车辆调度问题转化为带时间窗的车辆调度问题。在前面的连锁超市数学模型中,我们加入了以下(4,8)和(4,9)约束,得到了VRPTW模型。模型中所涉及参数及代表含义见下表4-1:表4-1参数表参数名称参数含义0配送中心m车辆总数n总客户数q车辆的最大载重量D车辆的最远行驶距离gi门店Z的货物需求dij门店i到门店j的最短距离tij门店i到门店j的运输时间Cij成本系数Xijk若车辆k从门店i送到门店j,否则为0yki若门店i由车辆k送货,否则为0ai门店i允许的最早开始时间bi门店i允许的最晚开始时间ci门店i的货运任务终止时刻si门店i的货运任务的开始时刻Ti门店i完成任务所需要的服务时间,即装货及卸货时间3基于改进的人工蜂群算法3.1人工蜂群算法的生物背景及基本原理人工蜂群算法(ArtificialBeeColony,ABC)是2005年由Karaboga提出的一种基于群智能的全局优化计算方法。它的背景来自蜜蜂的行为,蜜蜂根据各自的分工进行不同的活动,实现群体信息的共享和交换,从而找问题的最优解。人工蜂群计算方法属于群智能算法。人工蜂群算法有着制参数少、收敛速度快、算法精度高等突出优点,在解决数值优化问题它有突出的性能。该计算通过蜂群观察蜜蜂的观测,侦查蜜蜂的“探究”和雄峰采蜜进行,即侦查蜂生成初始蜜源、采蜜蜂采蜜、观察蜂选择最优采蜜路径以及侦查蜂更新路径的过程。3.1.1人工蜂群算法的生物背景作为一种典型的群居昆虫,虽然每只蜜蜂都只有一个简单的个体结构,但通过个体间的合作,它可以表现出极其复杂的行为能力[13]。蜂群能够快速适应环境的变化,通过个体间的分工协作和群体间的沟通接触,高效地完成采蜜工作,共同维持种群的繁殖和发展。整个蜜蜂种群由蜂后、雄蜂和工蜂组成。蜂王是最大的,负责产卵。一个蜂群可以有一个或多个蜂后。根据蜂后的数量,蜂群可分为单蜂群和多蜂群。种群中雄峰最多,其任务是与蜂后共同繁殖。工蜂是由缺乏繁殖能力的雌蜂组成的。其任务是为蜂群提供食物来源,即蜜源16]一般来说,工蜂总是从蜂巢附近的同一株植物上采集花蜜。虽然不同的蜜蜂采蜜的方式、速度和经验不同,但它们有很强的学习能力。它们能以一种特殊的方式表达花的颜色、气味和形状,形成某种条件反射。虽然工蜂个体的任务相对简单、不同,但当整个蜂群整合成一个整体时,可以发现它们之间有着特殊的联系。整个工蜂群体往往能够对环境变化做出快速反应,进而带动整个群体寻找优质蜂蜜。根据蜜源的多少,不断调整蜂群结构,使蜂群以最小的消耗获得最大的效益,在一定程度上大大提高了蜂群的效率。一般情况下,蜂群在采蜜前会将一部分工蜂留在蜂巢中,并送一部分侦查蜂寻找蜜源。当侦查蜂找到优质蜜源或适宜采蜜的地方时,就会转化为采蜜蜂,记录蜜源的花蜜量、位置等信息,然后返回蜂巢。蜜蜂回到蜂巢后,在蜂巢的特定区域以“8”的形状跳舞。在“8”字形的舞蹈中,蜜蜂会不断地抖动翅膀,发出嗡嗡声。同时,它的腹部也会左右摆动。这部分舞蹈被称为“摇摆”[17]。它包括采蜜点的方位和角度两部分。摆动的方向表示方向,摆动的时间表示距离。摆动时间越长,距离越远。其他蜜蜂,即“观察蜂”蜜蜂,可以根据采集蜜蜂的摇摆舞获得蜂蜜位置和蜂蜜来源质量的详细信息,并选择合适的蜜源采集蜂蜜[18]。在这种机制下,蜂群将整个采蜜过程引导到最佳的方向。这一策略不仅有利于蜜蜂寻找最大的蜜源,而且有利于蜜蜂对环境变化的快速反应。尤其是当蜜源耗尽时,侦察蜂能迅速引导蜜蜂找到新的蜜源。人工蜂群算法的基本思想是模拟这种觅食行为。事实上,蜜蜂采蜜的过程如图所示[19]蜜蜂采蜜过程图蜜蜂采蜜过程图图中,对于蜜源a,蜜蜂采集完蜜,卸完蜜后返回蜂巢固定区域(如蜂巢a,图中所示)有三种选择:模式1,蜜蜂放弃原来的蜜源,直接挖掘新的蜜源,成为探测蜂,如uf和图中h所示。模式二,卸完花蜜后,到摇摆舞区,通过摇摆舞与观察蜂分享蜜源信息,指导观察蜂进一步采蜜。观察蜜蜂会根据蜜蜂共享的信息选择蜜源,如图中ef1路径所示,模式三:蜜蜂卸下蜜后,不再与其他蜜蜂交流,继续返回原蜜源采集蜜,如图中ef2号路线所示,一般情况下,大多数蜜蜂回到蜂巢后,都会去摇摆舞区,通过跳摇摆舞与其他蜜蜂分享信息。相应的观察蜜蜂会根据蜜源的质量选择不同的蜜源采集蜂蜜,因此人工蜂群算法选择ef路线。对于图中的a,b两个蜜源,或当蜜源较多时,在一开始没有蜜源信息的情况下,侦查蜜蜂会随机搜索蜂巢附近的蜜源,如图中的s路线,采集蜜蜂完成对蜜源的采蜜,回到蜂房跳舞,观察的蜜蜂会根据摇摆舞中反映的信息,如图中的r路,选择蜜源。3.1.2人工蜂群算法基本原理在这个算法中,蜜源是可行解,花蜜源的蜜源量是目标函数。蜜源越多,可行的解决方案越好。算法的主要思想是:首先,n只蜜蜂开始调查并找出n个可行的蜜源,将探测蜜蜂转为收集蜜源短信,之后返回蜂巢,以“8”字舞的形式将蜜源信息传递给其他蜜蜂,并回到收集信息的蜜源处进行搜索,继续挑选花蜜量更大的蜜源;其次,观察蜂通过接收到的采蜜蜂收集的蜜源信息判断蜜源大小,在辨别出较好的蜜源后,在多维空间中寻找较好的蜜源,领取优蜜源;最后,当蜜蜂和观察蜜蜂采完花蜜后,蜜蜂转向侦查蜂,继续调研,寻找可行的花蜜。三种蜜蜂相互转化的具体的转化过程如下图:图3图3-1-1蜜蜂类型转换图3.2人工蜂群算法基本计算流程人工旁观者蜜蜂根据Pi,有关食物来源的概率值来选食物来源,该几率值由下列表达式求:Pfiti的解决方案是,i的适应值与食物来源的花蜜量成正比,位置i和SN等于食物来源的数量与雇佣蜜蜂的数量(BN)。为了从回忆中的旧食物位置生成候选食物地址,人工蜂群计算方法用下列表达式:v其中k∈{1,2,3,…,SN}和j∈{1,2,3,…,D}是随机的选择索引。虽然k是随机确定的,但它必须是随机的与i.φi不同,j是[-1,1]之间的随机数。它控制西北地区邻近食物来源的生产表示两个食物位置的视觉比较一只蜜蜂。如果此操作产生的参数值超过预定极限,可将参数设置为可接受的值。

在本工作中,参数值超过其值limit设置为其极限值。蜂蜜被蜜蜂遗弃的食物来源是被侦察兵们替换成新的食物来源。在ABC中,这是通过随机产生一个位置并替换它来模拟和被遗弃的那个。在人工蜂群算法(ABC)中提供一个职位不能通过预先确定的数量进一步改进循环,那么这个食物来源就被认为是废弃的。的预定的循环次数的值是很重要的ABC算法的控制参数,称为弃“限制”。假设废弃源为xi和j∈{1,2,…D}然后侦察兵发现了一种新的食物要用xi替换的源。该操作可以定义为:x在每个候选源位置vi后,产生j,然后通过人工蜜蜂的评价,对其性能进行了比较和它的旧的那个。如果新食物有相同或更好的花蜜比旧的源,它是用旧的蜜源代替的内存。否则,旧的蜜源就会留在记忆中。换句话说,贪婪选择机制被用作在旧的蜜源和候选蜜源之间进行选择操作。3.3人工蜂群算法的特点根据以上人工蜂群算法的生物背景和算法流程,人工蜂群算法具有以下特征:(1)高效:像其他群智能算法(萤火虫算法,蚁群算法等)一样,人工蜂群算法受到自然界蜜蜂行为的启发和模拟,显示出它在寻找优质蜂蜜源方面的高效。(2)简单性:与其他群智能算法相比,人工蜂群算法更为简单易操作,由于算法中控制参数较少,算法的空间复杂度大大降低。(3)高收敛性:因为在人工蜂群算法,采集蜜蜂,观察蜜蜂,探测蜜蜂等蜜蜂之间的角色交换,分工和明确分工,使得算法在求解函数问题时表现出高收敛性。(4)鲁棒性好:该算法采用随机生成新解,轮盘赌的方式选择目标食物源,使该算法能够应用于多种环境,表现出较强的环境适应性。(5)实现全局搜索和局部搜索的结合。它不仅增强了算法种群的多样性,而且提高了算法的收敛能力。4人工蜂群算法在连锁超市物流配送中的应用鉴于人工蜂群算法的优点及其在优化问题中的广泛应用,本文提出了一种采用序列编码、解码、邻域搜索和交叉变异的人工蜂群算法模型。该模型将连锁超市的可能配送路径投影到排列空间,并利用采蜜蜂的邻域搜索和侦查蜂的探测来寻找最优路径,同时引入遗传算法对排列问题的交叉、变异策略,大大提升了模型的求解性能。4.1改进的人工蜂群算法流程连锁超市的物流配送问题是从所有可能的配送路径中选择一种最优的配送方案,其可行解的范围是非连续的。然而,传统的人工蜂群算法无论采蜜蜂的邻域搜索还是侦查蜂的生成初始蜜源操作都是针对连续的变量提出的,这对物流配送问题的离散问题并不适用。基于此,本文对传统的人工蜂群算法进行改进,通过借鉴遗传算法的交叉、变异等操作,针对人工蜂群算法提出了一种新的邻域搜索、蜂群变异策略。4.1.1路径编码和解码本文利用序号编码的方式对配送中心和超市进行编码和解码操作。具体的,首先利用0来表示配送中心,则所有的超市对应于集合S={1,⋯,N},其中N表示超市的个数。以5个超市为例对编码进行介绍,侦查蜂随机生成排列{3,2,1,4,5},这表示配送车辆从0开始依次经过超市3、超市2、超市1,超市4和超市5,然后回到配送中心0。然而,由于配送车辆的的容量有限,所以该编码并不是配送车辆的实际运输路线。因此,对于任意编码X={x1,x2,⋯,xN},本文设计一种解码算法来获得车辆的实际路线。令Step1:配送车辆从配送中心出发,车辆的已经装载的货物重量为CAPcur=CAPStep2:判断若CAPcur≥demi,执行Step3;当CAPStep3:对当前超市进行配送。将超市xi放入实际解码路径Y中,即Y={Y,xi},车辆的当前载重量Step4:回配送中心。此时解码路径Y={Y,0},车辆的当前载重量CAPcurStep5:当i>N,表示此时已经遍历所有的超市,则配送车辆回到配送中心,此时Y={Y,0}。在实际蜂群算法中,侦查蜂生成N个超市的随机排列作为初始蜜源。4.1.2目标函数和适应度计算针对任意蜜源,即任意的编码方案X=x1,x2,⋯,xN,通过4.1.1得到解码后的实际运输方案X=y1,y2,⋯,yMf本文中,fX表示蜜源X的目标函数值。但是,由于适应度应该越大越好,所以对fXfit在上式中,fitX表示蜜源X4.1.3采蜜蜂邻域搜索由于传统的采蜜蜂的邻域搜索是针对连续性变量提出的,但是本文中的蜜源都是排列。根据遗传算法提出的交叉、变异操作在组合优化问题中取得很好的应用,我们利用部分映射交叉和邻域变异来执行采蜜蜂的邻域搜索。(1)部分映射交叉部分映射交叉的主要思想是,对于当前蜜源X1,首先,采蜜蜂随机选择待交叉的蜜源X2。其次,随机生成待交叉的区域,交换X1和X2对应区域的排列。最后,建立映射表,消除交叉后重复的基因。现以7个超市为例进行介绍,令当前的蜜源X1={3,2,4,6,1,7,5},随机选择的交叉蜜源为X2={1,7,5,2,6,4,3}。随机选择待交叉区域,比如待交叉的区域为3,4,5。此时交叉后的蜜源变成X1={3,2,5,2,6,7,5},X2={1,7,4,6,1,4,3}。此时,需要建立的映射表为:4↔5,6↔2,1↔6,即4↔5,1↔2。此时,将X1和X图4-1-1部分映射交叉示意图(2)邻域变异邻域变异的主要思想是:任意选择两个超市,改变两个超市的位置,即完成邻域变异操作。现以7个超市为例进行介绍,令当前的蜜源X={3,2,4,6,1,7,5},首先,随机选择两个位置比如2,5,交换这两个位置上的对应元素生成新的蜜源X={3,1,4,6,2,7,5}4.1.4观察蜂的选择当所有的侦查蜂完成蜜源生成或者采蜜蜂完成邻域搜索后,此时进行蜜源解码并生成运输车辆的实际运输方案。根据4.1.2所示的方法计算所有蜜源的适应度。由于蜜量大的蜜源(即适应度大的蜜源)具有较大的概率吸引观察蜂前来采蜜。本文采用轮盘赌的方式进行蜜源选择。此时,蜜源X被选择的概率为:P由上式可以看出,当Fit(X)越大表示该蜜源具有较大的概率被选中,进而后代蜜源中可以保留更多的个体。适应度较低的蜜源被选中的概率很小,逐渐被淘汰。综上,给出人工蜂群算法求解连锁超市的物流配送流程如下:人工蜂群算法物流配送流程图人工蜂群算法物流配送流程图4.2仿真实验及结果分析根据以上的人工蜂群算法流程,结合实际的超市配送问题进行求解并对结果进行分析,主要包含以下步骤:数据介绍,仿真环境,模型求解和分析。4.2.1数据介绍我们随机生成1个配送中心和50个连锁超市的具体位置坐标数据(见附件1),以及每个超市的需求量(见表1),配送车辆的载重Cap=40。表1连锁超市的需求量表1连锁超市的需求量超市12345678910需求1.11.61.42.130.22.62.13.30.6超市11121314151617181920需求1.93.23.640.62.71.82.524超市21222324252627282930需求3.23.34.64.84.44.73.223.52.4超市31323334353637383940需求4.64.52.93.43.91.91.93.82.14.7超市41424344454647484950需求0.42.22.34.84.90.92.454.73.1为了观察配送中心和连锁超市的相对位置,我们画出连锁超市和配送中心的具体位置,如图4-2-1所示。图4图4-2-1超市和配送中心的实际位置4.2.2仿真环境和结果分析为了验证改进的人工蜂群算法的有效性,实验以电脑配置为i5-8250MCPU,3.83G可用内存电脑,MTALABR2018为编程平台,利用随机生成配送路径和人工蜂群算法的配送路径进行对比。人工蜂群算法的最大迭代代数maxcycle=200,蜜源停留的最大代数limit=50,蜜源的个数NS=100。首先,我们随机生成可行蜜源为:3→19→37→40→9→27→48→47→1325→20→22→4→30→5→29→39→49→33→10→32→7→46→12→35→11→4→15→2→18→17→38→8→16→31→24→6→43→26→23→50→21→44→36→1→41→28→34→14→42,解码后得到的配送车辆的运输方案:0→319→37→40→9→27→48→47→13→2→20→22→0→4→30→25→29→3949→33→10→32→7→46→12→35→11→0→45→15→2→18→17→38→8→16→31→24→6→43→26→0→23→50→21→44→36→1→41→28→34→14→42→0车辆回配送中心的次数为:5-1=4次对应的实际配送距离为:5100.1。对应的配送路径如下图所示:图4图4-2-2随机方案的实际配送路径其次,通过人工蜂群算法得到的最优蜜源为:2→38→47→15→50→3020→18→28→2→3→46→10→35→11→43→12→19→27→34→29→39→8→42→4→44→26→48→13→31→33→37→45→23→1→41→14→24→7→9→17→6→5→25→49→32→36→16→40→22对应的配送方案为:0→2→38→47→15→50→30→20→18→28→21→3→46→10→35→11→43→12→0→19→27→34→29→39→8→42→4→44→26→48→13→0→31→33→37→45→23→1→41→14→2→7→9→17→6→0→5→25→49→32→36→16→40→22→0车辆回配送中心的次数为:5-1=4次车辆的行驶里程为:2098.2对应的实际配送路径如图所示:图4图4-2-3人工蜂群算法的实际配送路径对应的目标函数优化曲线如图4-2对应的目标函数优化曲线如图4-2-4所示:图4-2-4人工蜂群算法的优化过程综上可以看出,经过人工蜂群算法处理后的运输里程为2098.2,相对于随机生成的运输里程5100.1,减少了,进一步说明人工蜂群算法在求解连锁超市物流配送问题的有用性。5总结与展望连锁超市的物流配送已成为物流配送的主要发展前景之一,在国外都取得了快速的发展。作为连锁超市物流配送的重要组成部分之一,对于物流配送算法设计和数学模型的建立显得尤为重要。这段时间的设计和开发,主要完成了以下工作:(1)研究了论文只对一组数据进行了处理分析,可以分析多组数据,采用更大量的数据进行有用性验证,算法在编写开发过程中应用范围还不够广泛,还有提高的空间。此外,人工蜂群算法适用于进行连续函数的全局优化问题,不适用于一些离散函数。基于人工蜂群算法的物流配送设计与实现涉及了多方面知识和理论,本文还有很多新的问题需要解决,仍需要在实际应用中加以改进和完善参考文献[1]李小玲.基于改进遗传算法的连锁超市配送路线优化研究[J].甘肃科学学报,2020,32(06):148-152.[2]祝苗苗.人工蜂群算法研究及其在车辆路径问题的应用[D].深圳:深圳大学,2017.[3]Bonabeau,E,Dorigo,M,&Theraulaz,G.(1999).Swarmintelligence(pp.32-77).Oxford.[4]Ahmed,Hazem,andJaniceGlasgow."SwarmIntelligence:Concepts,ModelsandApplications."SchoolOfComputing,QueensUniversityTechnicalReport(2012).[5]DaskinM.S,CoullardC.R,ShenZ.M.AnInventoryLocationModel:Formulation,SolutonAlgorithmandComputationalResults[J].AnnalsofOperationsReserch,2002,110(4):83-106.[6]吴加恩.S超市配送中心选址及配送路径设计[D].南京:南京理工大学,2013.[7]蒋水清.城市连锁超市配送LRP建模与优化[D].武汉:华中科技大学,2011.[8]靳向宇.基于蚁群算法的邯郸市世佳连锁超市配送路线优化问题研究[D].青岛:中国海洋大学,2013.[9]程凯.考虑碳排放的带模糊时间窗约束的冷链配送路径优化研究[D].杭州:浙江工业大学,2017.[10]文慧君.大型连锁超市生鲜农产品冷链物流网络优化研究[D].北京:北京交通大学,2018.[11]邱江妮.湖北中百仓储连锁超市配送中心选址和配送路径设计[D].秦皇岛:燕山大学,2020.[12]王志峰.连锁超市物流配送模式研究[J].物流科技,2020,43(11):27-29.[13]陈伟栋.改进人工蜂群算法在城市医院布局中的应用研究[D].安徽工业大学,2018.[14]Karboga

D.An

idea

based

on

honey

bee

swarm

for

numerical

optimization.technicalReport

–TR06.Kayseri:Erciyes

University,2005.[15]杨丹.人工蜂群算法的改进及应用研究[D].安徽:安徽师范大学[16]银建霞.人工蜂群算法的研究及其应用[D].西安:西安电子科技大学[17]Camazine

S,Dneubourg

J,Franks

N

R,et

al.Self-

organization

in

biologicalsystems.

Princeton:Princeton

University

Press,2003.[18]Riley

J

R,Greggers

U,Smith

A

D,et

al.The

flight

paths

of

honeybees

recruited

by

Thewaggle

dance.Nature,2005,435(7):205-207.[19]江铭明,袁东风.人工蜂群算法及其应用[M].北京:科学技术出版社,2014.[20]马英钧.基于人工蜂群算法的约束优化问题研究[D].华中师范大学,2015.[21]徐梅,文士发,王福林等.遗传算法求解约束优化问题时产生初始种群的改进方法[J].东北农业大学学报,2014,45(7):104-111.[22]吴进.基于双服务模式的城市车辆拯救站点选址研究[D].广东工业大学,2013.

附件1:clcclearflag=6;NS=100;%%%可行解的个数%%%数据dem=xlsread('dem.xls');%%需求XY=xlsread('X.xls');%%坐标D=Distanse(XY);cap=40;%车的运载能力限制limit=50;N=length(dem);%需要服务需求点的个数X=InitPop_ABC(NS,N);%%%算法生成初始蜜源maxcycle=500;objv=jisuanz_opt(X,D,dem,cap);%%%计算目标函数值(实际距离)best_objv=zeros(NS,1);[best_objv(1),index]=min(objv);best_X=X(index(1),:);bas=zeros(NS,1);forcycle=1:maxcyclecycle%%引领蜂阶段[X,objv,bas]=main_caimi(X,objv,bas,best_X,D,dem,cap);%%跟随蜂阶段[X,objv,bas]=main_guancha(X,objv,bas,D,dem,cap);%%侦查蜂判断(利用随机压缩法生成可行蜜源)index=find(bas>limit);iflength(index)==1fori=1:length(index)X(index(i),:)=biandong_opt(X(index(i),:));endend%%对最优解进行更新objv=jisuanz_opt(X,D,dem,cap);[minobjv,index]=min(objv);ifminobjv<best_objv(cycle)best_X=X(index(1),:);best_objv(cycle+1)=minobjv;elsebest_objv(cycle+1)=best_objv(cycle);endend%%%%%结果及图像disp('蜂群算法最优值')min(best_objv)disp('蜂群算法最优值的位置')best_X%%%画图%输出迭代过程plot(best_objv,'-','LineWidth',2);set(gca,'xlim',[-10,maxcycle+10],'FontSize',14);title('基于蜂群算法的路径优化问题','FontSize',14,'FontName','MicrosoftYaHeiUI');xlabel('迭代次数','FontSize',14,'FontName','MicrosoftYaHeiUI');ylabel('目标函数值','FontSize',14,'FontName','MicrosoftYaHeiUI');disp('运输方案')fp=fenpei_opt(best_X,dem,cap)disp('目标')mubiao=mubiao_opt(fp,D)disp('路径画图')DrawPath(fp+1,XY)functionChrom=InitPop(NIND,N)%输入%NIND初始种群的大小%N:所有的城市个数%输出%初始种群(起始位置固定为1)Chrom=zeros(NIND,N);%用于存储种群fori=1:NINDChrom(i,:)=randperm(N);%随机生成初始种群Endfunctionobjv=jisuanz_opt(chrom,D,dem,cap)[NIND,N]=size(chrom);objv=zeros(NIND,1);fori=1:NINDx=chrom(i,:);%%%计算设施车辆的分配fp=fenpei_opt(x,dem,cap);%%%%计算实际的运输方案mubiao=mubiao_opt(fp,D);%%%计算运输总路程objv(i)=mubiao;endfunctionobjv=jisuans_opt(X,flag)N=size(X,1);objv=zeros(N,1);fori=1:Nobjv(i)=jisuan_opt(X(i,:),flag);endend%%%%计算目标函数值functionobjv=jisuan_opt(X,flag)ifflag==1%Sphere函数objv=sum(X.^2);elseifflag==2%Step函数最优[0,0,0,0000]a=floor(X+0.5);objv=sum(a.^2);elseifflag==3%Rastrigin函数最优【0,0,000】objv=sum(X.^2-10*cos(2*pi*X)+10);elseifflag==4%%%Rosenbrock函数最优【1,1,。。。】a=X(2:end)-X(1:end-1).^2;objv=sum(100*a.^2+(1-X(1:end-1)).^2);elseifflag==5%Griewank函数最优最优【0,0,。。。】D=length(X);a1=sum(X.^2);a2=prod(cos(X./sqrt(1:D)));objv=1/4000*a1-a2+1;elseifflag==6%Schwefel函数最优【0,0,0,。。。。】objv=sum(abs(X))+prod(abs(X));endendfunctionfp=fenpei_opt(x,dem,cap)%%%%按分配量分配车辆%x需求点的遍历顺序%dem车辆的容量限制%fp车辆的实际行驶路径(0表示起点,其他的数字表示车辆的服务点)S1=0;%车的当前载重N=length(x);%城市的个数fp=0;i=1;whilei<=NifS1+dem(x(i))<=capfp=[fp,x(i)];S1=S1+dem(x(i));elsefp=[fp,0,x(i)];S1=dem(x(i));endi=i+1;endfp=[fp,0];functionvarargout=dsxy2figxy(varargin)iflength(varargin{1})==1&&ishandle(varargin{1})...&&strcmp(get(varargin{1},'type'),'axes')hAx=varargin{1};varargin=varargin(2:end);elsehAx=gca;end;iflength(varargin)==1pos=varargin{1};else[x,y]=deal(varargin{:});endaxun=get(hAx,'Units');set(hAx,'Units','normalized');axpos=get(hAx,'Position');axlim=axis(hAx);axwidth=diff(axlim(1:2));axheight=diff(axlim(3:4));ifexist('x','var')varargout{1}=(x-axlim(1))*axpos(3)/axwidth+axpos(1);varargout{2}=(y-axlim(3))*axpos(4)/axheight+axpos(2);elsepos(1)=(pos(1)-axlim(1))/axwidth*axpos(3)+axpos(1);pos(2)=(po

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论