法律状态公告日
法律状态信息
法律状态
2016-06-01
授权
授权
2014-03-12
实质审查的生效 IPC(主分类):G06F19/00 申请日:20131031
实质审查的生效
2014-02-05
公开
公开
技术领域
本发明涉及一种药房储位分配优化方法,尤其涉及一种基于改进混沌粒子群算法的自动化药房储位分配优化方法。
背景技术
自动化药房智能存取系统工作效率的高低主要取决于库区和储位的分配策略,合理地仓储布局与储位分配策略能大大提高仓库的入库效率、减少无用的消耗,也是药房实现现代化管理、改善药房功能的重要保证,对缩短处方处理时间,减少药品搬运和存储的成本,降低药品在存储过程及搬运过程中的损耗,提高药房收益具有重要的现实意义。
目前在现有的物流环境下,储位规划要考虑的原则很多,如货架承载情况、周转速度、可靠性、工作效率、产品相关性等。在不同时期,物品的需求品种、需求数量和需求频率可能会有较大变化,物品的存取率及相对轻重情况要发生变化,而存取不同储位上的物品所花路径和时间的代价是不同的,因而物品的储位不应一成不变,应根据货架的稳定性、物品的需求率变化和出入库频率等因素,定期地多储位进行交换,以保证储位分布处在较为合理的状态。
目前国内外学者对于储位分配问题的研究已经取得了很多成果:J.P.van den Berg和Zijm W.H.M对库区储位分配问题的研究方法进行了分类,主要有三种方法:基于类的分类法,随机分类法和分区分类法。Byung Chun Park等将库区储位分为二级库区:高周转率库区和低周转率库区,高周转率库区靠近出入库台,低周转率库区位置距出入库台较远。张晓萍等提出了基于数据库的虚实货区耦合储位分配法,通过数据库实现储位的分区与分配,不仅保证了出库频率高的物料快速出库,更重要的是在更换产品和工艺时,可以根据新的产品或工艺自动快速地建立相应的虚实货区,自动耦合实现新的柔性分区。常发亮和刘长有采用分层序列法解决倒库储位的配置问题;Hsieh和Tsai提出了面向BOM基于分类的库位分配方法;Thonemann和Brandeau在随机环境中应用周转率和分类进行库位分配;Muralidharan等提出了一种新的随机存储和分类存储结合分配的基于启发式的方法;Mansuri等提出了动态存储的计算方法;Poulos等提出了一种新的交叉算子的遗传算法解决自动化仓储补货存储物品的分配问题;柳赛男等提出了基于Pareto最优解的遗传算法解决储位分配调度策略问题。Muppani and Adil等考虑了AS/RS存储空间最小化和拣选作业花费最少而构建了非线性整数规划模型并用分枝定界法求解模型,研究了分类存储的重新分配;严云中等在分析堆垛机运行效率的各种因素基础上,提出了库位号优化的思想。李梅娟等建立了固定货架系统储位分配优化问题的多目标模型,并提出了基于Pareto最优和小生境技术的改进遗传算法加以解决。赵雪峰等研究了自动化药房药品储位分配问题,提出了以提高出入库效率以及空间利用率为目标的多目标储位分配模型,并采用两级遗传算法进行求解。粒子群优化算法源于对鸟群捕食行为的研究,最早是由Kenney和Eberhart于1995年提出。粒子群算法因其概念简单、实现容易和对优化函数要求不严等特点已经得到广泛应用。但由于缺乏种群多样性,粒子群算法容易出现“早熟”现象,在算法后期易陷入局部极值点的缺点。
而混沌是非线性系统中的普遍现象,它具有一些特异性质,如混沌运动能在一定范围内按其自身不重复地遍历所有状态,初始值条件极其微弱的变化会引起系统行为巨大的变化。基于上述两点,将混沌和粒子群优化相结合,所提出的改进算法可以避免粒子群算法陷入局部解,仿真结果表明本发明提出的算法有更好的性能,能更好的解决自动化仓储系统储位分配优化问题。
发明内容
本发明的目的是提供一种基于改进混沌粒子群算法的自动化药房储位分配优化方法,能够摆脱基本粒子群算法后期易陷入局部极值点的缺点,并保持了前期搜索的快速性,有效地提高了药房智能存储系统的效率,实现了密集存储。
本发明采用下述技术方案:
一种基于改进混沌粒子群算法的自动化药房储位分配优化方法,包括以下步骤:
A:建立药房储药库模型;
B:随机初始化种群中每个粒子的位置和速度;
C:评价初始种群中每个粒子的适应度,保存全局最优位置gk和个体最优位置pk;
D:更新每个粒子的速度和位置,并采用自适应惯性系数更新权重;
E:评价更新后每个粒子的适应度,保存全局最优位置gk和个体最优位置pk;
F:对群体中的最佳粒子,即种群中适应度最好的20%的粒子,执行混沌局部搜索,并更新全局最优位置gk和个体最优位置pk;
G:判断是否达到最大迭代数,如果达到,则输出计算结果,即药品储位的最优分配策略;如果未达到,则返回步骤D。
所述的步骤A中,设存储区储药库共有m层n列,将距离上药口最近的列记为第1列,最底层记为第1层,处于第i层j列的储位记为(i,j),(i=1,2,...,m;j=1,2,...n),出入库口的位置记为(0,0);对每一个储位进行编码时,将位于第i列j层的储位编码为(i-1)m+j;某储位存入货物时,数组中对应元素记为1,该储位没有存入货物则记为0;每个储位的长度相同,但是宽度和高度不同,相同储存区域的层高相同;存储区可以存储k种药品,每个储位只能存储一种药品;得到储位布局模型
>
其约束公式为:
hj∈{minhi,maxhi};
xij∈{0,1};
>
>
式中,fj表示第j种药的使用频率,hi表示仓储区第i层的层高,hj表示第j种药品的高度,药品的高度取药品三个外形尺寸中最小的值;
l表示层高为hi的层数;xij是决策变量,当xij=1时表示第hi层高存放第j种药品。
所述的步骤D中,利用速度迭代方程>更新每个粒子的速度;
利用位置迭代方程
利用公式>更新惯性权重,其中,wmax、wmin分别为w的最大值和最小值;f为粒子当前的目标函数;favg和fmin分别为当前所有粒子的平均目标值和最小目标值。
所述的步骤G中,对群体中的最佳粒子按照下列公式执行混沌局部搜索,并更新全局最优位置gk和个体最优位置pk;
(1)利用如公式zj,k+1=μzj,k(1-zj,k),k=0,1,2,...,0≤zj,k≤1所示的Logistic映射来产生混沌变量;其中,zj,k,zj,k+1分别为第k次及k+1次迭代所得混沌变量且处于[-1,1]区间,μ是控制变量,当μ=4,,
(2)
(3)按照
本发明将混沌算法与粒子群优化算法相结合,利用混沌运动具有遍历型、随机性等特点,将其应用到优化搜索过程中。当粒子陷入早熟收敛时,用混沌扰动来跳出局部最优,并快速搜寻到最优解,提高解的精度和收敛速度;同时采用自适应惯性系数w,调整其大小改变搜索能力的强弱,较大的w值有利于提高算法的收敛速度,而较小的w则可以提高算法的精度。本发明既加快了收敛速度,同时摆脱了基本粒子群算法后期易陷入局部极值点的缺点,利用已有的历史信息飞向全局最优解,有效地提高了药房智能存储系统的效率,实现了密集存储。
附图说明
图1为本发明的流程图。
具体实施方式
如图1所示,本发明所述的基于改进混沌粒子群算法的自动化药房储位分配优化方法包括以下步骤:
A:建立药房储药库模型;设存储区储药库共有m层n列,将距离上药口最近的列记为第1列,最底层记为第1层,处于第i层j列的储位记为(i,j),(i=1,2,...,m;j=1,2,...n),出入库口的位置记为(0,0);对每一个储位进行编码时,将位于第i列j层的储位编码为(i-1)m+j;把储位编码小到大进行排列,组成一维数组;某储位存入货物时,数组中对应元素记为1,该储位没有存入货物则记为0;每个储位的长度相同,但是宽度和高度不同,相同储存区域的层高相同;忽略药品存储时间;货架上存放货物的总重量不超过货架的承重能力;存储区可以存储s种药品,每个储位只能存储一种药品;得到储位布局模型
>
其约束公式为:
hj∈{minhi,maxhi};---(2)
>
式中,fj表示第j种药的使用频率,hi表示仓储区第i层的层高,hj表示第j种药品的高度,药品的高度取药品三个外形尺寸中最小的值;l表示层高为hi的层数;xij为决策变量,当xij=1时表示第hi层高存放第j种药品。
公式(1)表示储药区与药品的高度差越小,药品摆放越密集;约束公式(2)表示,所有储药层的层高相加不得超过有效存储高度;约束公式(3)表示在确定储药层层高时,尽量使满足这种层高要求的所有药品都能摆放在这一区域,一个区存放一种范围高度的药品,一种范围高度的药品放入某一区后不能再放入其他区,某一区放入某一高度内的药品后也不能放其他高度范围的药品。
B:随机初始化种群中每个粒子的位置和速度;
在此实施例中,X为物品的一种存放方式,即粒子的位置;V为两种不同存放方式的置换,即粒子的速度。以储位总数m×n为粒子群搜索空间维数,设V1和V2为物品的两种不同存放方式的置换集,则V1与V2的和记为V1⊕V2,可得到第i个粒子速度的迭代方程>其中,vk为粒子的速度向量;xk为当前粒子的位置;pk为粒子本身所找到的最优解的位置;gk为整个种群目前找到的最优解的位置;r1、r2为0到1之间的伪随机数;w为惯性权重,c1、c2为加速度常数;k为迭代次数。
位置X与速度V的加法记为X⊕V,它表示将V中的置换作用到位置X上,即将需要置换的储位作用到X这种存放方式上,其结果仍为物品的一种存放方式,得到基于粒子群算法的储位优化问题的位置迭代方程为
常规的粒子群算法的速度迭代中有w、c1、c2和rand()4个因子。在储位分配优化问题中,速度是用于交换两种存放方式中的某对应储位的存储状态,
C:评价初始种群中每个粒子的适应度,保存全局最优位置gk和个体最优位置pk;
计算每个粒子目标函数值(即适应度),将当前个粒子的位置和所计算目标值存储于各粒子的pk中,将所有pk中目标值最优的个体的位置和目标值存储于gk中。
D:分别通过速度迭代方程和位置迭代方程更新每个粒子的速度和位置,并采用公式(4)自适应惯性系数更新权重;
由速度迭代方程可知,惯性权值w的取值对算法收敛性有重要影响,如果取较大的值则有利于跳出局部最优,而较小的w值则有利于加速算法收敛。本发明采用根据种群自适应调整的惯性权重法,权重取值为>
其中,wmax、wmin分别为w的最大值和最小值;f为粒子当前的目标函数;favg和fmin分别为当前所有粒子的平均目标值和最小目标值。
E:评价更新后每个粒子的适应度,保存全局最优位置gk和个体最优位置pk;
计算每个粒子目标函数值,比较种群中每个粒子当前目标值与其pk的目标值,若当前目标值更优,则用粒子的当前位置和目标值更新其pk。比较当前每个粒子目标值,将所有pk中目标值最优的个体的位置和目标值存储于gk中。
F:对种群中的最佳粒子,即种群中适应度最好的20%的粒子,按照下列公式执行混沌局部搜索,并更新全局最优位置gk和个体最优位置pk;
(1)在本发明所述的混沌粒子群算法中,选择利用如公式zj,k+1=μzj,k(1-zj,k),k=0,1,2,...,0≤zj,k≤1所示的Logistic映射来产生混沌变量;其中,zj,k,zj,k+1分别为第k次及k+1次迭代所得混沌变量且处于[-1,1]区间,μ是控制变量,当μ=4,,
(2)
(3)在搜索初期,希望变量变动较大以便于跳出局部极值点,ηj值应取较大;而随着搜索的进行变量逐渐接近最优值,ηj值也应逐渐减小。因此,本发明中,按照
G:判断是否达到最大迭代数,如果达到,则输出计算结果,即药品储位的最优分配策略;如果未达到,则返回步骤D。
将上述优化方法用于国内某大型医院的快速出药系统中的储位配置。为保证药品顺利出入库,储药槽和药盒之间的间隙必须保持在一定的范围内。合理分配优化储药槽不仅能够有效地提高药品出入库效率,节约成本和提高空间利用率,而且便于加工和安装,提高系统可靠性。在快速出药系统中,储药柜是由长度相同、宽度和高度不同的储药槽矩阵排列而成的。同层储药槽的高度相同,宽度可以不同,不同层储药槽高度可以不同。根据该医院门诊药房半年中近300种药品的信息清单,经过对该药品药盒尺寸的统计发现药盒的长度为41mm~200mm范围内,宽度为31mm~150mm范围内,高度为12mm~60mm范围内。同时该快速出药系统占地面积需小于20平米,为此确定储药柜的外部尺寸(长*宽*高)为:3500mm*1600mm*1800mm。
快速出药系统的货架采用固定式货架,共15层,最大43列,共计645个储位。为了便于计算,将储位编码抽象为数字序列,按照货架从低层到高层编码的方法进行排序,见表1。
表1 储位编码表
经对300种药品分析,将其分为A、B、C、D四类,根据医院药房的发药需求情况判断,重点对A类药品在分类存储的基础上利用储位优化模型进行精确配置储位的方法进行管理。对B类药品我们选择B类基于分类定位存储。C、D类货品的品项数大,但是出入库频次与数量都不大,可以采用随机存储的方法进行管理,以达到节约存储空间的目的。由于药品重量较轻,且设计的货架完全满足承重要求,不考虑储位承重的问题。满足计算A,B,C,D四类货品的需求储位数、出入库的平均频率如表2所示。
表2 药品分类信息表
经对算法结果分析,对于药品储位的排列问题,如果想要在满足多个限制条件的情况下,想得到真正的最优解,是不可能实现的。本发明采用粒子群算法得到的储位排列是次优解,但是对提高系统作业效率以及存储空间的利用率却起到了非常积极的作用。
机译: 利用粒子群算法优化重组蛋白表达的序列优化方法
机译: 一种内燃机喷油嘴的优化方法,包括使喷油嘴主体和针头在壳体的孔内轴向滑动,其中采用粒子群算法对喷嘴进行几何布置
机译: 基于改进粒子群算法的无人水面车辆路径规划方法和系统