一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于可用资源编码的多对多货物调度优化分配方法与流程

2022-05-18 00:33:05 来源:中国专利 TAG:


1.本发明属于货物调度技术领域,特别涉及一种多对多货物调度优化分配方法。


背景技术:

2.随着现代化物流技术的发展,在货物运输调度应用中,存在一种多对多货物调度应用问题,所谓多对多货物调度是指存在多个仓库、多个市场,而且单个仓库货物同时供应多个市场、单个市场货物可由多个仓库配送。由于大宗货物受从仓库到市场道路的限高限宽及承重等因素有一定通行概率约束,多对多货物调度应用问题以最大成功概率为调度方案优化方向,该类问题对应的目标函数为非线性形式。遗传算法作为求解大规模非线性组合优化问题的计算工具有着广泛运用,它不直接对变量作迭代运算,而是利用变量编码把可行解映射为染色体基因串,通过对染色体基因串不断进行遗传操作来寻找全局最优解。但遗传算法应用于多对多货物调度问题时,由于单个仓库货物同时供应多个市场,单个市场货物可由多个仓库配送,常规数值编码再级联的基因编码策略在进行遗传操作时,难以同时兼顾多个约束条件,容易出现货物类型不匹配、可用数量不限制、需求数量不满足等死码现象。因此,如何利用遗传算法来解决多对多货物调度优化是急需解决的技术难题。


技术实现要素:

3.本发明的目的在于克服常规技术的缺陷,针对多对多货物调度的复杂约束与目标函数,提供一种基于可用资源编码的多对多货物调度优化分配方法,解决多个约束条件冲突所导致的基因死码难点,实现利用遗传算法,得到多对多货物调度的最优解。
4.本发明的发明构思是:本发明中,货物调度问题抽象描述如下:从k个仓库{k1,k2,

kk}调度n类货物{n1,n2,

nn}到m个市场{m1,m2,

mm}上进行销售,设分配变量表示从第k个仓库调度了第n类货物到第m市场的分配数量,已知条件如下:a)每个市场每类货物的需求情况表示第m个市场第n类货物的需求数量;b)每个仓库每类货物的可用情况表示第k个仓库第n类货物的可用数量;c)某个仓库到某个市场运输某类货物的道路可通行概率表示第k个仓库到第m个市场第n类货物的道路可通行概率,为0表示不可通行;所述多对多分配是指:允许单个仓库同时供货多个市场,但不能超出仓库可用数量,有;允许单个市场由多个仓库配送,但不能低于市场需求数量,有。
5.所述多对多分配时需要考虑约束包括:分配方案不仅满足仓库可用数量和市场需求数量要求,还不可以出现道路可通行概率矩阵中0元素对应的仓库、市场与货物类型的匹
配项;即约束包括:所述多对多分配的优化目标是成功概率最大,即目标函数是完成各类货物调度任务的成功概率和最大值,表示为由于目标函数中有非线性表达式,利用遗传算法来求解,针对分配变量按照级联方式进行数值编码,设计个体基因如下:但在上述带约束的非平衡多对多货物调度问题中,的值域范围随下标knm的不同而变化,并且存在仓库可用数量、市场需求数量、道路可通行概率等约束,无约束遗传操作会出现不可行解。例如交叉算子中,如果跨货物类型任意交换两点分配变量值,基因解码出来的结果可能会超出对应仓库可用数量限制,而形成死码。其原因就在于常规级联数值编码方法是用变量下标来描述分配关系,对变量值采用数值编码,再串联拼接多个变量形成个体的染色体基因串,多应用于无约束下的单对单指派问题,限定在一次分配中某类货物一个仓库只给一个市场供货,避免了表达式形式出现的约束条件,只需要在种群初始化时满足变量值域约束即可。
6.由此可见,针对多对多货物调度的复杂约束与目标函数,在利用遗传算法求解时,其基因编码方法必须同时考虑仓库、市场、货物之间的分配关系和分配数量两个维度。因此创新提出一种基于可用资源的编码方法,颠倒分配变量的变量值与变量下标索引的地位,取原来变量值域上限作为染色体基因串长度,用基因位点来表示原来的变量值,对变量下标索引进行符号编码,用基因位点的取值符号来表示原来的变量下标。利用该编码方法得到个体的染色体基因串,进行遗传操作得到最优分配方案。
7.本发明的技术方案是:一种基于可用资源编码的多对多货物调度优化分配方法,其特征是:包括一种基于仓库货物可用资源进行基因编码方法,按照所述基因编码方法初始化种群,确定个体适应度函数,进行遗传算法的选择、交叉、变异操作,得到多对多货物调度的最优解;具体包括:所述基于仓库货物可用资源进行基因编码方法,包括以下步骤:step11 确定先段后点的染色体基因串形式以仓库内货物类型为基因片段、该类货物可用数量为基因位点,取最小分配单位1为标准,顺序列出所有仓库所有货物类型对应可用的标准单位资源,确定先段后点的染色体基因串形式;由此可见,个体的染色体基因串长度与货物可用总量相等,该步骤把多个变量值统一转化为一个定长染色体基因串中基因位点非零取值的索引;step12利用道路可通行概率矩阵,生成道路可通行符号编码矩阵以每个仓库运输每类货物到每个市场的道路可通行概率生成道路可通行概率矩阵;
(说明:所述道路可通行概率矩阵各元素值表示了对应仓库的对应类货物到达对应市场的可通行概率,对于某仓库没有某类货物满足有需求市场或某仓库的某类货物对某市场没有需求的两种情况对应元素值取0;)将所述道路可通行概率矩阵中的非零值部分用非0符号编码,将所述道路可通行概率矩阵转变为道路可通行符号编码矩阵;所述编码符号与仓库、货物类型和市场建立了索引关系;由此可见:编码符号表示了某类仓库中的某类货物分配到某市场,0编码表示某类仓库中的某类货物不参与分配到某市场;所述道路可通行编码矩阵实现了分配变量的变量下标索引knm转化为基因位点取值的符号编码集合;step13利用道路可通行概率编码矩阵,得到各基因片段的可选编码子集利用所述道路可通行符号编码矩阵,抽取各基因片段对应的编码符号集合并增加符号0表示不分配情况,得到每个基因片段的可选编码子集;说明:由于同一基因片段的各基因位点表示同一仓库同一类货物,因此编码符号可选编码子集相同。
8.step14初始化种群按照步骤step11确定的染色体基因串形式,在步骤step13确定的各基因片段对应的可选编码子集内随机生成各基因位点的编码符号,得到个体的染色体基因串;重复多次得到初始化种群;所述个体适应度函数包括成功概率和目标函数;所述交叉操作要在同类仓库货物之间进行;所述变异操作要在所述基因片段的可选编码子集中进行。
9.进一步的,对步骤step12中所述非零值部分按照正整数进行顺序编码。
10.进一步的,所述个体适应度函数包括:用成功概率和的目标函数作为个体适应度函数主体;把满足市场需求数量约束条件,以惩罚函数的形式补充到个体适应度函数中。
11.进一步的,所述交叉操作采用多次随机的两点顺序交叉,具体步骤为:首先随机确定参与本次交叉的货物为第n类货物,然后在两个父代个体a1、b1中抽取与第n类货物对应的基因片段,拼成第n类货物的临时基因串a2、b2,从而确保交叉在第n类货物内进行;再随机在临时基因串a2、b2中确定两个交叉点p1和p2,将交叉点p1和p2之间的基因片段逐点顺序交换,得到新的临时基因串a3、b3;最后将临时基因组a3、b3返回替代原有两个父代个体a1、b1的基因位置,最终得到两个新的子代个体a4、b4。
12.进一步的,所述变异操作采用限定范围的单点均匀变异,具体步骤为:在个体染色体基因串中随机确定变异点;所述变异点对应可选编码子集的大小为,按照子集大小把(0,1)区间均分等分区间,并每1个区间对应1个可选编码子集的符号编码;取(0,1)区间内均匀分布的随机数rand,判断随机数rand落入哪个区间,即用对应区间对应的符号编码对该变异点进行变异。
13.进一步的,所述选择操作采用适应度比例法设群体规模为n其中个体i的适应度值为,则个体i被选中的概率为:
式中,反映了个体i的适应度在整个群体适应度总和中所占的比例,显然个体适应度越高,则被选择的概率也就高。
14.进一步的,个体适应度函数为:式中:表示从第k个仓库调度了第n类货物到第m市场的分配数量,其取值由个体基因的各基因位点符号编码与仓库、货物类型和市场建立了索引关系得到;k为仓库总数,n为调度的货物类别总数,m为货物调度的市场总数;为惩罚因子,如果分配方案满足市场需求数量约束,则个体适应度函数会退化为总体成功概率最大的目标函数,如果不满足,则其对应的适应度值相比满足的要小。
15.进一步的,所述遗传算法操作中融入退火操作,具体为:个体进行选择、交叉、变异操作由父代个体生成子代个体后,个体进行模拟退火操作,以概率形式判断是父代还是子代进入下一代群体。
16.本发明的有益效果:一是本发明基于可用资源进行基因编码,染色体基因串分段分点的形式对应了每个仓库每类货物的可用情况,遗传操作不改变染色体基因串形式,仓库货物可用数量不超出约束始终成立;二是本发明在基于可用资源进行基因编码的基础上,提出了相应改进的多次随机两点顺序交叉操作和限定范围单点均匀变异操作,均限定在可选编码子集内进行,道路可通行约束确保成立;设计的适应度函数中包含表示市场货物需求的惩罚函数,优化迭代运算时,市场货物需求数量满足约束能够成立。
附图说明
17.图1 本实施例的流程示意图;图2本实施例染色体基因串示意图。
具体实施方式
18.实施例1下面结合附图说明和具体示例对本发明的技术方案作进一步具体的说明。
19.如图1所示,一种基于可用资源编码的多对多货物调度优化分配方法,其特征是执行以下步骤:step1基于仓库货物可用资源进行基因编码,初始化种群;step2确定个体适应度函数;step3个体进行选择、交叉、变异操作,由父代个体生成子代个体;
step4个体进行模拟退火操作,判断是父代还是子代进入下一代群体;step5判断终止条件,如果不满足,返回step3;如果满足终止条件,则输出当前最优个体作为最优解。
20.为了能清楚的说明本发明提出的方法步骤,以一个具体示例来说明方法执行的实质具体示例假定是从2个仓库{1号仓、2号仓}调度3类货物{苹果、香蕉、桔子}到3个市场{东市、西市、南市}去销售,已知仓库货物存储情况、道路可通行概率和市场货物需求,求成功概率和最大值对应的最优分配方案。
21.本发明所提出的一种基于可用资源编码的多对多货物调度优化分配方法,步骤如下:step1基于仓库货物可用资源进行基因编码,初始化种群。具体步骤:step11确定先段后点的染色体基因串形式已知仓库内货物存储情况如下表所示。
22.仓库和货物类型的组合有1号仓苹果、1号仓香蕉、2号仓苹果、2号仓香蕉、2号仓桔子共5种情况,则基因片段共有5段。根据已知的每个仓库每类货物的可用数量,每个段的基因位点个数分别为1、2、3、2、2,先段后点按照嵌套关系顺序展开得到染色体基因串如图2所示。
23.step12利用道路可通行概率矩阵,得到道路可通行编码矩阵已知道路可通行概率矩阵(3个元素分别对应苹果、香蕉、桔子)如下表所示。
24.对道路可通行概率矩阵进行编码,其中:非零元素按照正整数进行顺序编码,零值部分统一用0进行编码。道路可通行概率编码矩阵如下表所示。
25.所得符号编码集合{0,1,2,3,4,5,6,7,8}为所有基因位点可能取值的符号集合。
26.道路可通行概率矩阵与道路可通行编码矩阵均与分配变量建立了索引关系,对应关系用下表表示:step13由道路可通行编码矩阵,确定各基因片段对应的可选编码子集由道路可通行编码矩阵,针对基因片段所表示的仓库货物类型,对照符号编码所对应的仓库和货物类型,梳理可选的市场或不参与分配情况,确定每个基因片段的可选子集。例如基因片段表示1号仓苹果,有不分配、或分配给东市、或分配给西市、或分配给南市共四种可能情况,则对应可选编码子集为{0,1,3,4},重复这个过程得到示例中所有基因片段对应的可选编码子集如下表所示。
27.step14初始化种群针对每个基因位点在可选编码子集范围内随机确定一个值,即得到一个个体染色体基因串。例如有,各个基因位点表示的资源分配方式可以通过所述可通行概率编码矩阵清楚得知,其中为4表示1号仓1个单位苹果分配给了南市;为2表示1号仓1个单位香蕉分配给了东市;为7表示2号仓1个单位苹果分配给了西市;为6表示2号仓1个单位香蕉分配给了东市;和均为8表示2号仓2个单位桔子分配给了南市;因为每个基因位点仅表示1个单位资源,分配数量为2需要在对应基因片段内找两个点取相同的符号;其它为0,表示对应的仓库货物未参与资源分配。
28.为保持种群中个体的多样性,采用海明距离作为初始化种群产生的判据,种群规模大小为g,估算,c为前面给出的基因长度,当前初始化种群时生成32个个体基因。
29.step2综合目标函数与市场货物需求约束,计算当前种群中个体适应度;个体适应度函数包括目标函数与市场货物需求约束两部分,如下所示:
式中为惩罚因子,如果分配方案满足市场需求数量约束,则个体适应度函数会退化为成功概率和的目标函数。
30.已知市场上货物需求情况如下表所示。
31.针对初始化种群中的某个个体染色体基因串,对应分配方案如下表所示。
32.解码得到=1、=1、=1、=1、=2,结合道路可通行概率矩阵取值0.9,0.8,0.85,0.9,0.95,惩罚因子取0.1,南市苹果有1个单位没有满足,惩罚函数值为1,代入适应度函数计算得到f(x)=0.9*0.85 0.8*0.9 0.95*2-0.1*1=3.285。
33.step3个体进行选择、交叉、变异操作,由父代个体生成子代个体,具体包括:选择操作采用适应度比例法(也叫轮盘赌方法),设群体规模为n,其中个体i的适应度值为,则个体i被选中的概率为。式中,反映了个体i的适应度在整个群体适应度总和中所占的比例,显然个体适应度越高,则被选择的概率也就高。
34.交叉操作采用多次随机的两点顺序交叉,假设前面依据适应度值选出来两个父代染色体基因串分别为a1={1,2,0,0,7,0,6,0,8,8}、b1={0,2,0,0,5,0,6,0,8,0},先利用随机数确定要需要交叉的货物类型为苹果,然后抽取两个基因串中属于苹果的片段()和(包含)拼成临时基因串得到a2={1,0,7,0}、b2={0,0,5,0};再随机确定交叉两点为2、4,即交换临时基因串第2点~第4点之间(含2和4)的符号值,则交叉后变为a3={1,0,5,0}、b3={0,0,7,0},最后根据抽取关系,返回替代原有基因片段位置,最终得到两个新的子代染色体基因串a4={1,2,0,0,5,0,6,0,8,8}、b4={0,2,0,0,7,0,6,0,8,0}。
35.变异操作采用限定范围的单点均匀变异,假设前面依据适应度值选出来一个父代染色体基因串p1={1,2,0,0,7,0,6,0,8,8},先随机确定变异基因位点为其对应可选
编码子集为{0,1,3,4},均分(0,1)区间4等分对应可选编码子集0,1,3,4四个符号,如果随机数为0.2,落入区间(0,0.25),则变异为符号0,得到新的子代染色体基因串p2={0,2,0,0,7,0,6,0,8,8}。
36.step4 个体进行模拟退火操作,判断是父代还是子代进入下一代群体,主要利用metropolis接收准则进行,设在当前问题,由当前状态i产生个体的适应度值为,经过遗传算法的选择、交叉、变异等操作后,产生新状态j下的新个体适应度为,设定适应度变异值为,metropolis接收准则对应的转移概率p服从以下分布:具体如下:如果,则状态j下的新个体适应度值所对应个体被保留在下一代中,并将适应度所对应个体从总体中删除;如果,按照上式计算对应的转移概率p;当随机数时,状态j下的新个体适应度值所对应个体被保留在下一代中,并将适应度所对应个体从总体中删除;当随机数时,状态i下的新个体适应度值所对应个体被保留在下一代中,并将适应度所对应个体从总体中删除。
37.step5 判断终止条件,如果不满足,执行退温操作,返回step2;如果满足终止条件,则输出当前最优个体最为最优解。结合具体示例,采用以下参数:群体平均适应度变化阈值0.1,最大遗传代数200,初温1000,截止低温1,降温速率0.95,示例近似最优解为,成功概率和最大值为6.25,即1号仓1单位苹果分配给南市,2号仓1单位苹果分配给东市,2号仓1单位苹果分配给西市,2号仓2单位香蕉分配给东市,2号仓2单位桔子分配给南市。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献