CN107704985A - 一种动态策略的差分进化柔性车间优化调度方法 - Google Patents
一种动态策略的差分进化柔性车间优化调度方法 Download PDFInfo
- Publication number
- CN107704985A CN107704985A CN201710683897.6A CN201710683897A CN107704985A CN 107704985 A CN107704985 A CN 107704985A CN 201710683897 A CN201710683897 A CN 201710683897A CN 107704985 A CN107704985 A CN 107704985A
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- mtd
- mtr
- msubsup
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Other Investigation Or Analysis Of Materials By Electrical Means (AREA)
Abstract
一种动态策略的差分进化柔性车间优化调度方法,采用工序和机器双层编码方式将离散的调度问题转化为易处理的连续问题,然后利用各个体的之间的距离衡量种群的拥挤程度,进而判断算法所处阶段;然后,针对各阶段的特点自适应选择相应的变异策略;进一步提升算法性能,最后以最大完工时间为性能指标求解最优调度方案。本发明提供了一种基于种群中个体拥挤度来划分算法阶段、进而选择相应的变异策略的差分进化柔性车间优化调度方法。
Description
技术领域
本发明涉及一种柔性车间、智能制造、差分进化算法、优化调度领域,尤其涉及的是一种动态策略的差分进化柔性车间优化调度方法。
背景技术
当前,世界范围内掀起了发展智能制造为核心的工业4.0浪潮,我国顺应科技变革,提出了“中国制造”的发展目标来实现制造业智能制造,最终实现制造业数字化、网络化、智能化。这意味着:传统大批量、少品种的流水线生产的单一化生产模式将不再符合当今制造业的发展理念。此外,随着社会进步和人们生活水平的提高,市场需求从相对稳定型逐步转向动态多变型。市场需求和企业生产特点表现为:市场的竞争日趋激烈并带有多变性和不可预测性、产品更新周期日益加快、顾客对产品需求更多样化以致产品的需求倾向顾客化。在这种竞争激烈的市场环境下,企业生存和具备竞争力与否取决于企业能否具有在较短的开发周期内,生产出较低成本、较高质量的不同品种产品的能力,以期用最短的生产周期对市场需求变化作出响应,并使包括厂房、设备及人力在内的资源得到最有效地利用,达到企业生产经营能力整体优化的目的。可见,柔性制造开始在制造***中占有越来越重要的位置。制造业的发展水平是国民经济实力的重要体现,随着智能制造不断推进,以多品种、小批量生产方式为主的柔性制造***(Flexible Manufacturing System,FMS)逐步进入人们视野,其中车间优化调度作为柔性制造生产计划的关键技术和核心内容,在提高生产效率,降低生产成本等方面起到了至关重要的作用。柔性作业车间排产问题(FlexibleJob Shop Scheduling Problem,FJSP)是传统作业车间排产问题的一个扩展,它允许一个操作能被一个给定集合中的任何一台机器处理;因为有额外的机器的分配,它比作业车间排产问题更复杂。
差分进化算法(DE)是一种新兴的进化计算技术。差分进化算法是一种模拟生物进化的随机模型,通过反复迭代,使得那些适应环境的个体被保存了下来。同时,DE特有的记忆能力使其可以动态跟踪当前的搜索情况,以调整其搜索策略,具有较强的全局收敛能力和鲁棒性,且不需要借助问题的特征信息,适于求解一些利用常规的数学规划方法所无法求解的复杂环境中的优化问题。车间的排产问题(Job Shop Scheduling Problem,JSP)一般是指如何在有限的生产资源和设备约束条件下,安排出有效合理的生产工序和加工的设备,使得预设目标最优;该问题通常是多约束、多目标、随机不确定的。然而现在大多柔性车间优化调度方法求解速度慢且可靠性低,难以找到最优排产方式。
因此,现有柔性车间优化调度方式存在不足,需要改进。
发明内容
为了克服现有柔性车间优化调度方式的求解速度慢且可靠性低、难以找到最优排产方式,本发明提供了一种基于种群中个体拥挤度来划分算法阶段、进而选择相应的变异策略的差分进化柔性车间优化调度方法。
本发明解决其技术问题采用的技术方法是:
一种动态策略的差分进化柔性车间优化调度方法,所述方法包括以下步骤:
A1、将柔性车间生产排产问题转化为数学公式描述;对n种工件在m台机器上加工,每种工件包含ni道工序;所需优化的目标函数为:
f(x)=min(maxCi)
其中,Ci表示工件i完成加工的时间;i表示工件序号,i=1,2,3,…,n;j表示工件的工序,j=1,2,3,…,ni;k表示机器的序号,k=1,2,3,…,m;Pijk为工件i的第j道工序在机器k上的加工时间,Pabk为工件a的第b道工序在机器k上的加工时间,a=1,2,3,...,n,b=1,2,3,...,ni;Xijk表示工件i的第j道工序在机器k上加工;Xi(j-1)l表示工件i的第j道工序的前一道工序在机器l上加工,l=1,2,3,...,m;Rijegk表示工件i的第j道工序e的第g道工序在同一台机器k上加工,且工序j先与工序g,第j道工序在机器k上的加工时间,e=1,2,3,...,ni,g=1,2,3,...,ni;Cijk为工件i的第j道工序在机器k上的完成时间,Cabk为工件a的第b道工序在机器k上的完成时间;
A2、初始化:设置种群规模NP,记忆代数LP;
A3、采用基于工序和工序所对应加工机器的双层编码方法将工件调度转化为列矩阵X,即对一个可行的调度X=[x1,x2,…,xD]T,D=2d,d表示当前工序的总和,令其前半部分X1=[x1,x2,…,xd]Τ表示工序调度的编码,即从第一个工件的第一个工序到最后一个工件的最后一个工序按照整数1,2,3,…,d的方式计数;后半部分X2=[xd+1,xd+2,…,xD]Τ表示工序所对应加工的机器,即xd+l表示工序l可在加工机器集的第xd+l机器上加工;
A4、基于A3所述编码方式,对种群进行初始化,初始种群个体规模为Np,对前半部分序列进行Np次随机排序,每次排序作为一个个体的前半序列;后半部分序列通过每个工序对应机器集随机产生;
A5、计算当前种群中各个体之间的平均距离为:
其中,xji,G、xjk,G分别代表第G代种群中的第i和第k个个体的第j维元素;
A6、根据平均距离dist的最大值和最小值对每一代的dist进行归一化处理得到当前种群的拥挤度:
其中,个体间平均距离取得最小值distmin=0;dist的最大值distmax的初始值为初始种群的平均距离,且在进化过程中,如果某一代的dist大于distmax,则取当前的dist作为distmax;
A7、根据种群拥挤度的变化,对不同阶段选择相应的变异策略;
其中,φ代表算法所处的阶段,rand(0,1)代表0到1之间随机数,S1代表算法处于全局探测阶段,S2代表算法处于局部搜索阶段;若满足S1条件,则进入A8;不满足则进入A9;
A8、从以下3中策略中随机选取一个策略进行变异:
DE/rand/1
DE/rand/2
DE/current-to-rand/1
其中,G为进化代数,r1、r2、r3、r4、r5∈{1,2,…,Np},且r1≠r2≠r3≠r4≠r5≠i,vji,G为第G代种群中第i个变异个体的第j维元素, 分别为第G代种群中第r1、r2、r3、r4、r5个个体的第j维元素,K=0.5为DE/current-to-rand/1策略的固定增益常数;表示第G代中第i个个体的增益常数;
A9、从以下3种策略中随机选择一个策略进行变异:
DE/best/1
DE/best/2
DE/current-to-best/1
其中,为第G代种群中的0.5Nprand(0,1)个个体中随机选取的最优个体的第j维元素;
A10、按公式(7)进行交叉操作生成测试向量uji,G+1:
其中,uji,G+1表示第G+1代种群中的第i个测试向量的第j维,为交叉概率,每一代均会自动更新,jrand为0到D之间的随机整数,D表示问题的维数;表示第G代中第i个个体的交叉概率,表示以为均值,以0.1为误差的正态分布随机数,当G<LP时,当G>LP时,取上一代产生的新个体能够被成功保留作为下一代个体时的平均值,同时当记忆代数达到LP时,每当产生新一代则删除最早一代的交叉操作后可能产生不满足约束条件的不可解,需要对不符合约束条件的测试向量进行处理,若经A10步骤操作的测试向量不符合编码规则,则返回A7,直至产生可行解;
A11、解码操作,首先,将试验个体前半部分序列转化为基于工件工序的加工序列;其次,通过后半部分序列确定每台机器上加工工序的顺序;最后,确定所有工件的每道工序在加工机器上的开始时间和完工时间;基于加工序列和工艺约束对各工序以最早允许加工时间逐一进行加工,计算每台机器最后的工作完成时间,取其最大完工时间为对应的解;
A12、通过比较测试向量与当前种群中目标向量的适应值来选择最优个体
其中,xi,G+1表示第G+1代种群的第i个个体,ui,G和xi,G分别表示第G代种群中第i个变异个体和第G代种群的第i个个体,f(x)是目标函数;
A13、判断是否满足终止条件,如果满足,则保存结果并退出,否则返回A5。
进一步,所述A8中,N(0.5,0.3)表示均值为0.5,标准偏差为0.3的正态分布随机数。
本发明的技术构思为:利用各个体的之间的距离衡量种群的拥挤程度,进而判断算法所处阶段;然后,针对各阶段的特点自适应选择相应的变异策略;其次,以最大完工时间为目标,采用工序和机器双层编码方式,优化得到最佳的调度方案。
本发明的有益效果主要表现在:根据个体的拥挤程度来判断算法所处的阶段,并在各阶段设置多个合适的变异策略,从而在各阶段的每次迭代中随机选择不同的变异策略来产生新个体,进一步提高算法的性能。
附图说明
图1是一种动态策略的差分进化柔性车间优化调度方法的流程图。
图2是一种动态策略的差分进化柔性车间优化调度方法对4×6FJSP优化求解的平均距离归一化后变化曲线图。
图3是一种动态策略的差分进化柔性车间优化调度方法对4×6FJSP优化求解的调度甘特图。
具体实施方式:
下面结合附图对本发明进一步描述。
参照图1~图3,一种动态策略的差分进化柔性车间优化调度方法,包括以下步骤:
A1、将柔性车间生产排产问题转化为数学公式描述;对n种工件在m台机器上加工,每种工件包含ni道工序;所需优化的目标函数为:
f(x)=min(maxCi)
其中,Ci表示工件i完成加工的时间;i表示工件序号,i=1,2,3,…,n;j表示工件的工序,j=1,2,3,…,ni;k表示机器的序号,k=1,2,3,…,m;Pijk为工件i的第j道工序在机器k上的加工时间,Pabk为工件a的第b道工序在机器k上的加工时间,a=1,2,3,...,n,b=1,2,3,...,ni;Xijk表示工件i的第j道工序在机器k上加工;Xi(j-1)l表示工件i的第j道工序的前一道工序在机器l上加工,l=1,2,3,...,m;Rijegk表示工件i的第j道工序e的第g道工序在同一台机器k上加工,且工序j先与工序g,第j道工序在机器k上的加工时间,e=1,2,3,...,ni,g=1,2,3,...,ni;Cijk为工件i的第j道工序在机器k上的完成时间,Cabk为工件a的第b道工序在机器k上的完成时间;
A2、初始化:设置种群规模NP,记忆代数LP;
A3、采用基于工序和工序所对应加工机器的双层编码方法将工件调度转化为列矩阵X,即对一个可行的调度X=[x1,x2,…,xD]T,D=2d,d表示当前工序的总和,令其前半部分X1=[x1,x2,…,xd]Τ表示工序调度的编码,即从第一个工件的第一个工序到最后一个工件的最后一个工序按照整数1,2,3,…,d的方式计数;后半部分X2=[xd+1,xd+2,…,xD]Τ表示工序所对应加工的机器,即xd+l表示工序l可在加工机器集的第xd+l机器上加工;
A4、基于A3所述编码方式,对种群进行初始化,初始种群个体规模为Np,对前半部分序列进行Np次随机排序,每次排序作为一个个体的前半序列;后半部分序列通过每个工序对应机器集随机产生;
A5、计算当前种群中各个体之间的平均距离为:
其中,xji,G、xjk,G分别代表第G代种群中的第i和第k个个体的第j维元素;
A6、根据平均距离dist的最大值和最小值对每一代的dist进行归一化处理得到当前种群的拥挤度:
其中,个体间平均距离取得最小值distmin=0;dist的最大值distmax的初始值为初始种群的平均距离,且在进化过程中,如果某一代的dist大于distmax,则取当前的dist作为distmax;
A7、根据种群拥挤度的变化,对不同阶段选择相应的变异策略;
其中,φ代表算法所处的阶段,rand(0,1)代表0到1之间随机数,S1代表算法处于全局探测阶段,S2代表算法处于局部搜索阶段;若满足S1条件,则进入A8;不满足则进入A9;
A8、从以下3中策略中随机选取一个策略进行变异:
DE/rand/1
DE/rand/2
DE/current-to-rand/1
其中,G为进化代数,r1、r2、r3、r4、r5∈{1,2,…,Np},且r1≠r2≠r3≠r4≠r5≠i,vji,G为第G代种群中第i个变异个体的第j维元素, 分别为第G代种群中第r1、r2、r3、r4、r5个个体的第j维元素,K=0.5为DE/current-to-rand/1策略的固定增益常数;表示第G代中第i个个体的增益常数;
A9、从以下3种策略中随机选择一个策略进行变异:
DE/best/1
DE/best/2
DE/current-to-best/1
其中,为第G代种群中的0.5Nprand(0,1)个个体中随机选取的最优个体的第j维元素;
A10、按公式(7)进行交叉操作生成测试向量uji,G+1:
其中,uji,G+1表示第G+1代种群中的第i个测试向量的第j维,为交叉概率,每一代均会自动更新,jrand为0到D之间的随机整数,D表示问题的维数;表示第G代中第i个个体的交叉概率,表示以为均值,以0.1为误差的正态分布随机数,当G<LP时,当G>LP时,取上一代产生的新个体能够被成功保留作为下一代个体时的平均值,同时当记忆代数达到LP时,每当产生新一代则删除最早一代的交叉操作后可能产生不满足约束条件的不可解,需要对不符合约束条件的测试向量进行处理,若经A10步骤操作的测试向量不符合编码规则,则返回A7,直至产生可行解;
A11、解码操作,首先,将试验个体前半部分序列转化为基于工件工序的加工序列;其次,通过后半部分序列确定每台机器上加工工序的顺序;最后,确定所有工件的每道工序在加工机器上的开始时间和完工时间;基于加工序列和工艺约束对各工序以最早允许加工时间逐一进行加工,计算每台机器最后的工作完成时间,取其最大完工时间为对应的解;
A12、通过比较测试向量与当前种群中目标向量的适应值来选择最优个体
其中,xi,G+1表示第G+1代种群的第i个个体,ui,G和xi,G分别表示第G代种群中第i个变异个体和第G代种群的第i个个体,f(x)是目标函数;
A13、判断是否满足终止条件,如果满足,则保存结果并退出,否则返回A5。
进一步,所述A8中,N(0.5,0.3)表示均值为0.5,标准偏差为0.3的正态分布随机数。
本实施例以经典的4×6FJSP测试函数为实施例,一种动态策略的差分进化柔性车间优化调度方法,其中包含以下步骤:
A1、将柔性车间生产排产问题转化为数学公式描述;对4种工件在6台机器上加工,每种工件包含3道工序;所需优化的目标函数为:
f(x)=min(maxCi)
其中,Ci表示工件i完成加工的时间;i表示工件序号,i=1,2,3,…,n;j表示工件的工序,j=1,2,3,…,ni;k表示机器的序号,k=1,2,3,…,m;Pijk为工件i的第j道工序在机器k上的加工时间,Pabk为工件a的第b道工序在机器k上的加工时间,a=1,2,3,...,n,b=1,2,3,...,ni;Xijk表示工件i的第j道工序在机器k上加工;Xi(j-1)l表示工件i的第j道工序的前一道工序在机器l上加工,l=1,2,3,...,m;Rijegk表示工件i的第j道工序e的第g道工序在同一台机器k上加工,且工序j先与工序g,第j道工序在机器k上的加工时间,e=1,2,3,...,ni,g=1,2,3,...,ni;Cijk为工件i的第j道工序在机器k上的完成时间,Cabk为工件a的第b道工序在机器k上的完成时间;
A2、初始化:设置种群规模NP=30,记忆代数LP=20;
A3、采用基于工序和工序所对应加工机器的双层编码方法将工件调度转化为列矩阵X,即对一个可行的调度X=[x1,x2,…,x24]T,D=24,d表示当前工序的总和,令其前半部分X1=[x1,x2,…,x12]Τ表示工序调度的编码,即从第一个工件的第一个工序到最后一个工件的最后一个工序按照整数1,2,3,…,12的方式计数;后半部分X2=[x13,x14,…,x24]Τ表示工序所对应加工的机器,即x13表示工序1可在加工机器集的第x13机器上加工;
A4、基于A3所述编码方式,对种群进行初始化,初始种群个体规模为30,对前半部分序列进行30次随机排序,每次排序作为一个个体的前半序列;后半部分序列通过每个工序对应机器集随机产生;
A5、计算当前种群中各个体之间的平均距离为:
其中,xji,G、xjk,G分别代表第G代种群中的第i和第k个个体的第j维元素;
A6、根据平均距离dist的最大值和最小值对每一代的dist进行归一化处理得到当前种群的拥挤度:
其中,个体间平均距离取得最小值distmin=0;dist的最大值distmax的初始值为初始种群的平均距离,且在进化过程中,如果某一代的dist大于distmax,则取当前的dist作为distmax;
A7、根据种群拥挤度的变化,对不同阶段选择相应的变异策略;
其中,φ代表算法所处的阶段,rand(0,1)代表0到1之间随机数,S1代表算法处于全局探测阶段,S2代表算法处于局部搜索阶段;若满足S1条件,则进入A8;不满足则进入A9;
A8、从以下3中策略中随机选取一个策略进行变异:
DE/rand/1
DE/rand/2
DE/current-to-rand/1
其中,G为进化代数,r1、r2、r3、r4、r5∈{1,2,…,Np},且r1≠r2≠r3≠r4≠r5≠i,vji,G为第G代种群中第i个变异个体的第j维元素, 分别为第G代种群中第r1、r2、r3、r4、r5个个体的第j维元素,K=0.5为DE/current-to-rand/1策略的固定增益常数;表示第G代中第i个个体的增益常数;
A9、从以下3种策略中随机选择一个策略进行变异:
DE/best/1
DE/best/2
DE/current-to-best/1
其中,为第G代种群中的0.5Nprand(0,1)个个体中随机选取的最优个体的第j维元素;
A10、按公式(7)进行交叉操作生成测试向量uji,G+1:
其中,uji,G+1表示第G+1代种群中的第i个测试向量的第j维,为交叉概率,每一代均会自动更新,jrand为0到D之间的随机整数,D表示问题的维数;表示第G代中第i个个体的交叉概率,表示以为均值,以0.1为误差的正态分布随机数,当G<LP时,当G>LP时,取上一代产生的新个体能够被成功保留作为下一代个体时的平均值,同时当记忆代数达到LP时,每当产生新一代则删除最早一代的交叉操作后可能产生不满足约束条件的不可解,需要对不符合约束条件的测试向量进行处理,若经A10步骤操作的测试向量不符合编码规则,则返回A7,直至产生可行解;
A11、解码操作,首先,将试验个体前半部分序列转化为基于工件工序的加工序列;其次,通过后半部分序列确定每台机器上加工工序的顺序;最后,确定所有工件的每道工序在加工机器上的开始时间和完工时间;基于加工序列和工艺约束对各工序以最早允许加工时间逐一进行加工,计算每台机器最后的工作完成时间,取其最大完工时间为对应的解;
A12、通过比较测试向量与当前种群中目标向量的适应值来选择最优个体
其中,xi,G+1表示第G+1代种群的第i个个体,ui,G和xi,G分别表示第G代种群中第i个变异个体和第G代种群的第i个个体,f(x)是目标函数;
A13、判断函数评价次数是否到达6000次,如果满足,则保存结果并退出,否则返回A5。
进一步,所述A8中,N(0.5,0.3)表示均值为0.5,标准偏差为0.3的正态分布随机数。
以上阐述的是本发明给出的一个实施例表现出来的优良优化效果,显然本发明不仅适合上述实施例,在不偏离本发明基本精神及不超出本发明实质内容所涉及内容的前提下可对其做种种变化加以实施。
Claims (1)
1.一种动态策略的差分进化柔性车间优化调度方法,其特征在于:所述方法包括以下步骤:
A1、将柔性车间生产排产问题转化为数学公式描述;对n种工件在m台机器上加工,每种工件包含ni道工序;所需优化的目标函数为:
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>min</mi>
<mrow>
<mo>(</mo>
<mi>max</mi>
<mi> </mi>
<msub>
<mi>C</mi>
<mi>i</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>s</mi>
<mo>.</mo>
<mi>t</mi>
<mo>.</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>C</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>C</mi>
<mrow>
<mi>i</mi>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mi>l</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>&GreaterEqual;</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>X</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>i</mi>
<mrow>
<mo>(</mo>
<mi>j</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mi>l</mi>
</mrow>
</msub>
<mo>=</mo>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>C</mi>
<mrow>
<mi>a</mi>
<mi>b</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>C</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>P</mi>
<mrow>
<mi>a</mi>
<mi>b</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>&GreaterEqual;</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>X</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>a</mi>
<mi>b</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<mn>1</mn>
<mo>,</mo>
<msub>
<mi>R</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
<mi>a</mi>
<mi>b</mi>
<mi>k</mi>
</mrow>
</msub>
<mo>=</mo>
<mn>1</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,Ci表示工件i完成加工的时间;i表示工件序号,i=1,2,3,…,n;j表示工件的工序,j=1,2,3,…,ni;k表示机器的序号,k=1,2,3,…,m;Pijk为工件i的第j道工序在机器k上的加工时间,Pabk为工件a的第b道工序在机器k上的加工时间,a=1,2,3,...,n,b=1,2,3,...,ni;Xijk表示工件i的第j道工序在机器k上加工;Xi(j-1)l表示工件i的第j道工序的前一道工序在机器l上加工,l=1,2,3,...,m;Rijegk表示工件i的第j道工序e的第g道工序在同一台机器k上加工,且工序j先与工序g,第j道工序在机器k上的加工时间,e=1,2,3,...,ni,g=1,2,3,...,ni;Cijk为工件i的第j道工序在机器k上的完成时间,Cabk为工件a的第b道工序在机器k上的完成时间;
A2、初始化:设置种群规模NP,记忆代数LP;
A3、采用基于工序和工序所对应加工机器的双层编码方法将工件调度转化为列矩阵X,即对一个可行的调度X=[x1,x2,…,xD]T,D=2d,d表示当前工序的总和,令其前半部分X1=[x1,x2,…,xd]Τ表示工序调度的编码,即从第一个工件的第一个工序到最后一个工件的最后一个工序按照整数1,2,3,…,d的方式计数;后半部分X2=[xd+1,xd+2,…,xD]Τ表示工序所对应加工的机器,即xd+l表示工序l可在加工机器集的第xd+l机器上加工;
A4、基于A3所述编码方式,对种群进行初始化,初始种群个体规模为Np,对前半部分序列进行Np次随机排序,每次排序作为一个个体的前半序列;后半部分序列通过每个工序对应机器集随机产生;
A5、计算当前种群中各个体之间的平均距离为:
<mrow>
<mi>d</mi>
<mi>i</mi>
<mi>s</mi>
<mi>t</mi>
<mo>=</mo>
<mfrac>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<msub>
<mi>N</mi>
<mi>p</mi>
</msub>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mi>i</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
<msub>
<mi>N</mi>
<mi>p</mi>
</msub>
</munderover>
<msqrt>
<mrow>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mi>k</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</msqrt>
</mrow>
<mrow>
<msub>
<mi>N</mi>
<mi>p</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>N</mi>
<mi>p</mi>
</msub>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mn>2</mn>
</mrow>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>4</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,xji,G、xjk,G分别代表第G代种群中的第i和第k个个体的第j维元素;
A6、根据平均距离dist的最大值和最小值对每一代的dist进行归一化处理得到当前种群的拥挤度:
<mrow>
<mover>
<mrow>
<mi>d</mi>
<mi>i</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
<mo>&OverBar;</mo>
</mover>
<mo>=</mo>
<mfrac>
<mrow>
<mi>d</mi>
<mi>i</mi>
<mi>s</mi>
<mi>t</mi>
<mo>-</mo>
<msub>
<mi>dist</mi>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
</msub>
</mrow>
<mrow>
<msub>
<mi>dist</mi>
<mrow>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>dist</mi>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
</msub>
</mrow>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,个体间平均距离取得最小值distmin=0;dist的最大值distmax的初始值为初始种群的平均距离,且在进化过程中,如果某一代的dist大于distmax,则取当前的dist作为distmax;
A7、根据种群拥挤度的变化,对不同阶段选择相应的变异策略;
<mrow>
<mi>&phi;</mi>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>S</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>f</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>r</mi>
<mi>a</mi>
<mi>n</mi>
<mi>d</mi>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>></mo>
<mover>
<mrow>
<mi>d</mi>
<mi>i</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
<mo>&OverBar;</mo>
</mover>
</mrow>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>S</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>o</mi>
<mi>t</mi>
<mi>h</mi>
<mi>e</mi>
<mi>r</mi>
<mi>w</mi>
<mi>i</mi>
<mi>s</mi>
<mi>e</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>6</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,φ代表算法所处的阶段,rand(0,1)代表0到1之间随机数,S1代表算法处于全局探测阶段,S2代表算法处于局部搜索阶段;若满足S1条件,则进入A8;不满足则进入A9;
A8、从以下3中策略中随机选取一个策略进行变异:
DE/rand/1
<mrow>
<msub>
<mi>v</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>+</mo>
<msubsup>
<mi>F</mi>
<mi>i</mi>
<mi>G</mi>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>3</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mrow>
DE/rand/2
<mrow>
<msub>
<mi>v</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>+</mo>
<msubsup>
<mi>F</mi>
<mi>i</mi>
<mi>G</mi>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>3</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>F</mi>
<mi>i</mi>
<mi>G</mi>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>4</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>5</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mrow>
DE/current-to-rand/1
<mrow>
<msub>
<mi>v</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>+</mo>
<mi>K</mi>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>F</mi>
<mi>i</mi>
<mi>G</mi>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>3</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mrow>
其中,G为进化代数,r1、r2、r3、r4、r5∈{1,2,…,Np},且r1≠r2≠r3≠r4≠r5≠i,vji,G为第G代种群中第i个变异个体的第j维元素, 分别为第G代种群中第r1、r2、r3、r4、r5个个体的第j维元素,K=0.5为DE/current-to-rand/1策略的固定增益常数;Fi G表示第G代中第i个个体的增益常数;
A9、从以下3种策略中随机选择一个策略进行变异:
DE/best/1
<mrow>
<msub>
<mi>v</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>=</mo>
<msubsup>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
<mrow>
<mi>p</mi>
<mi>b</mi>
<mi>e</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>F</mi>
<mi>i</mi>
<mi>G</mi>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>3</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mrow>
DE/best/2
<mrow>
<msub>
<mi>v</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>+</mo>
<msubsup>
<mi>F</mi>
<mi>i</mi>
<mi>G</mi>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
<mrow>
<mi>p</mi>
<mi>b</mi>
<mi>e</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msubsup>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>F</mi>
<mi>i</mi>
<mi>G</mi>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>3</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mrow>
DE/current-to-best/1
<mrow>
<msub>
<mi>v</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>+</mo>
<msubsup>
<mi>F</mi>
<mi>i</mi>
<mi>G</mi>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msubsup>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
<mrow>
<mi>p</mi>
<mi>b</mi>
<mi>e</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msubsup>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>F</mi>
<mi>i</mi>
<mi>G</mi>
</msubsup>
<mo>&CenterDot;</mo>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<msub>
<mi>jr</mi>
<mn>2</mn>
</msub>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mrow>
其中,为第G代种群中的0.5Nprand(0,1)个个体中随机选取的最优个体的第j维元素;
A10、按公式(7)进行交叉操作生成测试向量uji,G+1:
<mrow>
<msub>
<mi>u</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<msub>
<mi>v</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>f</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>r</mi>
<mi>a</mi>
<mi>n</mi>
<mi>d</mi>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&le;</mo>
<msubsup>
<mi>C</mi>
<mrow>
<mi>R</mi>
<mi>i</mi>
</mrow>
<mi>C</mi>
</msubsup>
<mi>o</mi>
<mi>r</mi>
<mi>j</mi>
<mo>=</mo>
<msub>
<mi>j</mi>
<mrow>
<mi>r</mi>
<mi>a</mi>
<mi>n</mi>
<mi>d</mi>
</mrow>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mrow>
<mi>j</mi>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mrow>
<mi>o</mi>
<mi>t</mi>
<mi>h</mi>
<mi>e</mi>
<mi>r</mi>
<mi>w</mi>
<mi>i</mi>
<mi>s</mi>
<mi>e</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>7</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,uji,G+1表示第G+1代种群中的第i个测试向量的第j维,为交叉概率,每一代均会自动更新,jrand为0到D之间的随机整数,D表示问题的维数;表示第G代中第i个个体的交叉概率,表示以为均值,以0.1为误差的正态分布随机数,当G<LP时,当G>LP时,取上一代产生的新个体能够被成功保留作为下一代个体时的平均值,同时当记忆代数达到LP时,每当产生新一代则删除最早一代的交叉操作后可能产生不满足约束条件的不可解,需要对不符合约束条件的测试向量进行处理,若经A10步骤操作的测试向量不符合编码规则,则返回A7,直至产生可行解;
A11、解码操作,首先,将试验个体前半部分序列转化为基于工件工序的加工序列;其次,通过后半部分序列确定每台机器上加工工序的顺序;最后,确定所有工件的每道工序在加工机器上的开始时间和完工时间;基于加工序列和工艺约束对各工序以最早允许加工时间逐一进行加工,计算每台机器最后的工作完成时间,取其最大完工时间为对应的解;
A12、通过比较测试向量与当前种群中目标向量的适应值来选择最优个体
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
<mo>+</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mtable>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>f</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>f</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>u</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&le;</mo>
<mi>f</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>G</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mrow>
<mi>o</mi>
<mi>t</mi>
<mi>h</mi>
<mi>e</mi>
<mi>r</mi>
<mi>w</mi>
<mi>i</mi>
<mi>s</mi>
<mi>e</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>8</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,xi,G+1表示第G+1代种群的第i个个体,ui,G和xi,G分别表示第G代种群中第i个变异个体和第G代种群的第i个个体,f(x)是目标函数;
A13、判断是否满足终止条件,如果满足,则保存结果并退出,否则返回A5。
进一步,所述A8中,Fi G=N(0.5,0.3),N(0.5,0.3)表示均值为0.5,标准偏差为0.3的正态分布随机数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710683897.6A CN107704985A (zh) | 2017-08-11 | 2017-08-11 | 一种动态策略的差分进化柔性车间优化调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710683897.6A CN107704985A (zh) | 2017-08-11 | 2017-08-11 | 一种动态策略的差分进化柔性车间优化调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107704985A true CN107704985A (zh) | 2018-02-16 |
Family
ID=61171024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710683897.6A Pending CN107704985A (zh) | 2017-08-11 | 2017-08-11 | 一种动态策略的差分进化柔性车间优化调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704985A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034540A (zh) * | 2018-06-29 | 2018-12-18 | 长安大学 | 一种基于在制品工序流的机床序列编排动态预测方法 |
CN110221583A (zh) * | 2019-05-20 | 2019-09-10 | 清华大学 | 一种基于HoloLens的智能装配生产线仿真方法 |
CN110807597A (zh) * | 2019-11-06 | 2020-02-18 | 无锡功恒精密机械制造有限公司 | 针对非标制造流程的自动排程方法和*** |
CN111208794A (zh) * | 2020-02-22 | 2020-05-29 | 江南大学 | 基于差分进化算法的离散制造车间静态调度优化方法 |
CN113885609A (zh) * | 2021-10-25 | 2022-01-04 | 四川虹美智能科技有限公司 | 一种车载冰箱的箱体温度控制方法、装置和车载冰箱 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105160196A (zh) * | 2015-09-22 | 2015-12-16 | 浙江工业大学 | 一种基于动态变异策略的群体全局优化方法 |
CN105260772A (zh) * | 2015-11-18 | 2016-01-20 | 浙江工业大学 | 一种基于多策略的阶段性群体全局优化方法 |
CN105678401A (zh) * | 2015-12-29 | 2016-06-15 | 浙江工业大学 | 一种基于策略适应性差分进化的全局优化方法 |
CN106610651A (zh) * | 2015-12-16 | 2017-05-03 | 四川用联信息技术有限公司 | 一种混合遗传算法求解多目标柔性作业车间调度问题 |
CN106779143A (zh) * | 2016-11-15 | 2017-05-31 | 浙江工业大学 | 一种生产排产调度优化方法 |
-
2017
- 2017-08-11 CN CN201710683897.6A patent/CN107704985A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105160196A (zh) * | 2015-09-22 | 2015-12-16 | 浙江工业大学 | 一种基于动态变异策略的群体全局优化方法 |
CN105260772A (zh) * | 2015-11-18 | 2016-01-20 | 浙江工业大学 | 一种基于多策略的阶段性群体全局优化方法 |
CN106610651A (zh) * | 2015-12-16 | 2017-05-03 | 四川用联信息技术有限公司 | 一种混合遗传算法求解多目标柔性作业车间调度问题 |
CN105678401A (zh) * | 2015-12-29 | 2016-06-15 | 浙江工业大学 | 一种基于策略适应性差分进化的全局优化方法 |
CN106779143A (zh) * | 2016-11-15 | 2017-05-31 | 浙江工业大学 | 一种生产排产调度优化方法 |
Non-Patent Citations (1)
Title |
---|
谢皓: "柔性作业车间调度问题的算法研究", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109034540A (zh) * | 2018-06-29 | 2018-12-18 | 长安大学 | 一种基于在制品工序流的机床序列编排动态预测方法 |
CN110221583A (zh) * | 2019-05-20 | 2019-09-10 | 清华大学 | 一种基于HoloLens的智能装配生产线仿真方法 |
CN110807597A (zh) * | 2019-11-06 | 2020-02-18 | 无锡功恒精密机械制造有限公司 | 针对非标制造流程的自动排程方法和*** |
CN110807597B (zh) * | 2019-11-06 | 2024-01-30 | 无锡功恒精密机械制造有限公司 | 针对非标制造流程的自动排程方法和*** |
CN111208794A (zh) * | 2020-02-22 | 2020-05-29 | 江南大学 | 基于差分进化算法的离散制造车间静态调度优化方法 |
CN113885609A (zh) * | 2021-10-25 | 2022-01-04 | 四川虹美智能科技有限公司 | 一种车载冰箱的箱体温度控制方法、装置和车载冰箱 |
CN113885609B (zh) * | 2021-10-25 | 2023-04-25 | 四川虹美智能科技有限公司 | 一种车载冰箱的箱体温度控制方法、装置和车载冰箱 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704985A (zh) | 一种动态策略的差分进化柔性车间优化调度方法 | |
CN107506956A (zh) | 基于改进粒子群算法供应链生产运输协同调度方法及*** | |
CN102393839B (zh) | 并行数据处理***及方法 | |
CN108596335A (zh) | 一种基于深度强化学习的自适应众包方法 | |
CN109544332A (zh) | 一种基于用户等级的区块链交易出块的方法 | |
CN103955628B (zh) | 基于子空间融合的蛋白质‑维他命绑定位点预测方法 | |
CN103530702A (zh) | 一种基于瓶颈设备分解的大规模作业车间调度方法 | |
CN101706883B (zh) | 数据挖掘方法和装置 | |
CN106610651A (zh) | 一种混合遗传算法求解多目标柔性作业车间调度问题 | |
CN106708659A (zh) | 一种自适应最近邻缺失数据的填充方法 | |
CN103324954A (zh) | 一种基于树结构的图像分类方法及其*** | |
CN108229750A (zh) | 一种股票收益率预测方法 | |
CN102982229A (zh) | 一种基于神经网络的多品种商品价格预测的数据预处理方法 | |
CN107146039A (zh) | 一种多目标协同控制的定制式混流装配生产方法及装置 | |
CN115759552A (zh) | 一种基于多智能体架构的面向智慧工厂的实时调度方法 | |
CN109961129A (zh) | 一种基于改进粒子群的海上静止目标搜寻方案生成方法 | |
CN108665156A (zh) | 区块链下基于马尔科夫链的供应链选择评价方法 | |
CN117290721A (zh) | 数字孪生建模方法、装置、设备及介质 | |
CN110263136A (zh) | 基于强化学习模型向用户推送对象的方法和装置 | |
CN103605493A (zh) | 基于图形处理单元的并行排序学习方法及*** | |
CN112182243B (zh) | 基于实体识别模型构建知识图谱的方法、终端及存储介质 | |
CN105354644A (zh) | 一种基于集成经验模态分解和1-范数支持向量机分位数回归的金融时间序列预测方法 | |
CN102096830A (zh) | 一种基于克隆选择的高光谱遥感影像亚像元定位方法 | |
CN116976568A (zh) | 一种辅助城乡规划编制的数据共享方法及*** | |
CN112163788A (zh) | 一种基于实时数据的互联网无桩单车的调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180216 |
|
RJ01 | Rejection of invention patent application after publication |