首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 受理局 / 一种用于解决订单受理与调度问题的多样化控制遗传算法

一种用于解决订单受理与调度问题的多样化控制遗传算法

阅读:1018发布:2020-05-21

专利汇可以提供一种用于解决订单受理与调度问题的多样化控制遗传算法专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种用于解决订单受理与调度问题的多样化控制遗传 算法 ,所述算法包括编码及适应度计算、选择操作、交叉操作、变异操作、局部搜索,其特征在于:在操作中采用多样化控制策略,同时考虑个体的基因层差别与适应度差别来筛选出存在一定差异的个体,本发明所述的算法在搜索过程中始终保持一个多样化的种群,有效地防止算法过早收敛陷入局部最优解;在基本的 遗传算法 中加入了局部搜索提高了个体的 质量 。,下面是一种用于解决订单受理与调度问题的多样化控制遗传算法专利的具体信息内容。

1.一种用于解决订单受理与调度问题的多样化控制遗传算法,所述算法包括以下步骤:
步骤1).编码及适应度计算:采用随机键表示方法生成构成订单受理与调度问题的初始种群,并以加工序列中各工件的实际收益之和作为染色体的适应度;
步骤2).选择操作;
步骤3).交叉操作:采用相同位优先拷贝交叉操作;
步骤4).变异操作: 采用移码变异交换方式;
步骤5).局部搜索: 以等概率采用两种局部搜索策略:一是相继交换个体中相邻两个位置的基因并记录下最优个体来替代当前个体,二是采用析构与构造方法,在析构过程中从当前染色体随机抽取一定数量基因并从当前染色体中删除这些基因,在构造过程中将这些基因按照其抽取顺序依次尝试加入个体中的每个基因并记录下最优个体来替代当前个体;
所述算法其特征在于:在步骤2)、步骤3) 和步骤4)操作中采用多样化控制策略,同时考虑个体的基因层差别与适应度差别来筛选出存在一定差异的个体,所述的多样化控制策略包括:
(a)个体差异衡量准则:采用一种新的海明距离
来衡量个体之间的差异,其中 和 分别表示个体 和 中第 个基因
位表示的工件被选择安排加工,首先对个体进行适应度评价,确定染色体中哪些基因位上的工件被安排加工,衡量个体差异时只考虑这些被安排加工的工件。
(b)配对选择策略:当迭代中种群中多个体中的适应度值相同时,步骤2)的选择操作采用锦标赛选择操作;
(c)生存选择策略:在生成子代种群时,首先采取精英保留策略将父代种群的精英个体加入子代种群中直到达到子代种群的最大规模,在执行生存选择时,优先选择适应度高的进入下一代个体,同时删除一些适应度相同并且基因结构相似的个体。

说明书全文

一种用于解决订单受理与调度问题的多样化控制遗传算法

技术领域

[0001] 本发明涉及一种用于解决订单受理与调度问题的多样化控制遗传算法

背景技术

[0002] 订单受理与调度(Order Acceptance and Scheduling,OAS)问题来源于面向订单生产的加工制造业。企业按照订单生产加工,可以满足用户个性化、差异化的产品定制需求,降低产品的库存成本,从而提高企业的竞争。但与此同时,面向订单生产也给企业带来一定的挑战:客户的订单通常具有时效性,如果企业不能在用户期望的时间段内提交产品,则必然降低客户的满意度,长此以往将会损害企业的利益。而由于生产能力的限制,企业如果无法按期完成所有加工订单的生产,则必须从接收的订单中选择一部分进行生产并且为各订单安排加工时间。在企业中,受理订单通常是市场部的工作,而生产加工则由生产部门负责。如果市场部门不考虑所受理的订单对生产部门工作的影响,则很容易造成订单过量、企业无法按期交付的情况发生。因此,订单的选择与生产调度必须统一考虑。OAS问题在很多行业内广泛存在,比如Oguz列举的一个打印与层压(Printing and laminating)工厂的例子很有代表性。在OSA问题中,工件存在严格的完工截止期,不是所有的工件都能被安排加工,如果能够安排加工则必须处在由释放期和截止期组成的时间窗口内,以最大化所有工件的收益为优化目标。

发明内容

[0003] 本发明的目的在于提供一种计算结果优良的用于解决订单受理与调度问题的多样化控制遗传算法。
[0004] 为了实现上述目的,本发明的技术方案是:一种用于解决订单受理与调度问题的多样化控制遗传算法,所述算法包括以下步骤:
步骤1).编码及适应度计算:采用随机键表示方法生成构成订单受理与调度问题的初始种群,并以加工序列中各工件的实际收益之和作为染色体的适应度;
步骤2).选择操作;
步骤3).交叉操作:采用相同位优先拷贝交叉操作;
步骤4).变异操作: 采用移码变异交换方式;
步骤5).局部搜索: 以等概率采用两种局部搜索策略:一是相继交换个体中相邻两个位置的基因并记录下最优个体来替代当前个体,二是采用析构与构造方法,在析构过程中从当前染色体随机抽取一定数量基因并从当前染色体中删除这些基因,在构造过程中将这些基因按照其抽取顺序依次尝试加入个体中的每个基因并记录下最优个体来替代当前个体;
所述算法其特征在于:在步骤2)、步骤3) 和步骤4)操作中采用多样化控制策略,同时考虑个体的基因层差别与适应度差别来筛选出存在一定差异的个体,所述的多样化控制策略包括:
(a)个体差异衡量准则:采用一种新的海明距离
来衡量个体之间的差异,其中 和 分别表示个体 和 中第 个基因
位表示的工件被选择安排加工,首先对个体进行适应度评价,确定染色体中哪些基因位上的工件被安排加工,衡量个体差异时只考虑这些被安排加工的工件。
[0005] (b)配对选择策略:当迭代中种群中多个体中的适应度值相同时,步骤2)的选择操作采用锦标赛选择操作;生存选择策略:在生成子代种群时,首先采取精英保留策略将父代种群的精英个体加入子代种群中直到达到子代种群的最大规模,在执行生存选择时,优先选择适应度高的进入下一代个体,同时删除一些适应度相同并且基因结构相似的个体。
[0006] 优点及有益效果:1.本发明所述的算法在搜索过程中始终保持一个多样化的种群,有效地防止算法过早收敛陷入局部最优解;
2.在基本的遗传算法中加入了局部搜索提高了个体的质量
附图说明
[0007] 图1为基本遗传算法的基本流程图
[0008] 图2为个体差异衡量准则中个体之间差异比较示意图。
[0009] 图3为局部搜索中析构与构造示意图。

具体实施方式

[0010] 为便于具体描述,首先引入相关元素:待加工工件(订单)的数量;
一个足够大的正数;
工件 的释放时间, ;
工件 需要的加工时间, ;
工件 的交货期, ;
工件 的截止期, ;
工件 在交货期前完工所能获得的收益, ;
工件 的延期完工惩罚系数, ;
工件 的完工时间, ;
机器连续加工工件 和工件 之间需要的转换时间, , ;
工件 的延期完工时间, ;
订单受理与调度(Order Acceptance and Scheduling,OAS)问题可以如下描述:在单机加工环境下,存在 个待加工工件,各工件之间相互独立,没有偏序及时间关系约束。如果工件 紧接着工件 加工,则机器在加工完工件 后到开始加工工件 之前,需要转换时间 , 不一定等于 。每个工件 只有在其释放期 之后才能开始加工,所需
要的加工时间为 ,如果在其交货期 之前完工,则能够从该工件上获得的收益为 ;如果完工时间 ,则称该工件延期完工,每延期完工1个时间单位收益减少 ,随着工
件延期的不断增加,加工该工件所能获得的收益随之线性递减;如果完工时间超过了截止期 ,则加工该工件不会产生任何收益。因此为提高资源的使用效率,这些完工时间超过截止期的订单不应该被受理安排加工。工件 的延期完工时间 ,
延期惩罚系数 ,加工工件 获得的收益 与其完工时间 之间的关系为
。OAS问题的优化目标是最大化所有工件的收益之和。
[0011] OAS问题中的 可以看作是客户期望的最晚交货时间,如果在企业在 之前交货,客户全额付款;如果晚于 交货,则客户的满意度降低,只愿意付出部分款额,如果晚于截止期 交货,则客户拒绝为该订单付款。企业加工该工件所能获得的收益是与其完工时间有关的一个分段线性函数。
[0012] 引入0-1变量 , ,如果工件 被选择加工,则 ,否则 ;引入0-1变量 , , , ,如果工件 紧接着工件 之后加工,则 ,否则
;引入虚拟工件0和虚拟工件 ,分别表示早于所有其他真实工件加工的第一个
工件和晚于所有其他真实工件加工的最后一个工件, , , , ,
, , , , , 。则OAS问题的数学模型如下:
s.t.
, , , ( 1)
, , , ( 2)
, (3)
, (4)
, (5)
, (6)
, (7)
, (8)
, , , (9)
, , , (10)
,(11)
;(12)
, ;(13)
, , , ;(14)
(1)表示如果工件 紧接着工件 之后加工,则工件 的完工时间加上转换时间 ,再加上工件 的加工时间不大于工件 的完工时间,如果工件 并没有紧接着工件 之后加工,则该约束不起作用;(2)表示如果工件 被选中加工,则工件 的完工时间至少为该工件的释放期加上加工时间,如果工件 的紧前加工工件为 ,则工件 的完工时间至少为该工件的释放期加上工件 到工件 的转换时间再加上工件 的加工时间,如果工件 没有被选中加工则该约束不起作用;(3)表示如果一个工件被选中加工,则该工件的完工时间不晚于截止期;(4)和(5)表示工件 的收益 的计算方式;(6)、(7)和(8)确定了工件 的延期的计算方式;(9)和(10)限定了每个工件最多只有一个紧前工件和后序工件;(11)限定了虚拟工件的完工时间;(12)设定虚拟工件0和 必须完工;(13)和(14)设定 和为0-1变量。
[0013] 本发明针对OAS问题,设计了一种新的求解算法,即多样化控制遗传算法。多样化控制遗传算法采用一种新的方式来计算个体之间的相似性,在子代种群选择策略中同时兼顾个体的适应度和个体之间的多样性,使得在算法的求解过程中,始终始终保持一个多样化的种群。
[0014] 技术原理:本发明所述多样化控制遗传算法首先生成初始化种群并且评价种群中每个个体的适
应度值。在每一次迭代过程中,采用精英保留策略将父代种群中的若干最优个体直接加入子代种群中,然后从父代种群中选择出一个子集,从该子集中选出两个个体进行遗传操作(交叉、变异)生成子代个体并加入子代种群中,重复该过程直至子代种群达到预设的规模,然后再从子代种群中进行生存选择操作,将选择出的子代个体作为下一次迭代的父代种群。当达到终止条件时,算法终止并输出在搜索过程中发现的最优解。
[0015] 编码及适应度计算:对于含有 个订单的OAS问题,本发明采用长度为 的整数序列表示一条染色体,
染色体中第一个基因位设为0,最后一个基因位设为 ,分别表示虚拟工件0和虚拟工件,中间其余基因位由1- 范围内的整数随机排列构成,表示实际的工件序列。设
,则整数序列[0,7,9,8,4,10,6,3,2,1,5,11]即可表示问题的一条染色体。初始化时,采用随机键表示方法生成 条染色体构成问题的初始种群。
[0016] 本发明以加工序列中各工件的实际收益之和作为染色体的适应度。按照染色体中各工件的加工顺序,依次尝试将工件安排在其最早可能的加工开始时间,如果工件的完工时间未超出截止期则确定安排该工件加工,否则该工件不安排加工。
[0017] 交叉操作将父代个体中的基因进行重组生成子代个体,使得子代个体能够继承父代个体的部分性状特征。对于具有排列性质的编码方式,一个良好的交叉操作希望既能够保持父代个体中部分优良基因的绝对位置,又能够保持不同基因之间的相对位置。这里采用相同位优先拷贝交叉操作,该操作原本被设计用在求解生产调度问题中,这里将该操作运用到OAS问题上。相同位优先拷贝到过程如下:(1)在两个父代染色体中占据相同位置的基因将被直接拷贝到子代个体中对应的位置上;
(2)随机生成两个交叉位置,将位于这两个交叉位置中间的父代个体1和父代个体2种的其他基因分别拷贝到子代个体1 和子代个体2种;
(3)将父代个体1中的剩余基因按照在父代个体2中出现的顺序放到子代个体1的剩
余位置上,将父代个体2中的剩余基因按照在父代个体1中出现的顺序放到子代个体2的剩余位置上。
[0018] 比如考虑如下两个准备进行交叉操作的父代个体:首先将占据相同位置的基因拷贝到子代个体上。
[0019]然后将父代个体1和父代个体2中位于随机交叉位置中间的基因分别拷贝到子代个体
和子代个体2。
[0020] 再将父代个体1种剩余的基因4、8、7按照在父代个体2种出现的顺序8、7、4放置到子代个体1的剩余位置上,将父代个体2种的剩余基因9、3、4按照在父代个体1中出现的顺序4、3、9放置到子代个体2种的剩余位置上,这样即可得到两个子代个体的完整编码:在多样化控制遗传算法中,对于两个父代个体,由于是按照概率 进行交叉,有可能不进行上面的操作而直接将父代个体复制到子代个体上。
[0021] 变异操作以概率 对某些基因位进行变化来防止个体过早陷入某局部搜索空间。针对OAS具有排列性质的编码方式,这里采用移码交换变异方式。移码交换变异既能够改变某些基因的实际位置来获得较好的多样性,同时又能保持一些基因的相对位置来保持原染色体的某些特性不被破坏。移码交换变异首先生成两个随机位置a和b(a < b),然后将b位置上的基因放到a位置上,再将a及a和b之间的其他基因依次向后移动。
[0022] 种群早熟是经典遗传算法中经常遇见的情况,随着算法的迭代运行,种群中的个体逐渐陷入一片小的搜索区域,使得搜索过程停滞不前。造成这一现象的主要原因有三个:一是不适当的选择操作,使得种群中的“超级个体”主导了选择过程,大大降低了种群的多样性;二是当种群开始逐渐收敛之后,对两个相似的父代个体采用交叉操作仍然只能生成与之相似的子代个体;三是低概率的变异操作不能够恢复种群的多样性。如果在搜索过程中始终保持一个多样化的种群,则能有效防止算法过早收敛陷入局部最优解。
[0023] 个体之间的差异通常可以从基因型和表现型两个方面来衡量。基因型差异从基因的度衡量个体之间的差异,而表现型差异指的是从适应度的角度衡量个体之间的差异。因此要保持多样化的种群,必须使得个体之间存在适应度或基因差异。本发明提出了一种新的衡量个体差异的方法,比传统的海明距离更符合OAS问题的特点,设计了一种同时考虑个体的基因层差别与适应度差别的配对选择操作,在生存选择操作中筛选出存在一定差异的个体(尽管可能存在相同的适应度值)进入下一次迭代。这两种选择操作使得算法在每次迭代开始前,保证种群既有较高的适应度值,又保有一定程度的多样化。
[0024] (a)个体差异衡量准则在群智能优化算法中 ,海明距离是一种常见的描述个体之间基因差别的方法。
[0025] 在OAS问题中,由于存在选择和调度两个决策,在一个加工序列中并非所有工件都会出现在最终的可行解中,因此对比染色体中的所有基因位之间的差异可能并不能真正反应出个体之间的差异。
[0026] 本发明提出一种新的个体差异衡量标准:其中 和 分别表示个体 和 中第 个基因位表示的工件被选择安排
加工。该方法首先需要对个体进行适应度评价,确定染色体中哪些基因位上的工件被安排加工,衡量个体差异时只考虑这些被安排加工的工件而不考虑未被加工的工件。
[0027] 如图2中的三个个体,图中阴影部分的基因表示代表的工件在经过适应度评估之后被选择加工,其余位置的基因表示未被选择加工。如果采用传统的海明距离方法计算个体之间的差异,则 , ,根据该衡量方法,似乎个体A和C之间的差异比个体A和B之间的差异更大。但事实上,个体A中最终被选择加工的工件序列为[6,1,2,7,9,10],个体B中最终被选择加工的工件序列为[6,7,1,2,9,10],个体C中最终被选择加工的工件序列为[6,7,2,1,9,10]。如果从最终实际加工工件序列的角度来看,个体A和个体B之间的差异应该比个体A和个体C之间的差异更大。
[0028] 按照本发明衡量标准, , ,这说明个体A和B之间的差异大于个体A和C之间的差异。
[0029] (b)配对选择策略配对选择操作用来在算法的每次迭代中从配对池中选择出两个个体配对执行遗传操
作(交叉、变异)。限制配对选择策略的过程大致如下:
(1)从父代种群 中随机选择 个个体组成集合 ;
(2) 设 是 中具有最高适应度值的个体,将 加入配对种群 中并将 从 和
中删除;
(3) 依照规则 将 中的剩余个体排序,如果 是基因型相似度,则按照与 的基
因相似度由高到低将 中的个体排序,如果 是表现型相似度,则按照适应度由高到低将 中的个体排序,设此时 ;
(4) 从已经排序的 中选择 作为 的配对个体 加入 中,将 从 中删除;
(5) 如果 不为空,则返回(1)。
[0030] 该方法中, 是 中具有最优适应度(Best)的个体。如果取 ,则 是中与 最接近(First)的个体,否则 是 中与 最不接近(Last)的个体。而排序
规则 又分为基因型(Genotype)和表现型(Phenotype),因此该配对策略就分为四种:
Best-First-Genotype(BFG)、Best-Last-Genotype(BLG)、Best-First-Phenotype(BFP)和Best-Last-Phenotype(BLP)。
[0031] 和经典的函数优化问题不同,OAS的搜索空间存在很多“平原”,即多条不同的染色体拥有相同的适应度函数。
[0032] 当种群中的很多个体聚集到平原地带时,无法通过适应度的差别来比较个体之间的差异。因此,这里采用BLG策略,随着算法的收敛当个体聚集于平原地带时,将差异较大的个体进行配对。但是为了让 的配对个体 也保持较好的适应度,这里将步骤(1) 中的生成方法由随机选择改成0-1锦标赛选择方法,即执行 次0-1锦标赛选择生成不含重复个体的集合 。
[0033] (c)生存选择策略生存选择决定子代种群中哪些个体能够进入下一次迭代的父代种群中。子代种群的
规模通常比父代种群的规模大,多样化控制遗传算法在生成子代种群时,首先采取精英保留策略将父代种群的精英个体直接加入子代种群中,然后不断采用配对选择策略选择个体进行交叉、变异操作生成新的个体加入子代种群中直到达到子代种群的最大规模。多样化控制遗传算法在执行生存选择时,优先选择适应度高的个体进入下一代,但为了防止产生过多的相似个体,需要删除一些适应度相同并且基因结构较为相似的个体。如果精英个体以及从子代种群中选择出的个体总数达不到父代个体的规模,则补充一些随机生成的新个体。
[0034] 本发明局部搜索采用析构与构造局部搜索策略,在经过生存选择产生进入下一代的个体之后,多样化控制遗传算法从其中前30%最优个体中随机选择 个进行局部搜索以提高个体的质量。局部搜索通过在当前个体的邻域内选择一个最好的个体来替代当前个体。多样化控制遗传算法以等概率采用两种局部搜索策略:一是相继交换个体中相邻两个位置的基因并记录下最优个体来替代当前个体,这种局部搜索的复杂度较低;二是采用迭代贪婪的析构与构造方法作为局部搜索策略,该方法复杂度比前一种高,但是具有更好的搜索效果。该方法分为析构和构造两个过程,在析构过程中从当前染色体随机抽取 个基因并从当前染色体中删除这些基因,在构造构成中将这 个基因按照其抽取顺序依次尝试加入个体中的每个基因位并记录下最优个体来替代当前个体。
[0035] 以一个含有15个工件的OAS问题为例,如图3所示。当前个体中工件的加工序列为[1,15,11,12,3,7,4,2,6,8,13,10,14,9,5],适应度为77,从中随机抽取三个基因[8,5,9],然后将工件8依次加入剩余基因序列中的各个位置,得到具有最大适应度的序列,再将
5和9依次加入剩余基因序列中,直到得到完整的加工序列[1,15,11,12,3,7,4,9,8,2,6,
13,5,10,4],适应度值为115,比初始适应度77得到了改进。
[0036] 本发明所述的实施例仅仅是对本发明的优选实施方式进行的描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中工程技术人员对本发明的技术方案作出的各种变型和改进,均应落入本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈