CN104049612A - 基于分布估计的加工车间调度方法 - Google Patents
基于分布估计的加工车间调度方法 Download PDFInfo
- Publication number
- CN104049612A CN104049612A CN201410276989.9A CN201410276989A CN104049612A CN 104049612 A CN104049612 A CN 104049612A CN 201410276989 A CN201410276989 A CN 201410276989A CN 104049612 A CN104049612 A CN 104049612A
- Authority
- CN
- China
- Prior art keywords
- sequence
- solution sequence
- machine
- solution
- job
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于分布估计的加工车间调度方法,该方法根据动态事件发生时调度执行的情况,将动态加工车间调度问题转换为静态加工车间调度问题,并利用分布估计算法进一步求解静态加工车间调度问题,简化了动态加工车间调度问题求解的复杂度,使得在动态事件发生时,能够快速生成新的调度计划。
Description
技术领域
本发明涉及一种加工车间调度方法,尤其涉及一种用于解决模糊时间下动态灵活加工车间调度问题的基于分布估计的加工车间调度方法。
背景技术
随着制造业的发展,使用科学的方法降低生产成本、提高生产效率已成为生产管理者的共识。其中,调度问题(Scheduling Problem)作为制造流程的基础问题,其重要性不言而喻。在实际生产中,加工车间调度(Job-shop Scheduling Problem,JSP)是最为常见也是最为复杂的一类调度问题。目前,现有调度方法的研究多限于解决静态的加工车间调度问题,即在调度之初,预先确定了加工的工作和机器。然而,在实际生产中,在执行调度计划的过程中,加工车间会面临很多动态事件的发生,例如:机器故障、机器的调入调出、临时性紧急订单的增加或是已有订单的取消等。
发明内容
鉴于上述内容,有必要提供一种基于分布估计的加工车间调度方法,能够在加工车间发生动态事件时,生成高效的调度计划。
一种基于分布估计的加工车间调度方法,该方法包括:转换步骤,当动态事件发生时,根据当前调度计划的执行情况,将模糊时间下动态灵活加工车间调度问题转换为模糊时间下非零状态静态灵活加工车间调度问题;初始化步骤,根据模糊时间下非零状态静态灵活加工车间调度问题的非零状态初始条件,生成工序顺序解序列的概率矩阵及机器排配解序列的概率矩阵,并对所生成的工序顺序解序列的概率矩阵及机器排配解序列的概率矩阵进行初始化;采样步骤,对初始化后的工序顺序解序列的概率矩阵及机器排配解序列的概率矩阵进行预设次数的采样,产生预设数目的解序列个体,每个解序列个体包括工序顺序解序列和机器排配解序列;计算步骤,计算每个解序列个体的目标函数值,并根据目标函数值对每个解序列个体进行评价;选择步骤,对采样所产生的解序列个体以及历史最优解序列个体的目标函数值进行升序排序,选择排名在前的预设数量的解序列个体作为最优解序列个体;标准化步骤,对最优解序列个体进行编码操作以规范化最优解序列个体;更新步骤,利用规范化的最优解序列个体,更新历史最优解序列个体以及概率矩阵;及迭代输出步骤,迭代执行上述采样步骤至更新步骤,直至达到预设的迭代次数,以迭代执行的最后一代的最优解序列个体作为最终解。
相比于现有技术,本发明所述的基于分布估计的加工车间调度方法,根据动态事件发生时调度执行的情况,将动态加工车间调度问题转换为静态加工车间调度问题,并利用分布估计算法进一步求解静态加工车间调度问题,简化了动态加工车间调度问题求解的复杂度,使得在动态事件发生时,能够快速生成新的调度计划。
附图说明
图1是本发明基于分布估计的加工车间调度系统的应用环境图。
图2是本发明基于分布估计的加工车间调度方法的实施例的流程图。
图3是工作顺序解序列和机器排配解序列的示意图。
图4是工序的三角模糊加工工时的示意图。
图5是根据解序列个体绘制甘特图的示意图。
主要元件符号说明
计算装置 | 1 |
存储器 | 10 |
处理器 | 20 |
基于分布估计的加工车间调度系统 | 30 |
转换模块 | 300 |
初始化模块 | 301 |
采样模块 | 302 |
计算模块 | 303 |
选择模块 | 304 |
标准化模块 | 305 |
更新模块 | 306 |
判断模块 | 307 |
迭代输出模块 | 308 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
如图1所示,是本发明基于分布估计的加工车间调度系统的应用环境图。所述基于分布估计的加工车间调度系统30应用于计算装置1中,用于简化动态加工车间调度问题求解的复杂度,使得在动态事件发生时,能够快速生成新的调度计划。该计算装置1还包括存储器10及处理器20。
所述计算装置1可以是电脑、服务器等。
所述基于分布估计的加工车间调度系统30由一个或者多个模块构成,所述模块包括转换模块300、初始化模块301、采用模块302、计算模块303、选择模块304、标准化模块305、更新模块306、判断模块307及迭代输出模块308,所述模块的功能将在后续中详述。
本发明提供一种基于分布估计的加工车间调度方法,用于解决模糊时间下动态灵活加工车间调度问题(Dynamic Flexible Job-ShopScheduling Problem with fuzzy processing time,简称DfFJSP)。所述DfFJSP更接近现实生产环境车间调度情况,是允许动态事件发生的动态调度问题。在说明本发明技术方案之前,首先对本发明涉及的几种调度问题的定义进行说明。
定义1.1模糊时间下灵活加工车间调度问题(Flexible Job-shopScheduling Problem with fuzzy processing time,fFJSP)
n个工作在m台机器上加工,其中,J={J1,J2,Ji,…,Jn}为工作集合,M={M1,M2,Mk,…,Mm}为机器集合,Ji的下标为工作编号,Mk的下标机器编号,且工作编号和机器编号为正整数。每个工作Ji包括ni个有序的工序Oi,j即所有工作的工序总数Oi,j表示工作Ji的第j道工序,其中,(i,j)有序对为工序编号,工序第一下标i表示工作编号,工序第二下标j表示工序在工作中的加工顺序。,mi,j表示工序Oi,j可以被加工的机器数目,工序Oi,j可以在机器M中mi,j台机器的任一机器上加工,工序Oi,j在机器Mk上的加工工时使用三角模糊数字(Triangular FuzzyNumber,TFN)ti,j,k表示,其中,为最短的加工工时,为最可能的加工工时,为最长的加工工时,相应的,工序Oi,j的完成时间使用三角模糊数字Ci,j表示, 为最小的完成时间,为最可能的完成时间,为最大的完成时间。如图4所示,O1,1在机器M1,M2上的加工工时分别为(3,4,5),(2,5,6)。
此外,还满足以下约束条件:
a.所有工作是独立的;
b.所有机器和工作是确定的;
c.初始时,所有工作都可以开始加工,所有机器是可用的;
d.一个机器同一时间只能加工一个工序;
e.一个工作同一时间内只能在一个机器上加工;
f.工序之间的转换时间忽略不不计;
g.一道工序在机器上加工时,无法中断。
定义1.2模糊时间下动态灵活加工车间调度问题(简称“DfFJSP”)
在上述fFJSP定义基础上,去掉条件“所有机器和工作是确定的”,即调度计划执行过程中,允许动态事件的发生,所述动态事件为工作或机器的增减。
定义1.3模糊时间下非零状态静态灵活加工车间调度问题(简称“非零状态fFJSP”)
在上述fFJSP定义基础上,去掉条件“初始时,所有工作都可以开始加工,所有机器是可用的”,增加非零状态初始条件“初始时,有部分工作的第一道工序被预先安排在某些机器上加工”。具体的,以集合 表示非零状态初始条件,其中,表示工作的第一道工序被预先排配在机器上加工,s为集合F的元素个数即表示初始时有s个工作的第一道工序已预先排配机器。
参阅图2所示,是本发明基于分布估计的加工车间调度方法的实施例的流程图。
步骤S01,当动态事件发生时,转换模块300根据当前调度计划的执行情况,将模糊时间下动态灵活加工车间调度问题转换为模糊时间下非零状态静态灵活加工车间调度问题。
具体的,通过以下步骤将模糊时间下动态灵活加工车间调度问题转换为模糊时间下非零状态静态灵活加工车间调度问题:
a.根据动态事件中机器或工作的增减,在机器集合J或工作集合M中增减与所要增减的机器或工作相应的机器编号或工作编号,例如,若动态事件为增加机器M3,则在机器集合M={M1,M2}中增加M3,即M={M1,M2,M3};
b.更新当前调度计划,具体地,删除当前调度计划中已经完成的工序,并对已完成工序对应的工作的其余工序的第二下标进行重新编号,例如动态事件发生时,工作J1={O1,1,O1,2,O1,3}中的工序O1,1已经完成,删除该工序O1,1,并对其余工序O1,2,O1,3重新编号为O1,1,O1,2,即J1={O1,1,O1,2};
c.根据当前调度计划中已分配在机器上加工中的工序的加工情况,调整加工中工序的加工工时,加工中工序的加工工时=原加工工时-动态事件发生时已加工的工时,例如,动态事件发生时,工序O1,1,分配在机器M1上加工,工序O1,1的加工工时t1,1,2=(4,5,8),动态事件发生时,工序O1,1已经在机器M1上加工了2个工时单位,则工序O1,1在新的调度计划中加工工时为t1,1,2=(2,3,6);
d.汇总当前调度计划中已分配在机器上加工中的工序,生成集合 表示非零状态初始条件,指工作的第一道工序分配在机器
通过上述步骤,将DfFJSP调度问题转换为非零状态fFJSP调度问题,本发明进一步利用改进的分布估计算法求解非零状态fFJSP。所述分布估计算法(Estimation of Distribution Algorithm,EDA)是一种进化算法,具体的,通过统计手段建立解空间的概率模型,对概率模型采样产生新的个体,评价新个体以从中选择优秀个体,利用优秀个体更新概率模型,迭代执行采样、选择、更新步骤,直到满足预设的迭代次数。以下,参见后续步骤S02~S09,详细说明利用改进的分布估计算法求解非零状态fFJSP。
步骤S02,初始化模块301根据模糊时间下非零状态静态灵活加工车间调度问题的非零状态初始条件,生成工序顺序解序列的概率矩阵及机器排配解序列的概率矩阵,并对所生成的工序顺序解序列的概率矩阵及机器排配解序列的概率矩阵进行初始化。
本实施例中,步骤S02的具体过程如下:
a.生成工序顺序解序列的概率矩阵P,且其中,元素表示Ji出现在工序顺序解序列中第i个位置或第i个位置之前的概率,上标g表示迭代执行的次数且初始化g=0,To、n为行数和列数,To为所有工作包括的工序总数,n为所有工作总数即工作集合J的元素个数,s为非零状态初始条件 的元素个数;
b.生成机器排配解序列的概率矩阵Q,且其中,元素表示Oi,j排配在机器Mk上加工的概率,的上标g表示迭代的第g代种群,初始化g=0,n、To、m分别为所有工作总数、所有工序总数以及所有机器总数。
步骤S03,采样模块302对初始化后的工序顺序解序列的概率矩阵及机器排配解序列的概率矩阵进行预设次数Pnum次采样,产生预设数目Pnum个解序列个体,每个解序列个体包括有工序顺序解序列和机器排配解序列。
上述步骤S01中,将DfFJSP转换为fFJSP,而求解非零状态fFJSP调度问题的实质是解决以下两个问题:所有工序的加工顺序问题及所有工序的机器排配问题。在本实施例中,对非零状态fFJSP调度问题求解得到的调度计划是通过解序列进行数学表达,其中,每个解序列个体包括工序顺序解序列和机器排配解序列,工序顺序解序列表示所有工序被加工的时间先后顺序,机器排配解序列表示所有工序依次被排配的机器且所有工序按照工序编号从小到大标准排序。具体的,所述工序顺序解序列由To个工作编号组成,工作编号出现的次数对应该工作编号所包括的工序的加工顺序,相同工作编号出现的总次数等于该工作编号对应工作包括的所有工序个数;所述机器排配解序列由To个机器编号组成且所有机器上排配的工序按照工序编号从小到大标准排序;其中,To为所有工作包括的工序总数。
请参阅图3,工序顺序解序列(1,2,1,2,1,2)表示2个工作J1、J2的所有工序被加工的时间先后顺序,其中,数字1和2为工作编号,工作编号1第一次出现对应工序O1,1,工作编号2第一次出现对应工序O2,1,依次类推,工序顺序(1,2,1,2,1,2)所表示的所有工序加工的时间先后顺序为O1,1->O2,1->O1,2->O2,2->O1,3->O2,3。结合工序顺序解序列(1,2,1,2,1,2)解读机器排配解序列(2,1,2,3,3,1),表示3台机器M1,M2,M3排配2个工作J1,J2的共计6个工序,所有依工序编号从小到大标准排序后,工序O1,1,O1,2,O1,3,O2,1,O2,2,O2,3依次排配在机器M2,M1,M2,M3,M3,M1上。
具体的,通过以下步骤对概率矩阵P进行采样生成工序顺序解序列:
a.根据非零状态初始条件 确定工序顺序解序列的前s个元素,分别为的工作编号i1,i2,…,is;
b.产生概率矩阵P的副本矩阵P'(此时副本矩阵P'与概率矩阵P相同,在后续的迭代步骤中会对副本矩阵P'进行更新);
c.从副本矩阵P'的第s+1行开始逐行进行概率采样,每行采样生成工序顺序解序列的一个元素;
d.对副本矩阵P'的第s+i行采样时,产生一个随机数λ且λ∈[0,1]均匀分布,如果对于某一个j,若λ处于区间内,则将j作为工序顺序解序列的第i行元素的工作编号(不妨设)。
e.判定上述采样产生的工作编号在工序顺序解序列中出现的总次数与该工作编号包括的工序总数的大小关系:若工作编号j在第s+i行采样后在在工序顺序解序列中出现的总次数等于工作编号j的工序总数,则将副本矩阵P'中行数大于s+i且列数等于j的所有元素重置为0,即将副本矩阵P'中的元素重置为0,并将副本矩阵P'的第s+i行之后的每行元素进行归一化,使得副本矩阵P'的第s+i行之后的每行元素之和仍然为1;若总次数小于工序总数,则迭代执行上述步骤c~步骤e,直至对副本矩阵P'的最后一行的概率采样产生工序顺序解序列的最后一个元素。
具体的,通过以下步骤对概率矩阵Q进行采样生成机器排配解序列:
a.从概率矩阵Q的第一个维度等于1和第二个维度等于1(以下第一维度用行表示,第二维度用列表示,如第一个维度等于1时,表示第1行,第二维度等于1时,表示第1列)开始逐行进行概率采样,每次采样都会按顺序生成机器排配解序列的一个元素;
b.对概率矩阵Q的第i行第j列采样时,
产生一个随机数λ且λ∈[0,1]均匀分布,若λ处于内,则将机器编号l置于机器排配解序列相应的位置(不妨设);
c.迭代执行上述步骤a,b,直至对概率矩阵Q的最后一行最后一列的概率采样产生工序顺序解序列的最后一个元素。
综上,本实施例中按照上述对概率矩阵P采样和对概率矩阵Q采样的步骤,重复执行Pnum次采样,产生Pnum个解序列个体。经实验数据验证后,本实施例中,Pnum=150。
步骤S04,计算模块303计算每个解序列个体的目标函数值,并根据目标函数值对每个解序列个体进行评价。
在本实施例中,根据每个解序列个体包括的工序顺序解序列和机器排配解序列生成甘特图(该甘特图在程序中用二维数组形式表示),以甘特图表示每个解序列个体代表的调度计划,由甘特图获取所有工序总完成时间作为目标函数值,以目标函数值评价解序列个体,解序列个体的所有工序总完成时间越小则表明解序列个体越优秀。
本实施例中,通过以下步骤绘制解序列个体的甘特图:
a.绘制空白甘特图,每个水平轴表示一个机器;
b.按照从左至右的顺序依次从工序顺序解序列中提取元素,每个元素表示一个工序Oi,j;
c.根据工序顺序解序列中提取元素所表示的工序Oi,j由机器排配解序列中获取该工序Oi,j的加工机器Mk;
d.计算工序Oi,j在加工机器Mk上的开始时间和完成时间,在甘特图中表示该工序Oi,j的加工机器Mk的对应水平轴上绘制该工序Oi,j,该工序Oi,j的开始时间由位于水平轴下方的模糊三角数字表示,该工序Oi,j的完成时间由位于水平轴上方的模糊三角数字表示,当甘特图中加工机器Mk上加工该工序Oi,j前的倒数第一个工序的开始时间与倒数第二个工序的完成时间的时间差大于等于该工序Oi,j的加工工时的最短加工工时,则该工序Oi,j的开始时间等于加工机器Mk上加工该工序Oi,j前的倒数第二个工序的完成时间且该工序Oi,j的开始时间晚于工序Oi,j-1的完成时间,否则,该工序Oi,j的开始时间为在加工机器Mk上加工该工序Oi,j前的倒数第一个工序的完成时间且该工序Oi,j的开始时间晚于工序Oi,j-1的完成时间,该工序Oi,j的完成时间为该工序Oi,j的开始时间加上该工序Oi,j的加工工时;
e.重复执行步骤b至步骤d,直至提取工序顺序解序列的最后一个元素。
综上,根据每个解序列个体的甘特图可以迅速获取到所有工序的完成时间,所有工序总完成时间其中,Ci,j工序Oi,j的完成时间。
以下,结合图4和图5具体说明绘制甘特图的详细过程,其中,图4所示为工序O1,1,O1,2,O2,1,O2,2在机器M1,M2的加工工时,图5所示的解序列个体中工序顺序解序列为(1,1,2,2),机器排配解序列为(1,2,2,1)表示2台机器M1,M2排配2个工作J1,J2的共计4个工序,工序O1,1,O1,2,O2,1,O2,2依次排配在机器M1,M2,M2,M1上,由图5所示的甘特图中可得出该解序列个体的所有工序完成时间Cmax为(8,10,15)。
具体的绘制过程为:
绘制空白甘特图,每个水平轴表示在一个机器,如图5所示的两个水平轴分别表示机器M1,M2;
当从左至右提取工序解序列的第一个元素时,第一个元素1表示工序O1,1,由机器排配解序列得知该工序的加工机器为M1,计算工序O1,1在加工机器M1上的开始时间和完成时间,甘特图中在机器M1加工O1,1前并未加工任何工序,即O1,1在机器M1的开始时间等于(0,0,0),根据图4所示O1,1在机器M1的加工时间为(3,4,5),O1,1在机器M1的完成时间为(3,4,5);
当从左至右提取工序解序列的第二个元素时,第二个元素1表示工序O1,2,由机器排配解序列得知该工序的加工机器为M2,计算工序O1,2在加工机器M2上的开始时间和完成时间,甘特图中在机器M2加工O1,2前并未加工任何工序,工序O1,2在机器M2的开始时间等于(0,0,0),由于O1,1的完成时间为(3,4,5),则工序O1,2在机器M2的开始时间等于(3,4,5),根据图4所示O1,2在机器M2的加工时间为(2,6,7),工序O1,2在机器M2的完成时间等于(5,10,12);
当从左至右提取工序解序列的第三个元素时,第三个元素2表示工序O2,1,由机器排配解序列得知该工序的加工机器为M2,计算工序O2,1在加工机器M2上的开始时间和完成时间,根据图4所示O1,2在机器M2的加工时间为(2,6,7),甘特图中加工机器M2上加工该工序O2,1前的倒数第一个工序O1,2的开始时间(3,4,5)与倒数第二个工序的完成时间(0,0,0)的时间差(3,4,5)大于该工序O2,1的加工工时(2,3,4)的最短加工工时,则工序O2,1在机器M2的完成时间等于加工机器M2上加工该工序O2,1前的倒数第二个工序的完成时间(0,0,0),工序O2,1的完成时间等于(2,3,4);
当从左至右提取工序解序列的第四个元素时,第四个元素2表示工序O2,2,由机器排配解序列得知该工序的加工机器为M1,计算工序O2,2在加工机器M1上的开始时间和完成时间,根据图4所示O2,2在机器M1的加工时间为(5,6,10),甘特图中加工机器M1上加工该工序O2,2前的倒数第一个工序O1,1的开始时间(0,0,0)与倒数第二个工序的完成时间(0,0,0)的时间差(0,0,0)小于该工序O2,2的加工工时(5,6,10)的最短加工工时,则工序O2,2在机器M1的完成时间等于加工机器M1上加工该工序O2,2前的倒数第一个工序O1,1的完成时间(3,4,5),工序O2,1的完成时间等于(8,10,15)。
需要指出,在本实施例中,当一个工作的不同工序被分别安排在不同机器上执行时,由于每个工作包括的所有工序是有序的且基于约束条件“一个工作同一时间内只能在一个机器上加工”的限制,机器的使用过程中存在等待时间,为了提高机器利用率和调度计划的完成时间,在绘制甘特图的过程中,当确定某工序Oi,j在机器Mk上的开始时间时,参照“尽可能靠左”的原则,即从左往右,判定已经安排在机器Mk的相邻两道工序中,前一道工序的完成时刻和后一道工序的开始时刻的时间差(即为机器Mk的等待时间)是否大于等于该工序Oi,j的加工工时,若满足条件则将工序Oi,j可以提前到该等待时间内加工。参照图5所示,由工序顺序解序列为(1,1,2,2)可知工序O1,2的执行顺序先于工序O2,1,而绘制甘特过程中,由于工序O1,2需等待工序O1,1加工完成后才可以在机器M2上执行,机器机器M2上存在存在等待时间,故,在机器M2的水平轴上,工序O2,1的开始时间先于工序O1,2。
步骤S05,选择模块304对采样所产生的解序列个体以及所保存的历史最优解序列个体的目标函数值进行升序排序,选取排名在前的预设数量的解序列个体作为最优解序列个体。
本实施例中,在每次迭代中,保存排名第一的解序列个体作为下一次迭代的历史最优解序列个体。将当前采样产生所有解序列个体以及所保存的历史最优解序列个体的目标函数值进行升序排序,选取前SPnum个解序列个体作为最优解序列个体。需要说明的是,若迭代过程中首次执行步骤S05进行选取最优解序列个体,则将历史最优解序列个体的目标函数值设定为无穷大值,本实施例中,经过实验数据验证,SPnum=20。
步骤S06,标准化模块305对最优解序列个体进行编码操作以规范化解序列。
所述编码操作是指根据最优解序列个体的甘特图生成解序列,包括以下步骤:
对甘特图中所有工序按照开始时间进行从小到大的排序,将排序结果的每个工序以对应的工作编号表示,生成工序排序解序列;
按照工序编号的从小到大的顺序,从甘特图中查找每个工序对应的加工机器,生成机器排配解序列。
步骤S07,更新模块306利用规范化的最优解序列个体,更新历史最优解序列个体以及概率矩阵。
需要说明的是,本实施例中,以当前迭代执行过程中采样、评价后选择的最优解序列个体替换历史最优解序列个体,另外,按照以下公式更新概率矩阵P和Q:
其中,α和β是种群的进化学习率参数,s为零状态条件 的元素个数,分别定义为:Ji出现在位置s后且出现在位置i或位置i之前的次数,m表示经评价选取的SPnum个最优解序列个体中的第m个最优解序列个体。在本实施例中,经过实验数据验证,种群的进化学习率参数α=0.2,β=0.02。
步骤S08,判断模块307判断是否到达预设迭代次数,若是,则进入步骤S09,否则返回步骤S03,继续采样概率矩阵产生下一代种群。
步骤S09,输出模块308选取迭代执行的最后一代的最优解序列个体作为最终解。
综上,本发明提供的基于分布估计的加工车间调度方法,据动态事件发生时调度执行的情况,将动态加工车间调度问题转换为静态加工车间调度问题,并利用分布估计算法进一步求解静态加工车间调度问题,简化了动态加工车间调度问题求解的复杂度,使得在动态事件发生时,能够快速生成新的调度计划。
最后需要说明的是,以上本发明的实施例仅用于说明本发明的技术方案而非限制,尽管按照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明技术方案进行修改或等同替换,都不应当脱离本发明的精神和保护范围。
Claims (10)
1.一种基于分布估计的加工车间调度方法,其特征在于,该方法包括:
转换步骤,当动态事件发生时,根据当前调度计划的执行情况,将模糊时间下动态灵活加工车间调度问题转换为模糊时间下非零状态静态灵活加工车间调度问题;
初始化步骤,根据模糊时间下非零状态静态灵活加工车间调度问题的非零状态初始条件,生成工序顺序解序列的概率矩阵及机器排配解序列的概率矩阵,并对所生成的工序顺序解序列的概率矩阵及机器排配解序列的概率矩阵进行初始化;
采样步骤,对初始化后的工序顺序解序列的概率矩阵及机器排配解序列的概率矩阵进行预设次数的采样,产生预设数目的解序列个体,每个解序列个体包括工序顺序解序列和机器排配解序列;
计算步骤,计算每个解序列个体的目标函数值,并根据目标函数值对每个解序列个体进行评价;
选择步骤,对采样所产生的解序列个体以及历史最优解序列个体的目标函数值进行升序排序,选择排名在前的预设数量的解序列个体作为最优解序列个体;
标准化步骤,对最优解序列个体进行编码操作以规范化最优解序列个体;
更新步骤,利用规范化的最优解序列个体,更新历史最优解序列个体以及概率矩阵;及
迭代输出步骤,迭代执行上述采样步骤至更新步骤,直至达到预设的迭代次数,以迭代执行的最后一代的最优解序列个体作为最终解。
2.如权利要求1所述的基于分布估计的加工车间调度方法,其特征在于,所述模糊时间下动态灵活加工车间调度问题和所述模糊时间下非零状态静态加工车间调度问题是在模糊时间下灵活加工车间调度问题的基础上定义的;
所述模糊时间下灵活加工车间调度问题的定义为:
a)n个工作在m台机器上加工,每个工作Ji包括ni个有序的工序Oi,j即Oi,j表示工作Ji的第j道工序,工序Oi,j可以在机器M中mi,j台机器的任一机器上加工,所有工作的工序总数其中,Ji、Mk的下标分别为工作编号和机器编号,Oi,j的有序对(i,j)为工序编号,工序第一下标i表示工作编号,工序第二下标j表示工序在工作中的加工顺序;
b)工序Oi,j在机器Mk上的加工工时其中,为最短的加工时长,为最可能的加工工时,为最长的加工工时,工序Oi,j的完成时间 为最小的完成时间,为最可能的完成时间,为最大的完成时间;
c)所有工作是独立的;所有机器和工作是确定的;初始时,所有工作都可以开始加工,所有机器是可用的;一个机器同一时间只能加工一个工序;一个工作同一时间内只能在一个机器上加工;工序之间的转换时间忽略不计;一道工序在机器上加工时,无法中断;
所述模糊时间下动态灵活加工车间调度问题是在模糊时间下灵活加工车间调度问题的定义上去掉约束条件“所有机器和工作是确定的”;
所述模糊时间下非零状态静态加工车间调度问题是在模糊时间下灵活加工车间调度问题的定义上去掉条件“初始时,所有工作都可以开始加工,所有机器是可用的”,增加非零状态初始条件“初始时,有部分工作的第一道工序被预先安排在某些机器上加工”,集合 表示非零状态初始条件,其中,表示工作的第一道工序被预先排配在机器上加工。
3.如权利要求2所述的基于分布估计的加工车间调度方法,其特征在于,所述转换步骤包括:
a.根据动态事件中机器或工作的增减,在机器集合J或工作集合M中增减相应的机器编号或工作编号;
b.删除当前调度计划中已经完成的工序,对已完成工序对应的工作的其余工序的第二下标进行重新编号;
c.根据当前调度计划中已分配在机器上加工中的工序的加工情况,调整加工中工序的加工工时,加工中工序的加工工时=原加工工时-动态事件发生时已加工的工时;及
d.汇总当前调度计划中已分配在机器上加工中的工序,生成集合 表示非零状态初始条件,指工作的第一道工序分配在机器
4.如权利要求3所述的基于分布估计的加工车间调度方法,其特征在于,所述初始化步骤包括:
a.对于生成工序顺序解序列的概率矩阵P,且
其中,元素表示Ji出现在工序顺序解序列的第i个位置或是第i个位置之前的概率,上标g表示迭代执行的次数且初始化g=0,To、n为行数和列数,To为所有工作包括的工序总数,n为所有工作总数即工作集合J的元素个数,s为非零状态初始条件 的元素个数;及
b.对于生成机器排配解序列的概率矩阵且其中,元素表示Oi,j排配在机器Mk上加工的概率,的上标g表示迭代的第g代种群,初始化g=0。
5.如权利要求4所述的基于分布估计的加工车间调度方法,其特征在于,所述工序顺序解序列表示所有工序被加工的时间先后顺序,所述机器排配解序列表示所有工序依次被排配的机器且所有工序按照工序编号从小到大标准排序,所述工序顺序解序列由To个工作编号组成,工作编号出现的次数对应该工作编号所包括的工序的加工顺序,相同工作编号出现的总次数等于该工作编号对应工作包括的所有工序个数,所述机器排配解序列由To个机器编号组成且所有机器上排配的工序按照工序编号从小到大标准排序,To为所有工作包括的工序总数。
6.如权利要求5所述的基于分布估计的加工车间调度方法,其特征在于,所述采样步骤中通过以下步骤对生成工序顺序解序列的概率矩阵P进行采样生成工序顺序解序列:
a.根据非零状态初始条件 确定工序顺序解序列的前s个元素,分别为的工作编号i1,i2,…,is;
b.产生概率矩阵P的副本矩阵P';
c.从副本矩阵P'的第s+1行开始逐行进行概率采样,每行采样生成工序顺序解序列的一个元素;
d.对副本矩阵P'的第s+i行采样时,产生一个随机数λ且λ∈[0,1]均匀分布,如果对于某一个j,若λ处于区间内,则将j作为工序顺序解序列的第i行元素的工作编号,设
e.判定上述采样产生的工作编号在工序顺序解序列中出现的总次数与该工作编号包括的工序总数的大小关系,若工作编号j在第s+i行采样后在在工序顺序解序列中出现的总次数等于工作编号j的工序总数,则将副本矩阵P'中行数大于s+i且列数等于j的所有元素重置为0,即将副本矩阵P'中的元素重置为0,并将副本矩阵P'的第s+i行之后的每行元素进行归一化,使得副本矩阵P'的第s+i行之后的每行元素之和仍然为1;若总次数小于工序总数,则迭代执行上述步骤c~步骤e,直至对副本矩阵P'的最后一行的概率采样产生工序顺序解序列的最后一个元素。
7.如权利要求5所述的基于分布估计的加工车间调度方法,其特征在于,所述采样步骤中通过以下步骤对生成机器排配解序列的概率矩阵Q进行采样生成工序顺序解序列:
a.从概率矩阵Q的第一个维度等于1和第二个维度等于1,以下第一维度用行表示,第二维度用列表示,开始逐行进行概率采样,每次采样都会按顺序生成机器排配解序列的一个元素;
b.对概率矩阵Q的第i行第j列采样时,
产生一个随机数λ且λ∈[0,1]均匀分布,若λ处于内,则将机器编号l置于机器排配解序列相应的位置,设
c.迭代执行上述步骤a,b,直至对概率矩阵Q的最后一行最后一列的概率采样产生工序顺序解序列的最后一个元素。
8.如权利要求4所述的基于分布估计的加工车间调度方法,其特征在于,所述评价步骤中根据每个解序列个体包括的工序顺序解序列和机器排配解序列绘制甘特图,以甘特图表示每个解序列个体代表的调度计划,由甘特图获取所有工序总完成时间作为目标函数值,以目标函数值评价解序列个体。
9.如权利要求8所述的基于分布估计的加工车间调度方法,其特征在于,所述标准化步骤中所述编码操作是指根据最优解序列个体的甘特图生成解序列,包括以下步骤:
对甘特图中所有工序按照开始时间进行从小到大的排序,将排序结果的每个工序以对应的工作编号表示,生成工序排序解序列;及
按照工序编号的从小到大的顺序,从甘特图中查找每个工序对应的加工机器,生成机器排配解序列。
10.如权利要求4所述的基于分布估计的加工车间调度方法,其特征在于,所述更新步骤包括:
以当前迭代执行过程中采样、评价后选择的最优解序列个体替换历史最优解序列个体;
按照以下公式更新概率矩阵P和Q:
其中,α和β是种群的进化学习率参数,s为零状态条件 的元素个数,分别定义为:Ji出现在位置s后,且出现在位置i或位置i之前的次数,m表示经评价选取的SPnum个最优解序列个体中的第m个最优解序列个体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410276989.9A CN104049612A (zh) | 2014-06-19 | 2014-06-19 | 基于分布估计的加工车间调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410276989.9A CN104049612A (zh) | 2014-06-19 | 2014-06-19 | 基于分布估计的加工车间调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104049612A true CN104049612A (zh) | 2014-09-17 |
Family
ID=51502611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410276989.9A Pending CN104049612A (zh) | 2014-06-19 | 2014-06-19 | 基于分布估计的加工车间调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104049612A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536387A (zh) * | 2014-11-20 | 2015-04-22 | 昆明理工大学 | 一种液晶电视机的生产装配过程的优化调度方法 |
CN107862469A (zh) * | 2017-11-23 | 2018-03-30 | 深圳市前海文仲信息技术有限公司 | 精密加工触屏可视化操作管理方法、移动终端和介质 |
CN110928261A (zh) * | 2019-12-17 | 2020-03-27 | 清华大学 | 分布式异构流水车间的分布估计调度方法及系统 |
CN110989535A (zh) * | 2019-12-20 | 2020-04-10 | 华南理工大学 | 一种应对加工次序变动的生产计划动态调整方法 |
CN111539611A (zh) * | 2020-04-17 | 2020-08-14 | 上海电气集团股份有限公司 | 一种装配调度方法、装置、设备及介质 |
-
2014
- 2014-06-19 CN CN201410276989.9A patent/CN104049612A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104536387A (zh) * | 2014-11-20 | 2015-04-22 | 昆明理工大学 | 一种液晶电视机的生产装配过程的优化调度方法 |
CN107862469A (zh) * | 2017-11-23 | 2018-03-30 | 深圳市前海文仲信息技术有限公司 | 精密加工触屏可视化操作管理方法、移动终端和介质 |
CN107862469B (zh) * | 2017-11-23 | 2021-07-23 | 深圳市前海文仲信息技术有限公司 | 精密加工触屏可视化操作管理方法、移动终端和介质 |
CN110928261A (zh) * | 2019-12-17 | 2020-03-27 | 清华大学 | 分布式异构流水车间的分布估计调度方法及系统 |
CN110989535A (zh) * | 2019-12-20 | 2020-04-10 | 华南理工大学 | 一种应对加工次序变动的生产计划动态调整方法 |
CN111539611A (zh) * | 2020-04-17 | 2020-08-14 | 上海电气集团股份有限公司 | 一种装配调度方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105446979B (zh) | 数据挖掘方法和节点 | |
CN104049612A (zh) | 基于分布估计的加工车间调度方法 | |
EP3179415A1 (en) | Systems and methods for a multi-core optimized recurrent neural network | |
CN107784364A (zh) | 机器学习模型的异步训练 | |
CN109891438B (zh) | 数值量子实验方法和系统 | |
CN106294288B (zh) | 一种分布式非负矩阵分解方法 | |
CN104076809B (zh) | 数据处理装置以及数据处理方法 | |
CN108170639A (zh) | 基于分布式环境的张量cp分解实现方法 | |
CN110941251B (zh) | 基于数字孪生体的生产控制方法、装置、设备及介质 | |
AU2020372607A1 (en) | Model selection in a forecasting pipeline to optimize tradeoff between forecast accuracy and computational cost | |
CN105205052A (zh) | 一种数据挖掘方法及装置 | |
CN108197708A (zh) | 一种基于Spark的并行化遗传算法 | |
CN105718641A (zh) | 批量化建立cae二维网格的方法 | |
CN111915011A (zh) | 一种单振幅量子计算模拟方法 | |
CN115730555A (zh) | 一种芯片布局方法、装置、设备及存储介质 | |
CN104536831A (zh) | 一种基于多目标优化的多核SoC软件映射方法 | |
CN102737743A (zh) | 一种核电站主控室盘台布局的方法和系统 | |
Bucki et al. | Modelling decision-making processes in the management support of the manufacturing element in the logistic supply chain | |
Chabchoub et al. | Classification of the vélib stations using Kmeans, Dynamic Time Wraping and DBA averaging method | |
CN111125620A (zh) | 推荐系统中基于矩阵分解的并行随机梯度下降算法 | |
US20240036561A1 (en) | Production Line Design Device, Production Line Design System, and Production Line Design Method | |
US7840506B1 (en) | System and method for geodesic data mining | |
CN114969148A (zh) | 一种基于深度学习的系统访问量预测方法、介质和设备 | |
CN109271132B (zh) | 一种基于机器学习模型的排序方法 | |
CN110348623A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140917 |
|
RJ01 | Rejection of invention patent application after publication |