基于改进的Bellman-Ford算法优化中药配送路径
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
来稿日期:2
0190520 基金项目:安徽省教育厅自然科学重点基金项目:“
大数据环境下中药材销售数据处理方法与市场预测研究与应用”(KJ2018A0887) 作者简介:曹岩(
1988 ),女,安徽亳州人,讲师,硕士,主要从事动漫制作技术、计算机应用研究。
通讯作者:马健(
1980 ),男,满族,辽宁义县人,副教授,硕士,主要从事数据挖掘、电子商务研究。
基于改进的Bellman Ford算法
优化中药配送路径
曹 岩,马 健
(亳州职业技术学院信息工程系,安徽亳州236800
) 摘要:目的 针对中药配送“
小”“散”“多”现象,解决中药配送路径优化的问题,提高中药配送效率。
方法 围绕中药配送最佳路径问题,对传统的Bellman Ford算法进行了改进,解决算法的存储空间等问题。
结果 通过亳州地区中药配送仿真实验,改进Bellman Ford算法,对狏-1条轮降距操作,找出所有路径,验
证是否存在负环路,对Bellman Ford算法结束后再增加一轮降距检查。
结论 改进的Bellman Ford算法在计
算最短路径优化过程中增加了算法的存储空间,优化了配送路径,节省了配送成本,提高了中药配送效率。
关键词:Bellman Ford算法;中药;配送
中图分类号:TP393 文献标识码:A犇犗犐:10.3969/j
.issn.1673 1492.2020.03.004犇犻狊狋狉犻犫狌狋犻狅狀犘犪狋犺犗狆
狋犻犿犻狕犪狋犻狅狀狅犳犜狉犪犱犻狋犻狅狀犪犾犆犺犻狀犲狊犲犕犲犱犻犮犻狀犲犅犪狊犲犱狅狀犐犿狆狉狅狏犲犱犅犲犾犾犿犪狀 犉狅狉犱犃犾犵
狅狉犻狋犺犿CAOYan,MAJian
(DepartmentofInformationEngineering,BozhouVocationalandTechnicalColleg
e,Bozhou,Anhui236800,China)犃犫狊狋狉犪犮狋:犗犫犼
犲犮狋犻狏犲 Aimingatthephenomenonofbeing“small”,“scattered”and“multiple”indistributionoftraditionalChinesemedicine,toimprovethedistributionefficiencya
ndsolvetheproblemofop
timizationofdistributionpathoftraditionalChinesemedicine.犕犲狋犺狅犱狊 ThetraditionalBellman Fordalgorithmwasimprovedaroundtheoptimalroutingproblemofimportantdistribution,andthestorag
espaceofthealg
orithmwassolved.犚犲狊狌犾狋狊 ThesimulationexperimentinthedistributionoftraditionalChinesemedicineinBozhouarea,andtheimprovedBellman Fordalgorithmforthev 1round offop
erationwereconductedtofindallthepathsandverifywhetherthereisanegativeloop.Ar
oundofclearancein spectionwasincreasedaftertheBellman Fordalgorithmoperationtoimprovetheefficiencyo
fdistribution.犆狅狀犮犾狌狊犻狅狀 TheimprovedBellman Fordalgorithmhasgoodefficiencyincalculatingtheshortestpathop
timizationprocess,anditalsoincreasesthestoragespaceofthealgorithmtoop
timizethedistributionpathandsavethedistributioncost.Itisofgreatsignificancetothepathop
timizationofChinesemedicinedis tribution.
犓犲狔
狑狅狉犱狊:Bellman Fordalgorithm;traditionalChinesemedicine;distribution0 前 言
近年来,人们对中药的需求不断增加。
公立医院、民企医疗机构和连锁药店的规模不断扩大。
亳州作为中国四大药都之一,具有深远的中药材文化和中医文化,中药饮片企业和中药生产企业已超过100家。
中药作为一种特殊的商品,与人的生活密切相关,它的使用应严格按照医生的建议,有时微小的错误都将不可避免地影响到人的健康,甚至会影响到生命安全。
由于药物本身的特殊性使药品流通过程变得复杂,
·
81·第36卷第3期2020年3月
(自然科学版)JournalofHebeiNorthUniversity(
NaturalScienceEdition) Vol.36No.3Mar.2020
容易导致资源的浪费和一些不良的社会影响。
在保障中药的质量和供应及减少医疗机构的中药的库存积
压,中药配送起到了至关重要的作用[1]。
利用Bellman Ford算法分析亳州地区中药配送路径,可以解决
中药配送的时间和减少配送的成本,提高中药送达到医疗机构的效率,从而促进社会的发展。
1 亳州地区中药配送问题
在国家政策方针的指导下,亳州市3县1区大力建设各级各类医院和社区卫生服务机构。
目前,亳州
市共有各级各类医疗机构1510家,包括医院46家、卫生院94家、社区卫生服务中心(站)98家、村卫
生室1267家、妇幼保健院(所)5家。
其中,中心城区共有各级各类医院20家,社区卫生服务中心3家。
这些与快速增长的人口数量、日益增长的群众需求相比,仍然存在一定差距。
所以,亳州市卫计委在2020-2030年规划中会继续增加医疗机构。
基层医疗机构存在“小、散、多”的现象,对中药的需求量也较少[2]。
中药配送企业要按时完成中药
配送任务,同时要考虑到中药配送的成本,要合理规划配送路径,提高企业的利润。
针对亳州3县1区的医疗机构分布情况和中药需求情况,利用改进的Bellman Ford算法计算中药配送最优路径,完成企业对中药的配送任务。
2 B
ellman Ford算法分析Bellman Ford算法是对所有的边进行犞轮降距操作,不再对所有节点划分为2个集合犛和犞 犛。
该
算法由美国数学家查德·贝尔曼和小莱斯特·福特发明[3]。
对于1个有向图犌(犞,犈),是由从1,2,…,狀个点、犿条表组成,其中设定1位起始点,狑(犻,犼)位有向边(犻,犼)的权,犱犽(
犻)为点犻在第犽次迭代后犻点的距离标号,那么Bellman Ford算法步骤如下。
步骤1:将犃犽作为犽-1轮迭代中距离标号减少的点的集合。
步骤2:初始化,将犱0(1)=0,犱0(
犻)=+∞,(2≤犻≤狀),将所有点存放到集合犃犽中。
步骤3:对于任意点犻(1≤犻≤狀),令犱犽(犻)=犱犽-
1(犻)。
步骤4:根据先后顺序原则,对犃犽集合中的每个点进行计算,犱犽(犼)=min(犻,犼)∈犈
{犱犽-1(犼),犱犽-1(犻)+狑(犻,犼)},假设犱犽(犼)<犱犽-
1(犼),并且点犼 犅时,那么将点犼加入到犃犽+1集合中。
步骤5:执行到集合犃犽+1= ,则算法终止,那么犱(犻)就是最短距离;如果犃犽+1≠ 时,并且犽=狀-1时,可以得知负循环,算法终止;如果犃犽+1≠ 时,犽<狀-1时,则执行步骤6。
步骤6:将犽=犽+1,转到步骤2,继续执行。
算法的伪代码如下:
Bellman Ford SHORTEST PATHS II(G,S
)(1)d[s
] ←0(2)for v∈V
{狊} dod[v]←∞(3)fori←1
toV 1 do(4) foredg
e(u,v)∈E do(5) if d[
v]>d[u]+w(u,v)thend[v]←d[u]+w(u,v)算法的第1行将源点的距离设置为0,第2行将其他所有节点到源点的距离设置为无穷。
从第3行开
始,对图中所有的边进行犞轮降距操作[4]。
第4行的内循环依次对每条边进行考察,并根据情况进行降
距操作。
第5行为实际的降距操作。
3 改进的B
ellman Ford算法Bellman Ford算法在计算最短路径优化过程中具有很好的效率,但还存在不足,在计算距离数目上
最多有狀2个,而且还增加了算法的存储空间[5]。
本文提出了对Bellman Ford算法的改进,能有效地解决此问题[6]。
改进的Bellman Ford算法执行步骤如下。
步骤1:首先初始化,将犱(1)=0,犱(犻)=+∞,(2≤犻≤狀)
,把所有点存放到犃中。
·
91·2020年3月曹岩等:基于改进的Bellman Ford算法优化中药配送路径第3期
步骤2:如果第狋=2犽-1(犽≥1
)次迭代中,根据先后顺序原则,对犃中的每个点犻进行计算,那么可以得到犱(犼)=min(犻,犼)∈犈
{犱0(犼),犱0(犻)+狑(犻,犼)},当犱(犼)<犱0(犼),点犼 犅时,可以将点犼存入到集合犅中;如果第狋=2犽(犽≥1)次迭代中,根据先后顺序原则,对集合犅中的点犻进行计算,可以得到犱(犼)=min(犻,犼)∈犈{犱0(犼),犱0(犻)+狑(犻,犼)},当犱(犼)<犱0(
犼),点犼 犃时,可以将点犼存放到集合犃中,将点犻从集合犅中移除。
步骤3:算法在执行到偶数次迭代中,当集合犃= 时,算法停止,即可得到最短距离;当犃≠ ,狋=狀-1时,可以得知负循环,算法停止;当集合犃≠ ,犽<狀-1时,算法直接执行步骤4。
算法在执行到奇数次迭代中,当犅= ,算法停止,即可得到最短距离;当犅≠ ,狋=狀-1,可以得知是负循环,算法停止;当犅≠ ,狋<
狀-1时,算法直接执行步骤4。
步骤4:对于点犻(1≤犻≤狀),当犱0(犻)=犱(犻),狋=狋+1,算法直接转到步骤2。
Bellman Ford算法虽然可以应对负权重,但是不能求解有负循环的所有最短路径。
如果负循环存在,在部分节点之间可能不存在最短路径。
如图1所示,节点狌,狏之间因有1个负环路,所以不存在任何最短路径。
图1 负环路的狌到狏节点不存在最短路径
根据图1对B
ellman Ford算法进行改进,通过对狏 1条轮降距操作,可以找出所有路径,为了验证是否存
在负环路,对Bellman Ford算法结束后在增加一轮降距
检查,如果有d[v]>d[
u]+w(u,v)的情况出现,则负循环存在。
改进的Bellman Ford算法的伪代码如下:
Bellman Ford SHORTEST PATHS II(G,S
)(1)d[s
]←0(2)for v∈V
{狊} dod[v]←∞(3)fori←1
toV 1 do(4) foredg
e(u,v)∈E do(5) if d[
v]>d[u]+w(u,v)thend[v]←d[u]+w(u,v)(6)foredg
e(u,v)∈Edo(7) ifd[v]>d[u]+w(u,v)then报告负环路存在4 改进算法在中药配送路径中仿真分析
本文以亳州地区中药连锁店为例,首先算法开始选择仓库作为配送路径的出发点,分别将中药配送到亳州市的3县1区共4个地区,根据改进的算法对其他节点的距离进行初始化,并将几个地点区域分别用字母表示(表1)。
表1 亳州三县一区地点
地点
仓库谯城利辛县涡阳县蒙城县符号ABCDE
根据改进的B
ellman Ford算法对几个地区的中药配送路径进行选择,找到最佳的路径。
改进算法中的(3)是Bellman Ford算法的核心,一共执行了狏-1次。
算法第4行的内循环依次对每条边进行考虑,并进行相应的降距操作。
边被考虑的次序是任意的,首先考虑的边是{犅,犈},由于犅的距离是∞,犈的距离也是∞,而狑(犅,犈)=2,2+∞=∞,因此犈的距离维持为∞。
同理,第2条边{犇,犅}也是同样的结果。
第3条边是{犅,犇},由于B的距离是无穷的,所以D的距离维持不变。
第4条边是{犃,犅}
,由于犱[犃]=0,犱[犅]=∞,狑(犃,犅)=-1,而0+(-1)=-1<∞,因此,将节点犅的距离降低到
1,即犱[犅]=-1。
第5条边是{犃,犆},由于犱[犆]=∞,犱[犃]=0,狑(犃,犆)=4,而0+(4)=4<∞,
所以,调整犱[犆]=4。
第6条边是{犇,犆},由于犱[犆]=4,犱[犇]=∞,狑(犇,犆)=5,
而5+∞=∞>4,因此,·
02·2020年3月 河北北方学院学报(
自然科学版) 第3期
犱[犆]的值维持不变。
第7条边是{犅,犆},由于犱[犆]=4,犱[犅]=-1,狑(犅,犆)=3,而-1+3=2<4,因此,调整犱[犆]=2。
第8条边是{犈,犇},由于犱[犇]=∞,犱[犈]=∞,狑(犈,犇)=-3,而-3+∞=
∞,因此,犱[
犇]的值保持不变。
所有的边都考察了一次。
第1轮循环结束。
按照前面的顺序继续第2轮考察,再进行第3轮和第4轮循环,节点的距离没有发生任何改变,最终找到最短距离(图2)。
5 结论与讨论
中药配送是药品服务行业中必不可缺少的一部分,有助于改善整体药品供应链的运行。
本文对传统的Bellman Ford算法进行了改进。
仿真结果表明,改进的Bellman Ford算法可以减少算法的存储空间,优化中药配送路径,从而降低配送成本,提高中药企业的利润。
参考文献:
[1]余川,刘海林.基于中药饮片配送与质控的信息化平台研发[J].中国医学教育技术,2016,30(1):98 100.[2]韩伟一.经典Bellman Ford算法的改进及其实验评估[J].哈尔滨工业大学学报,2012,44(7):74 77.
[3]邹恒明.算法之道[M].北京:机械工业出版社,2010:226 232.
[4]刘磊,王燕燕.Bellman Ford算法性能可移植的GPU并行优化[J].吉林大学学报,2015,45(5):1559 1564.[5]陈华荣,张崇富.Bellman Ford算法的改进研究[J].电子科技大学学报,2006,35(2):211 213.
[6]李邦云.Bellman Ford算法的配电网节能控制研究[J].舰船电子工程,2018(8):37 41.
[责任编辑:王荣荣 英文编辑:刘彦哲]
·12·2020年3月曹岩等:基于改进的Bellman Ford算法优化中药配送路径第3期。