CN101256648A - 一种应用在生产排程系统的基于订单结构的遗传操作算子 - Google Patents
一种应用在生产排程系统的基于订单结构的遗传操作算子 Download PDFInfo
- Publication number
- CN101256648A CN101256648A CNA2008100357742A CN200810035774A CN101256648A CN 101256648 A CN101256648 A CN 101256648A CN A2008100357742 A CNA2008100357742 A CN A2008100357742A CN 200810035774 A CN200810035774 A CN 200810035774A CN 101256648 A CN101256648 A CN 101256648A
- Authority
- CN
- China
- Prior art keywords
- operator
- gene
- parent
- operation operator
- genetic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明提供了一种应用在生产排程系统的基于订单结构的遗传操作算子,对可行解池和不可行解池内的解选择性进行选择、交叉、变异操作,得到各种遗传解,为之后的排程优化,提供一个基础。此种遗传操作算子通过交叉变异方式处理多层次BOM结构的复杂工艺的订单排程问题,在遗传操作过程中,维持产品BOM结构,使遗传算法的设计简单,优化不受限制性条件的约束。而选择算子使群体进行了优胜劣汰的进化,使整体品质得以提高,并对劣解的适当选择,防止群体成熟前收敛,或者遗传算法搜索引向局部极值点,在很大程度上提升了遗传算法收敛性的效果和速度。
Description
技术领域
本发明涉及一种应用在生产排程系统中的遗传操作算子,用于处理多层次BOM结构的复杂工艺的订单排程问题。
背景技术
遗传算法是一种基于基因学和遗传学机理产生的直接搜索优化方法,它通过基因串的选择、交叉、变异,来寻求最佳解决方案。近年来,这种算法作为一种通用的优化算法,因其编码技术和遗传操作比较简单、优化不受限制性条件的约束、尤其是具有并行计算能力和全局解空间搜索能力,被广泛的应用在各行各业。生产排程问题——即如何合理利用有限的资源达到预期的生产目标,也可以通过这种算法进行优化解决。
应用遗传算法来解决生产排程问题可以通过以下步骤来实现:首先,对参与排程的工单进行置换编码,生成初始化种群;然后,选择优秀个体作为父代种群,进行交叉、变异,生成子代种群,再对子代种群进行解码操作,得到排程方案;再对排程方案进行约束条件检验,保留优秀个体;重复进行以上选择、交叉、变异操作和约束条件检验两个步骤,直至最优个体达到优化目标。
在此过程中应用遗传算法来解决生产排程问题实质上是通过遗传操作,即选择、交叉、变异操作,来不断产生新的基因,并淘汰劣等基因、保持优良基因,逐步优化完善方案的。因此遗传操作的设计成为能否得到高质量优化排程方案的关键。
Job Shop(车间)调度问题是许多实际生产调度问题的简化模型,是一个典型的NP-hard问题,是目前研究的最广泛的一类典型调度问题。但针对传统Job Shop调度问题设计的遗传算法,尤其是遗传操作的设计,在处理具有多层次BOM(Bill of Material,物料清单)结构的工艺复杂的订单时具有一定的局限性。
发明内容
本发明的目的在于提供一种应用在生产排程系统的基于订单结构的遗传操作算子,对可行解池和不可行解池内的解选择性进行选择、交叉、变异操作,得到各种遗传解,为之后的排程优化,提供一个基础。
在具体应用遗传算法解决排程问题时,遗传操作是针对已有的遗传基因串,即排程方案解,进行的。已生成的解可以根据是否符合约束条件,分作可行解和不可行解,分别存入可行解池和不可行解池。为了避免无解状况和增强多样性,遗传算方法在这两个解池的基础上选择优秀个体,选择性进行交叉、变异操作,生成下一代基因串,为排程方案解的优胜劣汰提供基础,选择、交叉、变异操作包括以下特征:
1.选择是通过设置选择率κ为阈值来实现的:若可行解池中个体数目与种群规模的比值小于κ,则可行解池中全部个体作为父代种群;若可行解池中解的数目与种群规模的比值大于κ,则从可行解池中选择种群规模的κ倍的个体作为父代种群,并从不可行解池中选择部分个体补足所需种群规模,即使得不可行解池中选择的个体数目与之前在可行解池选择的个体数目之和达到种群规模;此处种群规模为计算前预定义的父代种群的大小;
2.交叉是从父代种群中选取一对代表排程方案的基因串个体,并选择交叉操作算子进行交叉操作生成一对新的个体,存入子代种群,直至子代个数达到交叉率所规定的足够数目;
3.变异是从父代种群中选取一个代表排程方案的基因串个体,并选择变异操作算子进行变异操作生成一个新的个体,存入子代种群,直至子代个数达到变异率所规定的足够数目;
所述1中的选择率κ阈值设置的范围为
所述1中可行解池中解的数目与种群规模的比值大于κ情况下对可行解池中解的选择,是通过按解适应度值的高低作为其被选择到的概率,由轮盘赌方式来实现的。
所述1中不可行解池中解的选择,是按解的适应度值由高至低的次序来选择的。
所述2中的交叉操作算子,为三种交叉操作算子:a.两段式交叉操作算子:一父代基因串分两段和另一父代基因串进行比较、删除、替换,生成子代基因串;b.订单位置不变交叉操作算子:一父代基因串保留同一订单所涉及工单或工序的基因位,其他基因位由另一父代基因串的非所述订单所涉及工单或工序的基因位进行补充,生成子代基因串;c.订单加工顺序改变交叉操作算子:一父代基因串中同一订单所涉及工单或工序的基因位由另一父代基因串的所述订单所涉及工单或工序的基因位进行替换,生成子代基因串。其中,两段式交叉操作算子包括三种子算子:保留父代基因串前段、或保留父代基因串后段、或保留父代基因串较长段。
所述3中的变异操作算子包括以下两种交变异操作算子:a.产品加工顺序重排列变异算子:父代基因串交换同一订单所涉及工单或工序的基因位顺序,生成子代基因串;b.在可行范围内随机插入变异算子:父代基因串随机选择某个点插入到串中的不同随机位置,而可插入的可行范围受订单加工顺序的约束,变异点多与等于一个。
此外,当连续进行交叉、变异操作,选择交叉算子、变异操作时:交叉操作算子选择两段式交叉算子时,变异操作算子选择在可行范围内随机插入变异算子;当交叉操作算子选择订单位置不变交叉操作算子时,变异操作算子选择在可行范围内随机插入变异算子;当交叉操作算子选择加工顺序重排列改变交叉操作算子时,变异操作算子选择产品加工顺序重排列变异算子。
本发明的有意效果是:通过交叉变异方式能够处理多层次BOM结构的复杂工艺的订单排程问题,在遗传操作过程中,维持产品BOM结构,拓展了遗传算法在生产排程领域中的应用,使遗传算法的设计简单,优化不受限制性条件的约束,具有并行计算能力和全局解空间搜索能力的优点在选定排程过程中得到显现。而选择算子在遗传算法中表现为优良个体在下一代群体中具有较强的繁殖能力,而劣质个体则逐渐被淘汰,群体的整体品质得以提高。并且通过对劣解的适当选择,防止群体成熟前收敛,或者遗传算法搜索引向局部极值点。在很大程度上提升了遗传算法收敛性的效果和速度。从而为得到一个最优化排程方案奠定了良好的基础,最终提高了企业生产资源的使用效率,降低了成本,增加了企业的竞争力。
附图说明
图1遗传算法选择操作流程图。
图2遗传算法交叉操作流程图。
图3遗传算法变异操作流程图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
应用在生产排程系统的基于订单结构的遗传操作算子,包括包括选择、交叉、和变异,在实际实施时可以酌情选择实施以上三种操作一种或两种,本最佳实施例将就三种操作都进行仔细阐述,具体设计如下:
1.选择:
从可行解池和不可行解池中选择优秀个体作为父代种群,流程请参阅图1,
即遗传算法选择操作流程图,具体包括以下步骤:
2)判断可行解池中个体数目是否小于种群规模的κ倍:如果是,执行步骤3,否则执行步骤4;
3)可行解池中全部个体插入父代种群,执行步骤5;
4)可行解池中按解的适应度值的高低作为其被选择到的概率,由轮盘赌方式选择种群规模种群规模的κ倍的个体插入父代种群;
5)在不可行解池中按照适应度值高低顺序选择剩余解插入父代种群,使得总的父代种群达到种群规模。
2.交叉:父代种群之间进行交叉操作生成子代种群个体,流程请参阅图2,即遗传算法交叉操作流程图,具体包括以下步骤:
1)计算交叉次数;
2)从父代种群中随机选择两个个体;
3)根据迭代次数,确定交叉算子:两段式交叉方式,或订单位置不变交叉方式,或订单加工顺序改变交叉方式;
4)根据选定的交叉方式两个父代基因串进行交叉,设两个父代基因串为P1、P2,生成的子代基因串为Q1、Q2:
a)两段式交叉方式:将输入的父代基因串P1分为两段,其中一段直接保留赋值给子代基因串Q1,并将该段与父代基因串P2比较,删除P2中相同的基因位,将P2中剩余基因赋值给子代基因串Q1空值基因位,生成子代基因串Q1。交换P1、P2,并执行同样操作,生成子代基因串Q2。
两段式交叉方式中,有三种子方式:保留父代基因串前段、保留父代基因串后代、保留父代基因串较长的一段。我们将子代个体的产生分为三部分,分别用这三种方式。
b)订单位置不变交叉方式:在父代基因串P1中随机查找一个基因位,由此得到该基因位对应的工单。由该工单找到对应的需要加工的订单。在基因串P1中查找所有属于该订单的所有工单的所有工序,并赋值给子代基因串Q1中相同的基因位。父代基因串P2中删除所有属于该订单的所有工单的所有工序,并将剩余的基因依次赋值给Q1中空值基因位。生成子基因串Q1。交换P1、P2,并执行同样操作,生成子代基因串Q2。
c)订单加工顺序改变交叉方式:在父代基因串P1中随机查找一个基因位,由此得到该基因位对应的工单。由该工单找到对应的需要加工的订单。在基因串P1中查找所有属于该订单的所有工单的所有工序,在P2中查找所有属于该订单的所有工单的所有工序。P1中所有属于该订单的所有工单的所有工序用P2中所有属于该订单的所有工单的所有工序所代替,产生子代基因串Q1。交换P1、P2,并执行同样操作,生成子代基因串Q2。
5)将新生成的子代基因串个体Q1、Q2插入子代种群;
6)是否达到目标交叉次数:如是,结束交叉操作;如否,回到步骤2;
3.父代种群之间进行变异操作生成子代种群个体,流程请参阅图3,即遗传算法变异操作流程图,具体包括以下步骤:
1)计算变异次数;
2)从种群中随机选择一个体;
3)根据已选择的交叉算子,确定变异算子:产品加工顺序重排列变异算子或在可行范围内随机插入变异算子;
4)根据选定的变异方式对给定基因串进行变异:
a)产品加工顺序重排列变异算子:在基因串中随机查找一个基因位,由此得到该基因位对应的工单。由该工单找到对应的需要加工的订单。在基因串中查找所有属于该订单的所有工单的所有工序。保留这些工序在原基因串中的位置不变,但是改变这些工序之间的先后顺序,由此产生新基因串。
b)在可行范围内随机插入变异算子:在基因串中随机查找一个基因位,由此得到该基因位对应的工单。由该工单找到对应的需要加工的订单中该工单的所有上层工单集合和下层工单集合。从该基因位起向左遍历,第一个值属于下层工单集合的基因位作为该基因位的左结点。从该基因位起向右遍历,第一个值属于上层工单集合的基因位作为该基因位的右结点。将该基因位删除并在左右结点范围之间随机插入来实现变异。该过程可重复进行多次,直到满足该新个体与原个体相比,有足够的差异度。
5)将新生成的基因串个体插入子代种群;
6)是否达到目标变异次数:如是,结束交叉操;如否,回到步骤2;
综上所述仅为发明的较佳实施例而已,并非用来限定本发明的实施范围。即凡依本发明申请专利范围的内容所作的等效变化与修饰,都应为本发明的技术范畴。
Claims (8)
1.一种应用在生产排程系统的基于订单结构的遗传操作算子,包括选择、和/或交叉、和/或变异,其特征在于:
①选择是通过设置选择率κ为阈值来实现的:若可行解池中个体数目与种群规模的比值小于κ,则可行解池中全部个体作为父代种群;若可行解池中解的数目与种群规模的比值大于κ,则从可行解池中选择种群规模的κ倍的个体作为父代种群,并从不可行解池中选择部分个体补足所需种群规模,即使得不可行解池中选择的个体数目与之前在可行解池选择的个体数目之和达到种群规模;此处种群规模为计算前预定义的父代种群的大小;
②交叉是从父代种群中选取一对代表排程方案的基因串个体,并选择交叉操作算子进行交叉操作生成一对新的个体,存入子代种群,直至子代个数达到交叉率所规定的足够数目;
③变异是从父代种群中选取一个代表排程方案的基因串个体,并选择变异操作算子进行变异操作生成一个新的个体,存入子代种群,直至子代个数达到变异率所规定的足够数目;
3.根据权利要求1所述的应用在生产排程系统的基于订单结构的遗传操作算子,其特征在于:
所述①中可行解池中解的数目与种群规模的比值大于κ情况下对可行解池中解的选择,是通过按解适应度值的高低作为其被选择到的概率,由轮盘赌方式来实现的。
4.根据权利要求1所述的应用在生产排程系统的基于订单结构的遗传操作算子,其特征在于:
所述①中不可行解池中解的选择,是按解的适应度值由高至低的次序来选择的。
5.根据权利要求1所述的应用在生产排程系统的基于订单结构的遗传操作算子,其特征在于:
所述②中的交叉操作算子,为三种交叉操作算子:a.两段式交叉操作算子:
一父代基因串分两段和另一父代基因串进行比较、删除、替换,生成子代基因串;b.订单位置不变交叉操作算子:一父代基因串保留同一订单所涉及工单或工序的基因位,其他基因位由另一父代基因串的非所述订单所涉及工单或工序的基因位进行补充,生成子代基因串;c.订单加工顺序改变交叉操作算子:一父代基因串中同一订单所涉及工单或工序的基因位由另一父代基因串的所述订单所涉及工单或工序的基因位进行替换,生成子代基因串。
6.根据权利要求5所述的应用在生产排程系统的基于订单结构的遗传操作算子,其特征在于:
所述的两段式交叉操作算子包括三种子算子:保留父代基因串前段、或保留父代基因串后段、或保留父代基因串较长段。
7.根据权利要求1所述的应用在生产排程系统的基于订单结构的遗传操作算子,其特征在于:
所述③中的变异操作算子包括以下两种交变异操作算子:a.产品加工顺序重排列变异算子:父代基因串交换同一订单所涉及工单或工序的基因位顺序,生成子代基因串;b.在可行范围内随机插入变异算子:父代基因串随机选择某个点插入到串中的不同随机位置,而可插入的可行范围受订单加工顺序的约束,变异点多与等于一个。
8.根据权利要求7所述的应用在生产排程系统的基于订单结构的遗传操作算子,进行交叉、变异操作,选择交叉算子、变异操作时,其特征在于:
当交叉操作算子选择两段式交叉算子时,变异操作算子选择在可行范围内随机插入变异算子;当交叉操作算子选择订单位置不变交叉操作算子时,变异操作算子选择在可行范围内随机插入变异算子;当交叉操作算子选择加工顺序重排列改变交叉操作算子时,变异操作算子选择产品加工顺序重排列变异算子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100357742A CN101256648A (zh) | 2008-04-09 | 2008-04-09 | 一种应用在生产排程系统的基于订单结构的遗传操作算子 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100357742A CN101256648A (zh) | 2008-04-09 | 2008-04-09 | 一种应用在生产排程系统的基于订单结构的遗传操作算子 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101256648A true CN101256648A (zh) | 2008-09-03 |
Family
ID=39891452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100357742A Pending CN101256648A (zh) | 2008-04-09 | 2008-04-09 | 一种应用在生产排程系统的基于订单结构的遗传操作算子 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101256648A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859100A (zh) * | 2010-06-18 | 2010-10-13 | 杭州电子科技大学 | 一种基于模糊交货期流水生产排程的改进微粒群优化方法 |
CN104252667A (zh) * | 2014-09-26 | 2014-12-31 | 武汉钢铁(集团)公司 | 物料生产排程仿真装置 |
CN104834979A (zh) * | 2015-05-25 | 2015-08-12 | 携程计算机技术(上海)有限公司 | 领队排团方法及系统 |
CN105204472A (zh) * | 2015-09-30 | 2015-12-30 | 河南科技大学 | 一种单件离散型生产作业排程优化方法 |
CN109542698A (zh) * | 2018-10-10 | 2019-03-29 | 华东师范大学 | 一种基于变异测试的虚拟原型错误检测方法 |
CN109977227A (zh) * | 2019-03-19 | 2019-07-05 | 中国科学院自动化研究所 | 基于特征编码的文本特征提取方法、系统、装置 |
CN111461402A (zh) * | 2020-03-06 | 2020-07-28 | 上海汽车集团股份有限公司 | 物流排程优化方法及装置、计算机可读存储介质、终端 |
CN111476497A (zh) * | 2020-04-15 | 2020-07-31 | 浙江天泓波控电子科技有限公司 | 一种用于小型化平台的分配馈电网络方法 |
CN113706240A (zh) * | 2021-08-18 | 2021-11-26 | 上海明略人工智能(集团)有限公司 | 订单排序的方法和装置、电子设备和存储介质 |
-
2008
- 2008-04-09 CN CNA2008100357742A patent/CN101256648A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101859100A (zh) * | 2010-06-18 | 2010-10-13 | 杭州电子科技大学 | 一种基于模糊交货期流水生产排程的改进微粒群优化方法 |
CN104252667A (zh) * | 2014-09-26 | 2014-12-31 | 武汉钢铁(集团)公司 | 物料生产排程仿真装置 |
CN104834979A (zh) * | 2015-05-25 | 2015-08-12 | 携程计算机技术(上海)有限公司 | 领队排团方法及系统 |
CN104834979B (zh) * | 2015-05-25 | 2018-07-20 | 上海携程商务有限公司 | 领队排团方法及系统 |
CN105204472A (zh) * | 2015-09-30 | 2015-12-30 | 河南科技大学 | 一种单件离散型生产作业排程优化方法 |
CN109542698A (zh) * | 2018-10-10 | 2019-03-29 | 华东师范大学 | 一种基于变异测试的虚拟原型错误检测方法 |
CN109977227A (zh) * | 2019-03-19 | 2019-07-05 | 中国科学院自动化研究所 | 基于特征编码的文本特征提取方法、系统、装置 |
CN111461402A (zh) * | 2020-03-06 | 2020-07-28 | 上海汽车集团股份有限公司 | 物流排程优化方法及装置、计算机可读存储介质、终端 |
CN111461402B (zh) * | 2020-03-06 | 2024-03-26 | 上海汽车集团股份有限公司 | 物流排程优化方法及装置、计算机可读存储介质、终端 |
CN111476497A (zh) * | 2020-04-15 | 2020-07-31 | 浙江天泓波控电子科技有限公司 | 一种用于小型化平台的分配馈电网络方法 |
CN111476497B (zh) * | 2020-04-15 | 2023-06-16 | 浙江天泓波控电子科技有限公司 | 一种用于小型化平台的分配馈电网络方法 |
CN113706240A (zh) * | 2021-08-18 | 2021-11-26 | 上海明略人工智能(集团)有限公司 | 订单排序的方法和装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101256648A (zh) | 一种应用在生产排程系统的基于订单结构的遗传操作算子 | |
CN109447317B (zh) | 一种基于多人同时拣货的仓库最短路径优化方法 | |
CN109190857B (zh) | 一种基于多目标资源受限项目调度模型的优化算法 | |
CN106779372B (zh) | 基于改进免疫禁忌算法的农机调度方法 | |
CN104700160B (zh) | 一种车辆路径优化方法 | |
CN106600147A (zh) | 面向可分解任务的多无人机任务分配方法和装置 | |
CN108460463B (zh) | 基于改进遗传算法的高端装备流水线生产调度方法 | |
CN103714198B (zh) | 一种船舶多芯管下料的优化方法 | |
CN106610654A (zh) | 针对柔性作业车间调度的改进遗传算法 | |
CN103279332A (zh) | 一种基于gpu-cuda平台以及遗传算法的数据流并行处理方法 | |
CN101271543A (zh) | 一种应用了基于精英解池的遗传算法的生产排程系统和方法 | |
CN111079987A (zh) | 基于遗传算法的半导体车间生产调度方法 | |
CN104408528A (zh) | 一种化工生产中原料浸取过程的优化调度方法 | |
CN104570997A (zh) | 一种用于金属结构件下料与加工排产集成优化方法 | |
CN111563629A (zh) | 柔性制造车间多阶段设备产能配置与鲁棒性布局优化方法 | |
CN114707294B (zh) | 有限运输能力约束的作业车间多目标调度方法 | |
CN108053152A (zh) | 基于多色集合的改进遗传算法求解动态车间调度的方法 | |
CN1450493A (zh) | 实现遗传算法的神经网络系统 | |
CN109271320A (zh) | 一种上位多目标测试用例优先级排序方法 | |
CN108776461A (zh) | 一种柔性作业车间调度方法及系统 | |
CN106611219A (zh) | 针对多目标优化问题的导引式局部搜索遗传算法 | |
CN108267954A (zh) | 一种带硬时间窗的刀具准时配送路径规划算法 | |
CN101261702A (zh) | 一种基于逐层优化的排程方案评价及选择方法 | |
CN104281917A (zh) | 基于自适应遗传和克隆选择算法的模糊作业车间调度方法 | |
CN110648037A (zh) | 一种整车生产评价方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080903 |