CN111950768B - 基于细菌觅食算法和蚁群算法的选址—配送方法和系统 - Google Patents

基于细菌觅食算法和蚁群算法的选址—配送方法和系统 Download PDF

Info

Publication number
CN111950768B
CN111950768B CN202010681876.2A CN202010681876A CN111950768B CN 111950768 B CN111950768 B CN 111950768B CN 202010681876 A CN202010681876 A CN 202010681876A CN 111950768 B CN111950768 B CN 111950768B
Authority
CN
China
Prior art keywords
distribution
distribution center
algorithm
customer
migration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010681876.2A
Other languages
English (en)
Other versions
CN111950768A (zh
Inventor
凌海峰
杨雪儿
刘业政
姜元春
孙见山
孙春华
陈夏雨
刘春丽
徐旺
孟祥睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN202010681876.2A priority Critical patent/CN111950768B/zh
Publication of CN111950768A publication Critical patent/CN111950768A/zh
Application granted granted Critical
Publication of CN111950768B publication Critical patent/CN111950768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0204Market segmentation
    • G06Q30/0205Location or geographical consideration

Abstract

本发明提供了一种基于细菌觅食算法和蚁群算法的选址—配送方法和系统。本发明实施例通过构建的上层目标函数和下层目标函数,以及对应的约束条件,构成了满足配送中心容量约束的选址—配送模型,通过细菌觅食算法求解配送中心选址问题,根据配送中心容量约束和客户需求量合理分配待配送客户;通过蚁群算法根据车辆容量约束以及客户时间窗求解每个配送中心的最优配送方案。考虑到配送中心容量,客户需求量,以及时间窗等条件,最终达到上层目标函数最优,即选址—配送的总成本最低。

Description

基于细菌觅食算法和蚁群算法的选址—配送方法和系统
技术领域
本发明涉及选址—配送技术领域,具体涉及一种基于细菌觅食算法和蚁群算法的选址—配送方法和系统。
背景技术
物流配送中心选址方案是指在一个具有若干供应点及若干需求点的经济区域内,选一个地址设置配送中心的规划过程。物流配送中心选址的合理与否直接关系到整个物流系统的配送效率、物流成本及顾客服务水平,将会对企业的运营产生重要影响。从现实角度出发考虑到企业的配送中心存在容量限制,更切合实际问题研究。
现有的方法例如:《细菌觅食优化算法求解物流配送问题》,计算机技术与发展,Vol.29 No.1 Jan.2019,记载了利用细菌觅食算法求解双目标函数,目标函数最优解集引入Pareto支配关系判断求解的重要程度。再利用细菌觅食算法求解多目标函数时,对趋化、繁殖和迁徙操作进行编码改进。生产初始解时,将每个细菌个体数组的第一行X1,采用整数编码,共N个数字,代表该配送点进行作业的车辆编号。初始化时,随机得开放配送中心,根据就近原则对配送点进行分配;数组第二行X2采用实数编码,表示配送顺序权值,根据随机生成的权值大小来决定由同路径上配送点的配送顺序。在趋化和繁殖操作中加入Pareto支配关系进行择优,最后执行迁徙操作。
上述方法未考虑配送中心容量约束,仅仅在进行细菌个体编码时,通过对配送点进行路径规划时加入车辆容量约束以及惩罚函数。同时,每个配送点的配送顺序为随机生成权值决定,配送路径由于容量约束引起的成本惩罚,增加了成本。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于细菌觅食算法和蚁群算法的选址—配送方法和系统,解决了现有的方法未考虑配送中心容量约束的问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:
第一方面,本发明提供了一种基于细菌觅食算法和蚁群算法的选址—配送方法,该方法包括:
S1、获取包含待选配送中心容量的选址—配送信息;
S2、基于所述选址—配送信息构建满足配送中心容量约束的上层目标函数和下层目标函数;
S3、通过蚁群算法求解所述下层目标函数,得到最优配送方案,并基于所述最优配送方案,采用细菌觅食算法迭代求解所述上层目标函数,将所述上层目标函数最小值对应的选址—配送方案作为最优配送方案和最优选址方案。
进一步的,所述S2包括:构建上层目标函数和上层目标函数约束条件以及构建下层目标函数和下层目标函数约束条件;
上层目标函数为:
MinF1=∑m∈Mcm·xm+∑k∈Ki∈Mj∈Nyijk·ck+c·∑k∈Ki∈Aj∈Axijk·dij
其中,MinF1表示配送中心启用成本和配送成本最小;
上层目标函数约束条件为:
一个客户仅由一个配送中心服务,即
Figure BDA0002586146870000031
任意客户只由开设的配送中心服务,即zmn≤ym
Figure BDA0002586146870000032
配送中心容量约束:每个配送中心服务客户需求量不超过配送中心容量;即
Figure BDA0002586146870000035
其中,qn表示客户n的需求量;Qm表示配送中心容量;
下层目标函数为:
Figure BDA0002586146870000033
其中,MinF2表示下层目标函数最小表示企业为客户配送时花费的运输成本最小;
下层目标函数约束条件为:
一个客户只能被一辆车服务一次,即
k∈K(∑i∈Nxijk+∑i∈Myijk)=1;
每辆车服务客户不能超过该车的载重量w;即
j∈N[qn(∑i∈Nxijk+∑i∈Mxijk)]≤w
时间窗约束:即
Figure BDA0002586146870000034
Figure BDA0002586146870000041
表示到达客户的时间窗惩罚函数,其中Tn表示到达客户n的时间,c1表示提早到达客户n时的等待成本,c2表示晚到客户n时的惩罚成本;
每辆车服务完该车负责的客户后回到出发点,即
j∈Nyijk=∑j∈Nyijk,i∈M,k∈K。
进一步的,所述S3包括:
S3.1、参数初始化;
S3.2、从待选配送中心位置集合M中随机选择,得到配送中心作为初始解;
S3.3、根据客户需求量和开设的配送中心容量,在满足配送中心容量约束的前提下,将客户按距离最近原则分配给开设的配送中心;
S3.4、客户分配结束后,采用蚁群算法根据每个开设的配送中心以及其分配到的所有客户进行路径规划,得到最优配送方案;
S3.5、基于最优配送方案,计算上层目标函数的函数值,作为适应度值J(r,t,k,h);
S3.6、采用细菌觅食算法迭代,得到最小适应度值Jhealth(r,t,k,h),并输出最小适应度值Jhealth(r,t,k,h)对应的最优选址方案和最优配送方案。
其中,所述S3.1、参数初始化,包括:
S3.1.1、初始化细菌个数为S;初始化趋化迭代的最大次数为Nc;初始化单向游动的最大步数为Ns;初始化繁殖迭代的最大次数为Nre;初始化迁徙迭代的最大次数为Ned;初始化迁徙概率为Ped;
S3.1.2、初始化当前迁徙次数h=1;
S3.1.3、初始化当前繁殖次数k=1;
S3.1.4、初始化当前趋化次数t=1;
S3.1.5、初始化当前细菌的个数r=1;
S3.1.6、生成第r个细菌在第t次趋化,第k次繁殖,第h次迁徙所处的位置为:
Figure BDA0002586146870000051
其中,
Figure BDA0002586146870000052
表示第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的选址方案中第m个配送中心的建造结果。
进一步的,所述S3.6包括:
S3.6.0、执行趋化循环;其中,对第r个细菌进行翻转时,利用2-opt算法交换开设和关闭的配送中心进行翻转;
S3.6.1、执行繁殖循环;其中,在选择繁殖的细菌时,利用轮盘赌算法选出S/2个细菌进行繁殖;
S3.6.2、执行迁徙循环,且在循环结束后输出最优配送方案和最优选址方案;其中,在选择迁徙的细菌时,利用轮盘赌算法选择需要迁徙的细菌。
进一步的,所述S3.6.0、执行趋化循环包括:
S3.6.0.1、由第r个细菌在第t次趋化、第k次繁殖、第h次迁徙所处的位置P(r,t,k,h)计算第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的适应度值J(r,t,k,h);
S3.6.0.2、通过2-opt算法交换开设和关闭的配送中心进行翻转:得到第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的游动方向
Figure BDA0002586146870000061
计算方法如下:
Figure BDA0002586146870000062
其中,
Figure BDA0002586146870000063
表示第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的微小位移;Δ(r,t,k,h)为随机向量,随机生成,进而可计算出微小位移的转置ΔT(r,t,k,h);
S3.6.0.3、初始化单向游动的步数g=0;
S3.6.0.4、计算第r个细菌在第t+1次趋化、第k次繁殖、第h次迁徙的所处的位置P(r,t,k,h),计算公式如下:
Figure BDA0002586146870000064
其中,C(r)表示翻转过程中采取的指定的随机方向步长,即运行长度单元;
S3.6.0.5、基于得到的适应度值J(r,t+1,k,h),并判断J(r,t+1,k,h)<J(r,t,k,h)是否成立,若成立,将P(r,t+1,k,h)赋值给P(r,t,k,h),将J(r,t+1,k,h)赋值给J(r,t,k,h);否则,令g=Ns;
S3.6.0.6、令g+1赋值给g,判断g=Ns是否成立,若成立,则返回S3.6.0.4执行,否则,执行S3.6.0.7;
S3.6.0.7、令r+1赋值给r,判断r≤S是否成立,若成立,则返回S3.1.6执行;否则,执行S3.6.0.8;
S3.6.0.8、令t+1赋值给t,判断t≤Nc是否成立,若成立,则返回客户分配步骤;否则,执行S3.6.1。
进一步的,所述S3.6.1包括
S3.6.1.1、初始化r=1;
S3.6.1.2、计算第r个细菌的适应度J(r,t,k,h);更新最小适应度Jhealth(r,t,k,h),且计算公式为:
Figure BDA0002586146870000071
S3.6.1.3、令r+1赋值给r,判断r≤S是否成立,若成立,则返回S3.6.1.2执行;否则,执行S3.6.1.4;
S3.6.1.4、执行轮盘赌算法,选出S/2个细菌,进行繁殖;
S3.6.1.5、令k+1赋值给k,判断k≤Nre是否成立,若成立,则返回趋化循环步骤;否则,执行S3.6.2。
进一步的,所述S3.6.2包括:
S3.6.2.1、初始化r=1;
S3.6.2.2、在迁徙操作中利用轮盘赌算法选择需要迁徙的细菌;
S3.6.2.3、令h+1赋值给h,判断h<Ned是否成立,若成立,则返回趋化循环步骤;否则,输出最小适应度Jhealth(r,t,k,h)对应的最优配送方案和最优选址方案。
进一步的,所述S3.6.2.2包括:
S3.6.2.2a、根据S3.6.0.1,计算每个细菌的适应度值J(r,t,k,h);
S3.6.2.2b、计算每个细菌个体适应度占总体适应度值的概率;计算公式如下:
Figure BDA0002586146870000072
S3.6.2.2c、计算每个细菌个体累计概率;
Figure BDA0002586146870000081
S3.6.2.2d、在[0,1]区间内随机产生一个均匀分布的伪随机数p,将p赋值给第r个细菌的迁徙算子Ped;
S3.6.2.2e、根据每个细菌的累计概率Pi,0<Pi≤1;如果Pi<Ped成立,则根据S3.1.6重新生成细菌位置P(r,t,k,h),否则将P(r,t,k,h)赋值给P(r,t,k,h+1),执行S3.6.1.4。
进一步的,所述S3.6.0.2的具体步骤为:
选取细菌位置
Figure BDA0002586146870000082
即此时的选址结果;
随机选择选址结果中一个
Figure BDA0002586146870000083
和一个
Figure BDA0002586146870000084
交换位置;
记录交换后的位置
Figure BDA0002586146870000085
计算第r个细菌在第t+1次趋化、第k次繁殖、第h次迁徙的适应度值J(r,t+1,k,h);
利用S3.6.0.1得到的细菌位置P(r,t,k,h)得到的适应度值J(r,t,k,h),并判断J(r,t+1,k,h)<J(r,t,k,h)是否成立,若成立,将P(r,t+1,k,h)赋值给P(r,t,k,h),否则不赋值。
第二方面,本发明提供了一种基于细菌觅食算法和蚁群算法的选址—配送系统,所述系统包括存储器、处理器以及存储在存储器上并在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
(三)有益效果
本发明提供了一种基于细菌觅食算法和蚁群算法的选址—配送方法和系统。与现有技术相比,具备以下有益效果:
本发明通过构建的上层目标函数和下层目标函数,以及对应的约束条件,构成了满足配送中心容量约束的选址—配送模型,通过细菌觅食算法求解配送中心选址问题,根据配送中心容量约束和客户需求量合理分配待配送客户;通过蚁群算法根据车辆容量约束以及客户时间窗求解每个配送中心的最优配送方案。考虑到配送中心容量,客户需求量,以及时间窗等条件,最终达到上层目标函数最优,即选址—配送的总成本最低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中利用细菌觅食算法求解上层目标函数的流程图;
图2为本发明实施例中细菌编码示意图;
图3为本发明实施例中利用蚁群算法求解下层目标函数的流程图;
图4为本发明实施例验证实验中利用本发明的方法得到的具体最优配送方案;
图5为本发明实施例验证实验中利用现有技术的方法得到的具体最优配送方案。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例通过提供一种基于细菌觅食算法和蚁群算法的选址—配送方法和系统,解决了现有的方法未考虑配送中心容量约束的问题,实现选址—配送的总成本最低的效果。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例1:
如图1-5所示,本发明提供了一种基于细菌觅食算法和蚁群算法的选址—配送方法,该方法由计算机执行,该方法包括:
S1、获取包含待选配送中心容量的选址—配送信息;
S2、基于所述选址—配送信息构建满足配送中心容量约束的上层目标函数和下层目标函数;
S3、通过蚁群算法求解所述下层目标函数,得到最优配送方案,并基于所述最优配送方案,采用细菌觅食算法迭代求解所述上层目标函数,将所述上层目标函数最小值对应的选址—配送方案作为最优配送方案和最优选址方案。
相比与现有技术,本发明实施例的有益效果为:
现有技术中所有的配送中心都是无容量限制,未考虑配送中心容量以及配送点的需求约束,不适用于有容量约束的设施选址问题。
而本发明实施例通过构建的上层目标函数和下层目标函数,以及对应的约束条件,构成满足配送中心容量约束的选址—配送模型,通过细菌觅食算法求解配送中心选址问题,根据配送中心容量约束和客户需求量合理分配待配送客户;通过蚁群算法根据车辆容量约束以及客户时间窗求解每个配送中心的最优配送方案。考虑到配送中心容量,客户需求量,以及时间窗等条件,最终达到上层目标函数最优,即选址—配送的总成本最低。
下面以生鲜农产品企业的选址—配送为例,对本发明实施例的实现过程进行详细说明:
S1、获取包含待选配送中心容量的选址—配送信息;包括:
生鲜农产品企业的待选配送中心位置M={M1,M2,…,Mm};
配送中心的存储容量Q={Q1,Q2,…,Qm};
配送中心启用成本C={C1,C2,…,Cm};
所需要的运输车辆集合K={1,2,…,k};
待配送的客户位置集合N={N1,N2,…,Nn};
客户的需求量q={q1,q2,…,qn};
每个客户对商品到达的时间窗约束T={[e1,l1],[e2,l2],…,[en,ln]}等。
S2、基于选址—配送信息构建满足配送中心容量约束的上层目标函数和下层目标函数;包括:
构建上层目标函数和上层目标函数约束条件;
上层目标函数为:
MinF1=∑m∈Mcm·xm+∑k∈Ki∈Mj∈Nyijk·ck+c·∑k∈Ki∈Aj∈Axijk·dij
其中,MinF1表示最小化配送中心启用成本和配送成本;
m∈Mcm·xm表示各个配送中心对应的启用成本;
cm表示配送中心m的启用成本;
xm代表该配送中心是否被选择建造,xm=1表示配送中心被选择建造;xm=0表示配送中心未被选择建造;
c·∑k∈Ki∈Aj∈Axijk·dij表示各个配送路径对应的运输成本;其中,c表示从节点i到节点j的单位距离运输成本;
集合A=M∪N,即集合A包含待选配送中心位置集合M和客户位置集合N;
dij表示集合A中各节点之间的距离,
Figure BDA0002586146870000121
xijk表示车辆k是否经过节点i到j的路段,其中,节点i到j的路段为客户到客户之间路段,xijk=1表示车辆k经过该路段,xijk=0表示车辆k不经过该路段,
Figure BDA0002586146870000122
k∈Ki∈Mj∈Nyijk·ck表示所有用到的配送车辆总的固定成本之和。ck代表第k辆车被使用的固定成本。
上层目标函数约束条件为:
Figure BDA0002586146870000123
表示一个客户仅由一个配送中心服务,其中zmn表示0,1变量,客户n由配送中心m配送为1,反之为0;
Figure BDA0002586146870000131
表示任意客户只由开设的配送中心服务;其中,ym表示0,1变量,配送中心开设为1,反之为0;
Figure BDA0002586146870000132
表示每个配送中心服务客户需求量不超过配送中心容量;其中,qn表示客户n的需求量;Qm表示配送中心容量。
构建下层目标函数和下层目标函数约束条件;
下层目标函数为:
Figure BDA0002586146870000133
其中,MinF2表示下层目标函数最小运输费用;即使得企业为客户配送时花费的运输成本最小;
c[∑k∈Ki∈Aj∈Axijk·dij+∑k∈K(∑i∈Mj∈Nyijkdij+∑i∈Mj∈Nyijkdij)]表示运输成本;
Figure BDA0002586146870000134
表示为满足时间窗约束的惩罚费用;
yijk表示车辆k是否经过节点i到j的路段,其中,节点i到j的路段为配送中心到客户的路段或者由客户到配送中心的路段;
yijk=1表示车辆k经过该路段,yijk=0表示车辆k不经过该路段,
Figure BDA0002586146870000135
下层目标函数约束条件为:
k∈K(∑i∈Nxijk+∑i∈Myijk)=1;表示一个客户只能被一辆车服务一次;
j∈N[qn(∑i∈Nxijk+∑i∈Mxijk)]≤w;表示每辆车服务客户不能超过该车的载重量w;
Figure BDA0002586146870000141
时间窗约束:早到或晚到都会增加成本,
Figure BDA0002586146870000142
表示到达客户的时间窗惩罚函数,其中,en表示客户n对应的时间窗的最早配送时间,ln表示客户n对应的时间窗的最迟配送时间。Tn表示到达客户n的时间,c1表示提早到达客户n时的等待成本,c2表示晚到客户n时的惩罚成本;
j∈Nyijk=∑j∈Nyijk,i∈M,k∈K;表示每辆车服务完该车负责的客户后回到出发点。
S3、通过蚁群算法求解下层目标函数,得到最优配送方案,并基于最优配送方案,采用细菌觅食算法迭代求解上层目标函数,得到最优选址方案和最优配送方案。
细菌觅食算法具有良好的获取全局极值的能力,收敛速度快、精度高、能够有效跳出局部最优值等优势。由于标准的细菌觅食算法适用于求解单目标连续问题,LRP问题是一个离散型问题,因此需要对算法进行改进。
S3.1、参数初始化;
S3.1.1、初始化细菌个数为S,趋化迭代的最大次数为Nc,单向游动的最大步数为Ns,繁殖迭代的最大次数为Nre,迁徙迭代的最大次数为Ned,迁徙概率为Ped;
S3.1.2、初始化当前迁徙次数h=1;
S3.1.3、初始化当前繁殖次数k=1;
S3.1.4、初始化当前趋化次数t=1;
S3.1.5、初始化当前细菌的个数r=1;
S3.1.6、生成第r个细菌在第t次趋化,第k次繁殖,第h次迁徙所处的位置为:
Figure BDA0002586146870000151
其中,
Figure BDA0002586146870000152
表示第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的选址方案中第m个配送中心的建造结果。细菌的编码方式如图2所示,图中对于第m个配送中心,ym=1即为开设该配送中心,ym=0即为关闭该配送中心。
S3.2、从待选配送中心位置集合M中随机选择,得到配送中心作为初始解;
S3.3、根据客户需求量和开设的配送中心容量,在满足配送中心容量约束的前提下,将客户按距离最近原则分配给开设的配送中心;若客户分配给距离最近的配送中心后超出配送中心的容量约束Q,则将该客户分配给次近的配送中心,直至所有客户全部分配完毕;
因为配送中心存在容量约束,所以在配送中心进行客户分配时,需要考虑所有需要该配送中心负责的客户需求量不能超过该配送中心容量。
在进行细菌觅食算法迭代时,本发明实施例对客户分配进行局部搜索,即根据第r个细菌在第t次趋化、第k次繁殖、第h次迁徙所处的位置P(r,t,k,h),以及基于上层目标函数约束条件确定第r个细菌在第t次趋化、第k次繁殖、第h次迁徙所示的客户分配方案:
Figure BDA0002586146870000153
其中,
Figure BDA0002586146870000161
代表第r个细菌在第t次趋化、第k次繁殖、第h次迁徙所示的客户分配方案中第n个客户由第m个配送中心配送的结果。
确保在满足配送中心容量的约束下,所有的客户都能保证被分配到距离最近的配送中心。
具体步骤包括S3.3a-S3.3f:
S3.3a、初始化i=1;
S3.3b、初始化j=1,将所有配送中心加入可选集AllowList。
S3.3c、计算配送中心m到客户n的坐标距离,计算公式如下:
Figure BDA0002586146870000162
S3.3d、令j+1赋值给m,j属于AllowList并判断j>m是否成立,若成立,则令min{dmndmn>0}所对应的配送结果为1,其余的配送结果为0;否则返回S3.3c执行;
S3.3e、计算此时配送中心m负责客户总需求量∑(zmn*qn),判断∑(zmn*qn)<Qm是否成立,若成立,则S3.3d结果不变,从而得到配送结果;否则,去将当前配送中心m加入不可选集TaubList,返回S3.3d执行;
S3.3f、令i+1赋值给i,判断i>n是否成立,若成立,则表示获得优化后的客户分配方案
Figure BDA0002586146870000163
否则,返回S3.3b。
S3.4、客户分配结束后,采用蚁群算法根据每个开设的配送中心以及其分配到的所有客户进行路径规划,得到最优配送方案;
蚁群算法为现有技术,用于求解每个配送中心和所负责的客户运输成本,计算下层目标函数的函数值,保存最优函数值;输出最优值对应的运输所需车辆数、最优配送路径,如图3所示,具体流程如下
(1)初始化参数α、β和ρ,其中α表示信息素的重要性,β表示能见度的重要性,ρ表示信息素挥发系数;设置初始迭代次数I=1,循环至最大迭代次数maxI,初始化信息矩阵Tau=ones(n,n),用于算法步骤(10)对信息素进行更新记录。
(2)将所有蚂蚁初始位置放在虚拟配送中心处。
(3)通过客户分配结果获取每个配送中心所负责的所有客户,根据每辆车的车载量以及时间窗约束,确定满足条件的蚂蚁可服务客户并放入allow列表中。
(4)根据伪随机比例选择蚂蚁下一个服务的客户,选择后添加到禁忌列表Tabu中。
(5)更新未被访问的客户集to_visit,重新计算服务的客户,更新allow列表。
(6)若allow不为空,返回步骤(4)选择下个客户,若为空。则进行下一步。
(7)若to_visit列表不为空,说明还有该配送中心需要服务的客户未被选择,但不满足约束条件。此时蚂蚁回到虚拟配送中心,将虚拟配送中心加入禁忌列表Tabu的末尾,重新形成一条以虚拟配送中心为首的路径。接着返回步骤(3),继续执行直至to_visit为空,即所有客户接受服务。
(8)将负责的所有客户的实际配送中心插入首末客户与虚拟配送中心之间,形成该配送中心的完整路径。
(9)记录每只蚂蚁所获得的路径,计算下层目标函数的函数值,得出各代的最优解。
(10)基于信息矩阵Tau=ones(n,n),更新信息素,进行下一次迭代。
(11)达到最大迭代次数maxI,算法运行结束,输出最优值对应的运输所需车辆数、最优配送路径作为最优配送方案。
S3.5、基于最优配送方案,计算上层目标函数的函数值,作为适应度值J(r,t,k,h);包括:
基于所需的配送车辆的数量、最优配送方案以及对应的选址方案,计算上层目标函数的函数值,并将函数值作为第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的适应度值J(r,t,k,h)。
S3.6、采用细菌觅食算法迭代,得到最小适应度值J(r,t,k,h),并输出最小适应度值J(r,t,k,h)对应的最优选址方案和最优配送方案,包括:
S3.6.0、执行趋化循环:
S3.6.0.1、由第r个细菌在第t次趋化、第k次繁殖、第h次迁徙所处的位置P(r,t,k,h)计算第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的适应度值J(r,t,k,h);
S3.6.0.2、对第r个细菌进行翻转,传统的细菌觅食算法通过随机生成0,1决定细菌是否翻转,生成0选择关闭一个已经开放配送中心,生成1选择随机开设一个新的配送中心,导致细菌每次搜索范围都在全局内,搜索效率相对较低。
为了提高算法整体的搜索能力,在趋化过程引入局部搜索能力较强的2-opt算法,通过2-opt算法交换开设和关闭的配送中心进行翻转:
选取细菌位置
Figure BDA0002586146870000191
即此时的选址结果;
随机选择选址结果中某个
Figure BDA0002586146870000192
即关闭的配送中心和某个
Figure BDA0002586146870000193
即开设的配送中心交换位置;
记录交换后的位置
Figure BDA0002586146870000194
计算第r个细菌在第t+1次趋化、第k次繁殖、第h次迁徙的适应度值J(r,t+1,k,h);
利用S3.6.0.1得到的细菌位置P(r,t,k,h)得到的适应度值J(r,t,k,h),并判断J(r,t+1,k,h)<J(r,t,k,h)是否成立,若成立,将P(r,t+1,k,h)赋值给P(r,t,k,h),否则不赋值。
得到第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的游动方向
Figure BDA0002586146870000195
计算方法如下:
Figure BDA0002586146870000196
其中,
Figure BDA0002586146870000197
表示第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的微小位移;Δ(r,t,k,h)为随机向量,随机生成,进而可计算出微小位移的转置ΔT(r,t,k,h)。
S3.6.0.3、初始化单向游动的步数g=0;
S3.6.0.4、计算第r个细菌在第t+1次趋化、第k次繁殖、第h次迁徙的所处的位置P(r,t,k,h),计算公式如下:
Figure BDA0002586146870000201
其中,C(r)表示翻转过程中采取的指定的随机方向步长,即运行长度单元。
S3.6.0.5、基于得到的适应度值J(r,t+1,k,h),并判断J(r,t+1,k,h)<J(r,t,k,h)是否成立,若成立,将P(r,t+1,k,h)赋值给P(r,t,k,h),将J(r,t+1,k,h)赋值给J(r,t,k,h);否则,令g=Ns;
S3.6.0.6、令g+1赋值给g,判断g=Ns是否成立,若成立,则返回S3.6.0.4执行,否则,执行S3.6.0.7;
S3.6.0.7、令r+1赋值给r,判断r≤S是否成立,若成立,则返回S3.1.6执行;否则,执行S3.6.0.8;
S3.6.0.8、令t+1赋值给t,判断t≤Nc是否成立,若成立,则返回客户分配步骤;否则,执行S3.6.1(即执行细菌的繁殖操作循环)。
S3.6.1、执行繁殖循环:
S3.6.1.1、初始化r=1;
S3.6.1.2、计算第r个细菌的适应度J(r,t,k,h);更新最小适应度Jhealth(r,t,k,h),且计算公式为:
Figure BDA0002586146870000202
S3.6.1.3、令r+1赋值给r,判断r≤S是否成立,若成立,则返回S3.6.1.2执行;否则,执行S3.6.1.4;
S3.6.1.4、执行轮盘赌算法,选出S/2个细菌,进行繁殖。
S3.6.1.5、令k+1赋值给k,判断k≤Nre是否成立,若成立,则返回趋化循环步骤;否则,执行S3.6.2。
S3.6.2、执行迁徙循环:
S3.6.2.1、初始化r=1;
传统的细菌觅食算法随机生成第r个细菌的自身迁移概Pr,0<Pr<1;如果Pr<Ped成立,则根据步骤3.1.6重新生成细菌位置,如果迁徙算子Ped取值不适,容易使算法退化为随即穷举搜索。因此,为了降低传统迁徙操作的随机性;
S3.6.2.2、在迁徙操作中利用轮盘赌算法选择需要迁徙的细菌;
S3.6.2.2a、根据S3.6.0.1,计算每个细菌的适应度值J(r,t,k,h);
S3.6.2.2b、计算每个细菌个体适应度占总体适应度值的概率;计算公式如下:
Figure BDA0002586146870000211
S3.6.2.2c、计算每个细菌个体累计概率;
Figure BDA0002586146870000212
S3.6.2.2d、在[0,1]区间内随机产生一个均匀分布的伪随机数p,将p赋值给第r个细菌的迁徙算子Ped;
S3.6.2.2e、根据每个细菌的累计概率Pi,0<Pi≤1;如果Pi<Ped成立,则根据S3.1.6重新生成细菌位置P(r,t,k,h),否则将P(r,t,k,h)赋值给P(r,t,k,h+1),执行S3.6.1.4。
S3.6.2.3、令h+1赋值给h,判断h<Ned是否成立,若成立,则返回趋化循环步骤;否则,将最小适应度Jhealth(r,t,k,h);即
min{J(r,t,k,h)|r=1,2,,S;t=1,2,,Nc;k=1,2,,Nre;h=1,2,,Ned}
作为最低成本,输出最低成本对应的最优配送方案和最优选址方案。
实验验证:
实验数据采用Augeral共享的CVRP中A-n36-k5.vrp的实例,其中30个客户点(序号1-30),包括客户位置坐标,需求量,作业时间(到达客户后进行服务的时间如搬卸货物等,即停留在某个客户的时间段。)以及时间窗,相关参数设置:Qm=100,w=50,车辆速度v=2,ck=5,c1=0.2,c2=0.8,c=1。如表1所示:
表1
配送点 X轴 Y轴 需求量 作业时间 时间窗
C1 1 49 1 1 [1,5]
C2 87 25 14 2 [2,4]
C3 69 65 15 1 [3,5]
C4 93 91 11 2 [1,3]
C5 33 31 18 1 [1,4]
C6 71 61 2 1 [2,3]
C7 29 9 22 2 [3,4]
C8 93 7 7 2 [1,5]
C9 55 47 18 1 [1,3]
C10 23 13 23 2 [2,4]
C11 19 47 12 2 [2,5]
C12 57 63 21 1 [3,5]
C13 5 95 2 2 [1,5]
C14 65 43 14 1 [1,3]
C15 69 1 9 2 [2,5]
C16 3 25 10 2 [1,3]
C17 19 91 4 2 [2,3]
C18 21 81 19 1 [1,4]
C19 67 91 2 1 [1,4]
C20 41 23 20 1 [1,5]
C21 15 79 11 1 [2,4]
C22 79 47 6 2 [2,4]
C23 19 65 13 1 [1,3]
C24 27 49 19 2 [2,5]
C25 29 17 13 1 [2,4]
C26 25 65 8 2 [1,4]
C27 27 95 18 1 [2,5]
C28 21 91 11 2 [1,4]
C29 15 83 12 2 [2,5]
C30 91 21 11 2 [2,6]
表2为6个待选配送中心(序号31-36)。待选配送中心包括位置坐标和固定选址成本。
表2
配送中心 X轴 Y轴 启用成术
31 15 19 320
32 19 75 290
33 31 o1 460
34 71 41 200
35 61 83 430
36 59 51 450
实验结果:
配送中心选址结果如表3所示,选择四个配送中心,即细菌编码表为(110110),总成本为2383.1,具体最优配送方案如图4所示。
表3
Figure BDA0002586146870000231
现有技术对比实验:《细菌觅食算法求解物流配送问题》,王垚,实验采用数据相同,配送中心选址结果如表4所示,具体最优配送方案如图5所示。
表4
Figure BDA0002586146870000241
其中J1,J2,J4分别与本发明中序号31,32,34对应,表示最终开设的配送中心,对比试验系统总成本为5895.268明显高于本发明的总成本2383.1。由最终开设配送中心结果可以看出,虽然本发明比该对比实验多开设一个配送中心35;但是成本并未更小,因此可以看出本发明通过结合蚁群算法对运输路径优化,极大的降低了配送过程的运输费用,从而减少总体成本。
实施例2
本发明还提供了一种基于细菌觅食算法和蚁群算法的选址—配送系统,所述系统包括存储器、处理器以及存储在存储器上并在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述方法的步骤。
可理解的是,本发明实施例提供的基于细菌觅食算法和蚁群算法的选址—配送系统与上述基于细菌觅食算法和蚁群算法的选址—配送方法相对应,其有关内容的解释、举例、有益效果等部分可以参考基于细菌觅食算法和蚁群算法的选址—配送方法中的相应内容,此处不再赘述。
综上所述,与现有技术相比,本发明具备以下有益效果:
1、本发明实施例通过构建的上层目标函数和下层目标函数,以及对应的约束条件,构成了满足配送中心容量约束的选址—配送模型,通过细菌觅食算法求解配送中心选址问题,根据配送中心容量约束和客户需求量合理分配待配送客户;通过蚁群算法根据车辆容量约束以及客户时间窗求解每个配送中心的最优配送方案。考虑到配送中心容量,客户需求量,以及时间窗等条件,最终达到上层目标函数最优,即选址—配送的总成本最低。
2、本发明将选址与路径规划分别利用细菌觅食算法和蚁群算法求解,细菌觅食算法在编码上有所区别,每个细菌求解结果仅代表选址方案。对于路径规划将其视为传统旅行商问题(TSP),采用蚁群算法求解更加高效,降低了物流运输成本中最为重要的运输费用。
3、传统的细菌觅食算法通过随机生成0,1决定细菌是否翻转,生成0选择关闭一个已经开放配送中心,生成1选择随机开设一个新的配送中心,导致细菌每次搜索范围都在全局内,搜索效率相对较低;通过趋化过程中引入局部搜索能力较强的2-opt算法交换开设和关闭的配送中心进行翻转,提高了算法整体的搜索能力。
4、传统的细菌觅食算法容易使算法退化为随机穷举搜索。在迁徙操作中利用轮盘赌算法选择需要迁徙的细菌;降低了传统迁徙操作的随机性,避免退化为随机穷举搜索。
需要说明的是,通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于细菌觅食算法和蚁群算法的选址—配送方法,其特征在于,该方法包括:
S1、获取包含待选配送中心容量的选址—配送信息;
S2、基于所述选址—配送信息构建满足配送中心容量约束的上层目标函数和下层目标函数;
S3、通过蚁群算法求解所述下层目标函数,得到最优配送方案,并基于所述最优配送方案,采用细菌觅食算法迭代求解所述上层目标函数,将所述上层目标函数最小值对应的选址—配送方案作为最优配送方案和最优选址方案;
其中,所述上层目标函数为:
Figure FDA0003466698080000011
其中,MinF1表示配送中心启用成本和配送成本最小;
M表示待选配送中心位置 集合;
K表示所需要的运输车辆集合;
N表示客户位置集合;
c表示从节点i到节点j的单位距离运输成本;
ck代表第k辆车被使用的固定成本;
cm表示配送中心m的启用成本;
xm代表该配送中心是否被选择建造,xm=1表示配送中心被选择建造;xm=0表示配送中心未被选择建造;
dij表示集合A中各节点之间的距离,
Figure FDA0003466698080000012
集合A包含待选配送中心位置集合M和客户位置集合N;
yijk表示车辆k是否经过节点i到j的路段,其中,节点i到j的路段为配送中心到客户的路段或者由客户到配送中心的路段;yijk=1表示车辆k经过该路段,yijk=0表示车辆k不经过该路段,
Figure FDA0003466698080000021
xijk表示车辆k是否经过节点i到j的路段,其中,节点i到j的路段为客户到客户之间路段,xijk=1表示车辆k经过该路段,xijk=0表示车辆k不经过该路段,
Figure FDA0003466698080000022
所述上层目标函数约束条件为:
一个客户仅由一个配送中心服务,即
Figure FDA0003466698080000023
其中zmn表示0,1变量,客户n由配送中心m配送为1,反之为0;
任意客户只由开设的配送中心服务,即zmn≤ym
Figure FDA0003466698080000024
其中,ym表示0,1变量,配送中心开设为1,反之为0;
配送中心容量约束:每个配送中心服务客户需求量不超过配送中心容量;即
Figure FDA0003466698080000025
其中,qn表示客户n的需求量;Qm表示配送中心容量;
所述下层目标函数为:
Figure FDA0003466698080000026
其中,MinF2表示下层目标函数最小表示企业为客户配送时花费的运输成本最小;
所述下层目标函数约束条件为:
一个客户只能被一辆车服务一次,即
Figure FDA0003466698080000031
每辆车服务客户不能超过该车的载重量w;即
Figure FDA0003466698080000032
时间窗约束:即
Figure FDA0003466698080000033
Figure FDA0003466698080000034
表示到达客户的时间窗惩罚函数,其中Tn表示到达客户n的时间,c1表示提早到达客户n时的等待成本,c2表示晚到客户n时的惩罚成本;en表示客户n对应的时间窗的最早配送时间,ln表示客户n对应的时间窗的最迟配送时间;
每辆车服务完该车负责的客户后回到出发点,即
Figure FDA0003466698080000035
2.如权利要求1所述的一种基于细菌觅食算法和蚁群算法的选址—配送方法,其特征在于,所述S3包括:
S3.1、参数初始化;
S3.2、从待选配送中心位置集合M中随机选择,得到配送中心作为初始解;
S3.3、根据客户需求量和开设的配送中心容量,在满足配送中心容量约束的前提下,将客户按距离最近原则分配给开设的配送中心;
S3.4、客户分配结束后,采用蚁群算法根据每个开设的配送中心以及其分配到的所有客户进行路径规划,得到最优配送方案;
S3.5、基于最优配送方案,计算上层目标函数的函数值,作为适应度值J(r,t,k,h);
S3.6、采用细菌觅食算法迭代,得到最小适应度值Jhealth(r,t,k,h),并输出最小适应度值Jhealth(r,t,k,h)对应的最优选址方案和最优配送方案;
其中,所述S3.1、参数初始化,包括:
S3.1.1、初始化细菌个数为S;初始化趋化迭代的最大次数为Nc;初始化单向游动的最大步数为Ns;初始化繁殖迭代的最大次数为Nre;初始化迁徙迭代的最大次数为Ned;初始化迁徙概率为Ped;
S3.1.2、初始化当前迁徙次数h=1;
S3.1.3、初始化当前繁殖次数k=1;
S3.1.4、初始化当前趋化次数t=1;
S3.1.5、初始化当前细菌的个数r=1;
S3.1.6、生成第r个细菌在第t次趋化,第k次繁殖,第h次迁徙所处的位置为:
Figure FDA0003466698080000041
其中,
Figure FDA0003466698080000042
表示第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的选址方案中第m个配送中心的建造结果。
3.如权利要求2所述的一种基于细菌觅食算法和蚁群算法的选址—配送方法,其特征在于,所述S3.6包括:
S3.6.0、执行趋化循环;其中,对第r个细菌进行翻转时,利用2-opt算法交换开设和关闭的配送中心进行翻转;
S3.6.1、执行繁殖循环;其中,在选择繁殖的细菌时,利用轮盘赌算法选出S/2个细菌进行繁殖;
S3.6.2、执行迁徙循环,且在循环结束后输出最优配送方案和最优选址方案;其中,在选择迁徙的细菌时,利用轮盘赌算法选择需要迁徙的细菌。
4.如权利要求3所述的一种基于细菌觅食算法和蚁群算法的选址—配送方法,其特征在于,所述S3.6.0、执行趋化循环包括:
S3.6.0.1、由第r个细菌在第t次趋化、第k次繁殖、第h次迁徙所处的位置P(r,t,k,h)计算第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的适应度值J(r,t,k,h);
S3.6.0.2、通过2-opt算法交换开设和关闭的配送中心进行翻转:得到第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的游动方向
Figure FDA0003466698080000051
计算方法如下:
Figure FDA0003466698080000052
其中,
Figure FDA0003466698080000053
表示第r个细菌在第t次趋化、第k次繁殖、第h次迁徙的微小位移;Δ(r,t,k,h)为随机向量,随机生成,进而可计算出微小位移的转置ΔT(r,t,k,h);
S3.6.0.3、初始化单向游动的步数g=0;
S3.6.0.4、计算第r个细菌在第t+1次趋化、第k次繁殖、第h次迁徙的所处的位置P(r,t+1,k,h),计算公式如下:
Figure FDA0003466698080000054
其中,C(r)表示翻转过程中采取的指定的随机方向步长,即运行长度单元;
S3.6.0.5、基于得到的适应度值J(r,t+1,k,h),并判断J(r,t+1,k,h)<J(r,t,k,h)是否成立,若成立,将P(r,t+1,k,h)赋值给P(r,t,k,h),将J(r,t+1,k,h)赋值给J(r,t,k,h);否则,令g=Ns;
S3.6.0.6、令g+1赋值给g,判断g=Ns是否成立,若成立,则返回S3.6.0.4执行,否则,执行S3.6.0.7;
S3.6.0.7、令r+1赋值给r,判断r≤S是否成立,若成立,则返回S3.1.6执行;否则,执行S3.6.0.8;
S3.6.0.8、令t+1赋值给t,判断t≤Nc是否成立,若成立,则返回客户分配步骤;否则,执行S3.6.1。
5.如权利要求4所述的一种基于细菌觅食算法和蚁群算法的选址—配送方法,其特征在于,所述S3.6.1包括
S3.6.1.1、初始化r=1;
S3.6.1.2、计算第r个细菌的适应度J(r,t,k,h);更新最小适应度Jhealth(r,t,k,h),且计算公式为:
Figure FDA0003466698080000061
S3.6.1.3、令r+1赋值给r,判断r≤S是否成立,若成立,则返回S3.6.1.2执行;否则,执行S3.6.1.4;
S3.6.1.4、执行轮盘赌算法,选出S/2个细菌,进行繁殖;
S3.6.1.5、令k+1赋值给k,判断k≤Nre是否成立,若成立,则返回趋化循环步骤;否则,执行S3.6.2。
6.如权利要求5所述的一种基于细菌觅食算法和蚁群算法的选址—配送方法,其特征在于,所述S3.6.2包括:
S3.6.2.1、初始化r=1;
S3.6.2.2、在迁徙操作中利用轮盘赌算法选择需要迁徙的细菌;
S3.6.2.3、令h+1赋值给h,判断h<Ned是否成立,若成立,则返回趋化循环步骤;否则,输出最小适应度Jhealth(r,t,k,h)对应的最优配送方案和最优选址方案。
7.如权利要求6所述的一种基于细菌觅食算法和蚁群算法的选址—配送方法,其特征在于,所述S3.6.2.2包括:
S3.6.2.2a、根据S3.6.0.1,计算每个细菌的适应度值J(r,t,k,h);
S3.6.2.2b、计算每个细菌个体适应度占总体适应度值的概率;计算公式如下:
Figure FDA0003466698080000071
S3.6.2.2c、计算每个细菌个体累计概率;
Figure FDA0003466698080000072
S3.6.2.2d、在[0,1]区间内随机产生一个均匀分布的伪随机数p,将p赋值给第r个细菌的迁徙算子Ped;
S3.6.2.2e、根据每个细菌的累计概率Pi,0<Pi≤1;如果Pi<Ped成立,则根据S3.1.6重新生成细菌位置P(r,t,k,h),否则将P(r,t,k,h)赋值给P(r,t,k,h+1),执行S3.6.1.4。
8.如权利要求4所述的一种基于细菌觅食算法和蚁群算法的选址—配送方法,其特征在于,所述S3.6.0.2的具体步骤为:
选取细菌位置
Figure FDA0003466698080000081
随机选择选址结果中一个
Figure FDA0003466698080000082
和一个
Figure FDA0003466698080000083
交换位置;
记录交换后的位置
Figure FDA0003466698080000084
计算第r个细菌在第t+1次趋化、第k次繁殖、第h次迁徙的适应度值J(r,t+1,k,h);
利用S3.6.0.1得到的细菌位置P(r,t,k,h)得到的适应度值J(r,t,k,h),并判断J(r,t+1,k,h)<J(r,t,k,h)是否成立,若成立,将P(r,t+1,k,h)赋值给P(r,t,k,h),否则不赋值。
9.一种基于细菌觅食算法和蚁群算法的选址—配送系统,所述系统包括存储器、处理器以及存储在存储器上并在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至8任一所述方法的步骤。
CN202010681876.2A 2020-07-15 2020-07-15 基于细菌觅食算法和蚁群算法的选址—配送方法和系统 Active CN111950768B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010681876.2A CN111950768B (zh) 2020-07-15 2020-07-15 基于细菌觅食算法和蚁群算法的选址—配送方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010681876.2A CN111950768B (zh) 2020-07-15 2020-07-15 基于细菌觅食算法和蚁群算法的选址—配送方法和系统

Publications (2)

Publication Number Publication Date
CN111950768A CN111950768A (zh) 2020-11-17
CN111950768B true CN111950768B (zh) 2022-03-22

Family

ID=73341307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010681876.2A Active CN111950768B (zh) 2020-07-15 2020-07-15 基于细菌觅食算法和蚁群算法的选址—配送方法和系统

Country Status (1)

Country Link
CN (1) CN111950768B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113237489A (zh) * 2021-05-20 2021-08-10 曲阜师范大学 一种基于改进2-opt蚁群算法的车辆路径规划方法
CN113485517B (zh) * 2021-07-14 2022-04-15 四川大学 一种局部遮蔽条件下光伏阵列最大功率点跟踪方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241911A (zh) * 2018-01-30 2018-07-03 合肥工业大学 一种基于细菌觅食优化算法的配送中心选址方法
CN108921483A (zh) * 2018-07-16 2018-11-30 深圳北斗应用技术研究院有限公司 一种物流路径规划方法、装置及司机排班调度方法、装置
CN110659769A (zh) * 2019-08-19 2020-01-07 浙江工业大学 一种基于gis和免疫算法的最大覆盖双层选址优化方法
CN110705741A (zh) * 2019-08-19 2020-01-17 浙江工业大学 一种基于改进蚁群算法的多配送中心车辆路径优化方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899690B1 (en) * 2000-08-18 2011-03-01 The Crawford Group, Inc. Extended web enabled business to business computer system for rental vehicle services
US10909494B2 (en) * 2018-03-27 2021-02-02 Accenture Global Solutions Limited System for collaborative logistics using a collaborative logistics map and a knowledge graph

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241911A (zh) * 2018-01-30 2018-07-03 合肥工业大学 一种基于细菌觅食优化算法的配送中心选址方法
CN108921483A (zh) * 2018-07-16 2018-11-30 深圳北斗应用技术研究院有限公司 一种物流路径规划方法、装置及司机排班调度方法、装置
CN110659769A (zh) * 2019-08-19 2020-01-07 浙江工业大学 一种基于gis和免疫算法的最大覆盖双层选址优化方法
CN110705741A (zh) * 2019-08-19 2020-01-17 浙江工业大学 一种基于改进蚁群算法的多配送中心车辆路径优化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Yunos N M , et al. Constrained Self-Adaptive Harmony Search Algorithm with 2-opt Swapping for Driver Scheduling Problem of University Shuttle Bus;Shaffiei Z A etal.;《Arabian Journal for Science and Engineering》;20191231;第44卷(第4期);第3681-3698页 *
带时间窗的多无人机航迹规划两阶段启发式算;马华伟 等;《火力与指挥控制》;20140831;第39卷(第8期);第12-21页 *
带软时间窗的多车场开放式车辆调度;凌海峰 等;《计算机工程与应用》;20171231;第53卷(第14期);第232-239页 *

Also Published As

Publication number Publication date
CN111950768A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
CN109034468B (zh) 一种基于布谷鸟算法的带时间窗的物流配送路径规划方法
CN103413209B (zh) 多客户多仓库物流配送路径选择方法
CN111950768B (zh) 基于细菌觅食算法和蚁群算法的选址—配送方法和系统
CN107977739A (zh) 物流配送路径的优化方法、装置及设备
Li et al. A decomposition-based chemical reaction optimization for multi-objective vehicle routing problem for simultaneous delivery and pickup with time windows
CN107798423A (zh) 基于多种智能算法的车辆路径规划仿真实验平台
CN113191619B (zh) 一种应急救援物资分配及车辆调度动态优化方法
CN111967643A (zh) 一种基于贪婪自适应蚁群算法的任务调度方法
CN109858739A (zh) 物流运输调度方法、计算机存储介质及电子设备
CN111709560A (zh) 一种基于改进蚁群算法的解决车辆路径问题方法
CN113762594A (zh) 车机协同配送灾后救援物资的路径规划方法和装置
CN115545608A (zh) 基于不确定需求下的绿色物流车辆路径优化方法及应用
CN110210666B (zh) 基于车货匹配的智能推荐方法、系统和存储介质
CN115759917A (zh) 一种基于改进混合蚁群算法的物流路径规划方法
CN112784123B (zh) 一种图网络冷启动推荐方法
Ouyang et al. Community logistics and dynamic community partitioning: A new approach for solving e-commerce last mile delivery
Chen et al. The paired many-to-many pickup and delivery problem: an application
Rüther et al. A grouping genetic algorithm for multi depot pickup and delivery problems with time windows and heterogeneous vehicle fleets
CN109951875A (zh) 基于内容流行度预测的缓存方法、装置、设备和介质
CN113177757A (zh) 一种调度方法
Karakoc et al. Priority based vehicle routing for agile blood transportation between donor/client sites
Köchel et al. Search for good policies in a single-warehouse, multi-retailer system by particle swarm optimisation
Chen et al. Heuristics based ant colony optimization for vehicle routing problem
Gunawan et al. Well-tuned ILS for extended team orienteering problem with time windows
CN116933939A (zh) 基于改进浣熊优化算法的柔性车间协同生产方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant