【技术实现步骤摘要】
Operational Research,2014.235(1),73
–
87.];Bontoux等提出了使用蚁群优化(ACO)技术解决不对称的R
‑
TPP,同时最小化采购和旅行成本,将蚁群算法与探索邻域结构的局部搜索方案相结合,更新了大多数实例的最优解,求解质量上优越性明显,但其耗时仍比较多[B.Bontoux and D.Feillet.Ant colony optimization for the traveling purchaser problem,Comput.Oper.Res.,2008.35(2):628
–
637.]。
[0004]在目前所研究的R
‑
TPP中,需求约束和市场购买产品数量约束分别考虑,一个商品可能会拆分到几处购买。此外,由以往TPP及其变体可知,其求解结果都仅是得到一个最优方案。然而本问题的特殊之处在于,需要快速地给用户提供一组省时又便利的取药方案,用户可根据自身情况选择其中一个方案去完成取药。因为道路情况或用户个人情况的特殊性,很容易出现唯一的最佳方案不可用的情况,从用户实际需求出发,则希望能提供多个较优的取药方案,以便用户根据自身知识选择最有利的方案,故本问题为多模态优化问题。基于此针对取药路径规划问题建立数学模型,并设计了改进小生境蚁群算法来求解得到一组高质量的取药方案。
技术实现思路
[0005]本专利技术的目的是针对现有技术的不足之处,提供一种利用小生境蚁群规划取药路径的方法,能够快速有效且可靠的提供给用户高质量取药路径 ...
【技术保护点】
【技术特征摘要】
1.一种利用小生境蚁群规划取药路径的方法,其特征在于步骤如下:S1:设有n个售药机构,每个售药机构中的药品种类且存储量有限,根据用户药单中对售取药的快捷性需求,建立取药路径规划模型;S2:采用蚁群算法对用户取药路径规划模型生成并优化解,利用小生境技术维持取药路径的多样性;其中蚁群算法利用NP只蚂蚁随机选择第一个售药机构作为起点,将各蚂蚁的当前位置添加到各蚂蚁自身的禁忌表中;S3:蚁群算法中的蚂蚁通过信息素和启发式信息来选择取药路径中起点后行进的下一个售药机构作为节点,因此利用改进状态转移概率来确定各蚂蚁选择下一个节点,然后将移动的节点位置更新该蚂蚁自身的禁忌表;S4:循环步骤S3直至满足取药路径规划模型中的药品满足度约束条件,对不能满足所有药品需求的不可行解进行局部信息素更新;S5:在每一代的所有蚂蚁寻解完成后,对当前各小生境的最优解运用2
‑
opt,即两元素优化方法,在最优解方案中选择两个取药处并交换顺序,如果改变顺序后改进了原解,则将原解替换为新解;S6:通过目标值和共享路径距离评价每只蚂蚁寻得的取药方案个体,分别得到适应值和相似度并更新小生境;S7:按照全局信息素更新规则更新全局信息素;S8:判断是否达到作为终止条件的最大迭代次数,若满足,则输出全局信息素更新后的取药方案;否则,清空每只蚂蚁的禁忌表,并跳转到步骤S2;S9:把所得的取药方案中适应值最高的作为最优解,根据最优解选取策略,即将全局信息素更新后的所有取药方案与最优解比较,把差距小于可接受程度ε的解保存进最佳取药方案保存,否则遗弃,从而获得一组最佳取药路径规划方案。2.根据权利要求1所述的利用小生境蚁群规划取药路径的方法,其特征在于建立取药路径规划模型的具体方法为:S11:设共有n个售药机构,记为a1,
···
,a
n
,构成决策变量X=(x1,x2,
…
,x
n
);为形成有效的访问路径,在决策变量中标记不访问的售药机构的序号x
i
=0,将购买到所有药品需要访问的m个售药机构则按其访问顺序依次标记为x
j
=q,q=1,2,
…
,m;记用户当前的位置为x0,用户取药完成后抵达位置为x
n+1
,其中n个售药机构具有异构特性,即具有不同的药品种类和存储量;S12:记x
i
,x
j
为访问路径上两个相邻售药机构,二者之间的实际路径行驶时间为T(x
i
,x
j
);售药机构包括药店和医院,每一个药店和医院的取药时间分别设为t0和t1,设所访问的售药机构中存在个药店和个医院,则访问路径所需的总取药时间为用户从当前位置出发x0,经过选中的售药机构,最终抵达完成位置x
n+1
,则访问路径所需的总时间为:S13:假设用户药单中的药品集合为L,第k种药品的需求量为d
k
,对于售药机构i,第k种
药品的库存量为则该售药机构对第k种药品的满足度,记为则该售药机构对第k种药品的满足度,记为式(2)确保了每种药品都能一次性取完。为保证用户药单中所有药物都取到,则对于用户药单中的任一药品,在所访问的售药机构中,至少有一个售药机构取到满足数量需求的该种类药品,即:S14:由此,构建取药路径规划的模型为:3.根据权利要求2所述的利用小生境蚁群规划取药路径的方法,其特征在于改进的状态转移概率计算方法如下:S31:蚂蚁通过信息素τ和启发式值η来选择新进的下一个节点,因此信息素τ越多、启发式值η越高的路径被选中的概率越大,下一个节点的状态转移的概率公式如下:式值η越高的路径被选中的概率越大,下一个节点的状态转移的概率公式如下:式值η越高的路径被选中的概率越大,下一个节点的状态转移的概率公式如下:其中,iter为当前迭代次数,iter_max为最大迭代次数,β为蚂蚁信息素启发因子,γ为期望启发因子,allow表示蚂蚁尚未访问的售药机构节点集合;信息素与启发式信息的权重比μ和ζ随着迭代的进行自适应改变,使得启发式因素在迭代前期占比更大,之后接近于1;在迭代中期,信息素的影响力增大,加快收敛速度;而在后期,降低信息素的影响,特别是在迭代的最后三分之一,信息素的权重比μ降至1以下,以防止蚁群陷入局部最优;其中,对于蚂蚁所在的当前位置来说,作为下一个行进节点的某个售药机构的启发式值η(x
i
,x
j
)由当前位置到该节点的实际路径行驶时间和该节点到终点的实际路径行驶时间共同决定:4.根据权利要求3所述的利用小生境蚁群规划取药路径的方法,其特征在于基于药品满足度的约束处理包括以下内容:S41:在每只蚂蚁随机选取作为第一个节点的售药机构x
i
之后,对每只蚂蚁的信息素做如下变化:
其中τ(x
u
,x
i
)(u=0,1,
…
,n)为所有节点到节点x
i
的边的信息素值,为信息素挥发因子,Q1为局部信息素增量系数,为售药机构x
i
的药品满足度;S42:对于蚂蚁寻...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。