System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于进化多任务优化的柔性作业车间调度方法技术_技高网

基于进化多任务优化的柔性作业车间调度方法技术

技术编号:40995164 阅读:4 留言:0更新日期:2024-04-18 21:35
本发明专利技术公开的基于进化多任务优化的柔性作业车间调度方法,包括以下步骤:以最小化最大完工时间为目标构建目标函数;设置约束条件;利用进化多任务优化算法对目标函数进行求解,得到最优调度方案。本发明专利技术的基于进化多任务优化的柔性作业车间调度方法,首先以每组工件的最大完工时间最小为目标构建目标函数,将每个目标函数看待为一个待优化的任务,然后使用基于自适应混合算子选择的多任务优化算法对多组待优化任务同时进行求解。在此过程中,可以充分利用每个搜索算子的特性进行任务间的知识迁移,实现了任务间的知识交流,避免种群在搜索过程中陷入局部最优的情况,提高了FJSP的求解效率。

【技术实现步骤摘要】

本专利技术属于柔性作业车间调度方法,具体涉及基于进化多任务优化的柔性作业车间调度方法


技术介绍

1、柔性作业车间调度问题(flexible job shop scheduling,fjsp)是一类满足任务配置及和顺序约束要求的资源分配问题,是最经典的组合优化问题之一。问题描述:加工系统由一定数量的设备和代加工工件组成,要求加工一定数量的工件,每个工件都具有自己的加工工序,每个加工工序的时间是已经确定的,并且每个工件都必须按照自身工序的先后顺序加工;调度的任务是让所有的工件都按照自己工序的加工顺序在设备上加工,因此需要合理的安排工件的加工顺序,在满足工序顺序约束的条件下使得所有工件被加工完成(最大完工时间)的时间最小。现实世界的很多应用问题同样可以归属于生产车间调度问题,例如:汽车加工流水线、航班调度问题、汽车船舶等调度问题等都可以抽象为fjsp。

2、目前,已经有很多学者对于fjsp问题提出了很多解决方案,例如:遗传算法、模拟退火算法等优化算法,但是大多数研究采用的还是单目标或者多目标演化算法进行求解,这忽视了问题之间的相似性,不能够有效的进行任务间的信息交流从而提高算法的效率。


技术实现思路

1、本专利技术的目的在于提供基于进化多任务优化的柔性作业车间调度方法,解决了现有柔性作业车间调度方案求解效率低的问题。

2、本专利技术所采用的技术方案是:基于进化多任务优化的柔性作业车间调度方法,包括以下步骤:

3、步骤1、以最小化的最大完工时间为目标构建目标函数;

4、步骤2、对步骤1所得目标函数设置约束条件;

5、步骤3、利用进化多任务优化算法对步骤2所得目标函数进行求解,得到最优调度方案。

6、本专利技术的特点还在于,

7、步骤1中的建立的目标函数为:

8、

9、式(1)中,tws表示最小化的最大完工时间,表示工件的完工时间,为第i个工件,j为待加工工件的集合,nws为工件的数量。

10、步骤2中设置的约束条件包括:

11、1)每道工序选择的加工设备数目为1:

12、

13、式(2)中,为决策变量,工序选择在第k台设备上加工为1,否则为0;表示工件的第j道工序;mws为设备数量;为工件的总工序数;为工序可选择的设备集合;

14、2)同一时刻只能加工同一个工件一道工序:

15、

16、式(3)中,为工序在设备上的开工时间;为工序在设备上加工时间;为工序在设备上的开工时间;l为缩放因子;ri,j,x,y,k为决策变量,工序先于在第k台设备上加工为1,否则为0;

17、3)每道工序的完工时间为设备的开工时间与该工序在加工设备上的加工时间之和:

18、

19、式(4)中,为工序在设备上的完工时间;为工序在设备上加工时间;

20、4)工序在设备上的开工时间、加工时间、完工时间都必须为正:

21、

22、式(5)中,为工序在设备上的开工时间;为工序在设备上的完工时间;为工序在设备上加工时间;

23、5)每道工序的开工时间为该加工工序选择设备的完工时间与该工件上一工序完工时间中的较大值:

24、

25、式(6)中,为工序在设备上的开工时间;为工序在设备上的完工时间;加工设备最后一次使用的完工时间。

26、步骤3具体包括以下步骤:

27、步骤3.1、初始化n*k个个体的种群p(k)以及随机交叉概率rmpk,n为一个种群的大小,k表示任务的数量;采用整数编码的方式,每个染色体由设备选择和工序排序两部分组成,一个染色体就是一个加工方案,每个设备对于不同的加工工序都有特定的时间;

28、步骤3.2、将种群的迭代过程平均划分为多个阶段,在每一阶段开始之前对算子进行预处理:将s个算子单独演化若干代,将适应度值的改进率作为奖励为每一个算子分配相应的概率,然后从s个算子中筛选出m个算子用于种群演化,同时将m个算子的概率值进行归一化处理;

29、步骤3.3、使用轮盘赌方法将种群中n个个体按照概率pk,m分配给m个算子,总共划分m个子种群,那么第k个任务中算子m表示的子种群大小为n*pk,m;

30、步骤3.4、子种群划分完成之后,子种群中每个个体进行子代生成,如果随机数小于随机交叉概率rmpk,则在任务间采用混合算子来生成每个子代ui,即使用个体所在子种群表示的算子进行繁殖;否则在任务内使用shade算子进行繁殖;

31、步骤3.5、对变异产生的个体进行交叉操作生成试验向量,将父代个体pi和子代个体ui进行比较,选择适应度值更好的进入下一代,即选择出最大完工时间最小的个体;

32、步骤3.6、使用amos策略根据适应度值的改进率重新更新每个算子的概率值,用于下一代划分子种群,同时根据存活率更新随机交配概率;

33、步骤3.7、判断是否满足迭代终止条件,若不满足迭代终止条件,则返回步骤3.3进入下一代种群的迭代,若满足则进入阶段终止条件的判定;

34、步骤3.8、判断是否满足阶段终止条件,若不满足阶段终止条件,则返回步骤3.2进入预处理操作,若满足则输出最优解即最小化的最大完工时间。

35、步骤3.2具体包括以下步骤:

36、步骤3.2.1、将当前种群p(k)使用表2的交叉算子池中所有算子单独演化,任务间繁殖使用交叉算子池的所有算子,任务内繁殖使用shade算子;

37、表2交叉算子池

38、

39、表2中,c表示子代个体;xr1,xr2,xr3为种群中随机的三个个体;xbest为种群中最优的个体;f为随机个体对其他个体的影响程度,是一个整数;表示一个子代i个体的一个模因;表示个体j的第i个模因;

40、步骤3.2.2、迭代lp代,记录出每一代的最佳适应度值;

41、步骤3.2.3、根据每个算子第一代和第lp代的最佳适应度值,通过公式(7)计算出第s个算子优化第k个任务经过lp次迭代后的适应度值改进率firk,s:

42、

43、式(7)中,fitk,s,1表示算子s在k个任务上第1代的最佳适应度值,fitk,s,lp表示算子s在第k个任务上第lp代的最佳适应度值;

44、步骤3.2.4、将所有的适应度值改进率firk,s从大到小进行排序,rankk,s为算子s在解决第k个任务时的索引序列;

45、步骤3.2.5、引入衰减因子d,根据排序后的索引将适应度值改进率转换为奖励,计算公式如公式(8):

46、

47、步骤3.2.6、根据奖励值rewardk,s进行排序,筛选出奖励值最大的前m个算子作为迭代算子,并且对迭代算子的奖励进行归一化,转化为概率pk,m,计算公式如公式(9):

48、

<本文档来自技高网...

【技术保护点】

1.基于进化多任务优化的柔性作业车间调度方法,其特征在于,包括以下步骤:

2.如权利要求1所述的基于进化多任务优化的柔性作业车间调度方法,其特征在于,所述步骤1中的建立的目标函数为:

3.如权利要求2所述的基于进化多任务优化的柔性作业车间调度方法,其特征在于,所述步骤2中设置的约束条件包括:

4.如权利要求3所述的基于进化多任务优化的柔性作业车间调度方法,其特征在于,所述步骤3具体包括以下步骤:

5.如权利要求4所述的基于进化多任务优化的柔性作业车间调度方法,其特征在于,所述步骤3.2具体包括以下步骤:

6.如权利要求5所述的基于进化多任务优化的柔性作业车间调度方法,其特征在于,所述步骤3.6具体包括以下步骤:

【技术特征摘要】

1.基于进化多任务优化的柔性作业车间调度方法,其特征在于,包括以下步骤:

2.如权利要求1所述的基于进化多任务优化的柔性作业车间调度方法,其特征在于,所述步骤1中的建立的目标函数为:

3.如权利要求2所述的基于进化多任务优化的柔性作业车间调度方法,其特征在于,所述步骤2中设置的约束条件包括:

4.如权利...

【专利技术属性】
技术研发人员:王磊王召琦李薇段鑫绘王亮亮王震楠
申请(专利权)人:西安理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1