生产作业的配置方法和装置技术领域
本发明实施例涉及生产技术领域,尤其涉及一种生产作业的配置方法和装置。
背景技术
随着现代社会的不断发展,高效的生产力是每个组织都不断追求的目标。要获取高效的生产力除了通过培训不断提高组织内部执行对象的技艺之外,有效的分工在执行任务过程中也显得十分重要。而且有效的分工往往比技能优秀的执行对象更有助于提高组织整体的生产效率。因此,设计一种便利高效的生产作业的配置方法就显得尤为重要。
在现有技术中,生产作业的配置一般依靠组织设置的职能类别进行划分,而这种配置方法只能进行宏观上的配置,很难细化到执行对象个体的具体执行量,并且难于将执行对象个体的执行能力与执行步骤统一起来,从而导致生产效率低下。
发明内容
本发明实施例提供一种生产作业的配置方法和装置,利用遗传算法确定最优的生产作业的配置,实现了对生产作业和执行对象的有效协调,提高了生产效率。
本发明提供一种生产作业的配置方法,包括:
根据优先级顺序获取预设时间段内待执行的多项生产作业信息;
根据所述多项生产作业信息确定初始种群;
依次对每一代种群循环执行以下操作:计算当前一代种群中每条基因所表示的生产作业配置所需的完成时间,根据所述完成时间判断是否存在满足预设条件的基因,若不存在满足预设条件的基因,根据所述当前一代种群中每条基因被选择的概率选择预设数量的配对基因,对每一对配对基因执行交叉运算和变异运算,获取下一代种群中的基因,若存在满足预设条件的基因,则获取所述满足预设条件的基因,停止循环;
将所述满足预设条件的基因确定为最优的生产作业的配置。
本发明提供一种生产作业的配置装置,包括:
获取模块,用于根据优先级顺序获取预设时间段内待执行的多项生产作业信息;
确定模块,用于根据所述多项生产作业信息确定初始种群;
操作模块,用于依次对每一代种群循环执行以下操作:计算当前一代种群中每条基因所表示的生产作业配置所需的完成时间,根据所述完成时间判断是否存在满足预设条件的基因,若不存在满足预设条件的基因,根据所述当前一代种群中每条基因被选择的概率选择预设数量的配对基因,对每一对配对基因执行交叉运算和变异运算,获取下一代种群中的基因,若存在满足预设条件的基因,则获取所述满足预设条件的基因,停止循环;
所述确定模块,还用于将所述满足预设条件的基因确定为最优的生产作业的配置。
本发明一种生产作业的配置方法和装置,通过根据优先级顺序获取预设时间段内待执行的多项生产作业信息;根据多项生产作业信息确定初始种群;依次对每一代种群循环执行以下操作:计算当前一代种群中每条基因所表示的生产作业配置所需的完成时间,根据完成时间判断是否存在满足预设条件的基因,若不存在满足预设条件的基因,根据当前一代种群中每条基因被选择的概率选择预设数量的配对基因,对每一对配对基因执行交叉运算和变异运算,获取下一代种群中的基因,若存在满足预设条件的基因,则获取满足预设条件的基因,停止循环;将满足预设条件的基因确定为最优的生产作业的配置。
所以,本发明提供的一种生产作业的配置方法利用遗传算法确定最优的生产作业的配置,能在很大概率上使下一代种群中的基因优于当前一代种群中的基因,通过不断循环,找到满足预设条件的基因,使满足预设条件的基因表示的生产作业配置所需的完成时间最短,实现了对生产作业和执行对象的有效调度,提高了生产效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术员工来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明生产作业的配置方法实施例一的流程图;
图2为本发明生产作业的配置方法实施例二的第一流程图;
图3为本发明生产作业的配置方法实施例二的第二流程图;
图4为本发明生产作业的配置方法实施例二的第三流程图;
图5为本发明生产作业的配置方法实施例二的第四流程图;
图6为本发明生产作业的配置方法实施例二的第五流程图;
图7为本发明生产作业的配置装置实施例一的结构示意图;
图8为本发明生产作业的配置装置实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术员工在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明生产作业的配置方法实施例一的流程图,如图1所示,本实施例的执行主体为具有存储空间的终端设备或服务器,如台式电脑,笔记本电脑等,具体可以通过软件方式实现,该方法包括:
步骤101,根据优先级顺序获取预设时间段内待执行的多项生产作业信息。
具体地,步骤101根据优先级顺序获取预设时间段内待执行的多项生产作业信息的过程可分为以下三个步骤执行。
步骤101a,收集预设时间段内待执行的所有生产作业信息。
本实施例中,预设时间可以为一周或一个月,对此本实施例不做限制。
其中,生产作业信息包括:生产作业标识、生产作业所属的项目标识、优先权信息、预设的生产作业完成时间段、参与的执行对象、完成生产作业所需步骤以及执行对应步骤的相关执行对象所需的时间。
步骤101b,根据生产作业信息中的预设的生产作业完成时间段及优先权信息确定生产作业的优先级顺序。
具体地,确定生产作业的优先级顺序的方法为:
(1)根据式(1)所示的预设的生产作业完成时间段λi(t)确定每项生产作业的优先级;
λi(t)=ti-t0(1)
其中,λi(t)表示预设的第i项生产作业要求完成的时间段,ti表示第i项生产作业要求完成的终止时间,t0表示多项生产作业统一开展的时间。
当λi(t)的值越小,确定该生产作业的优先级越高,按照λi(t)值的大小确定每项生产作业优先级的顺序。
(2)若计算的多项生产作业的λi(t)值存在相等的情况,则根据λi(t)取值相等的生产作业的优先权信息确定相关的生产作业的优先级,优先权越高,其生产作业的优先级越高。
步骤101c,根据优先级顺序获取预设时间段待执行的多项生产作业信息。
本实施例中,由于预设时间段内生产作业多少和执行对象的个数是不确定的,所以并不能保证在预设时间段内的所有待执行的生产作业都能够完成,所以将预设时间段内待执行的所有生产作业信息按照优先级顺序进行排列后,获取指定数量为N1的生产作业信息,该N1为不为1的自然数。
对于在预设时间段内未被选定的待执行的生产作业信息,可更新生产作业信息,以在后续进行生产作业配置时进行选定。
步骤102,根据多项生产作业信息确定初始种群。
本实施例中,根据多项生产作业信息中的每项生产作业信息中的生产作业标识、参与的执行对象、完成生产作业所需步骤以及执行对应步骤的相关执行对象所需的时间确定初始种群。
其中,初始种群中的每条基因表示一种生产作业配置方案。初始种群中的基因数量可以预先设定。如设定初始种群的基因数量为N2
步骤103,依次对每一代种群循环执行以下操作:计算当前一代种群中每条基因所表示的生产作业配置所需的完成时间,根据完成时间判断是否存在满足预设条件的基因,若不存在满足预设条件的基因,根据当前一代种群中每条基因被选择的概率选择预设数量的配对基因,对每一对配对基因执行交叉运算和变异运算,获取下一代种群中的基因,若存在满足预设条件的基因,则获取满足预设条件的基因,停止循环。
本实施例中,采用遗传算法确定满足预设条件的基因。首先预设遗传算法停止循环的条件,即预设一个完成该多项生产作业的理想时间T。然后计算每一代种群中每条基因所表示的生产作业配置所需的完成时间,不存在满足预设条件的基因时,对当前一代种群中的基因选择运算、交叉运算和变异运算,获取下一代种群中的基因,直到在第s代种群中存在满足预设条件的基因为止。
其中,下一代种群中的基因数量大于或等于当前一代种群中的基因数量。
步骤104,将满足预设条件的基因确定为最优的生产作业的配置。
本实施例中,满足预设条件的基因确定为最优的生产作业的配置即为该基因所表示的生产作业配置所需的时间小于等于完成该多项生产作业的理想时间T。
本实施例中,在确定出最优的生产作业的配置后,将最优的生产作业配置方案转换为执行对象理解的配置方案图表或语言形式,以使执行对象完成该多项生产作业。
本实施例中,通过根据优先级顺序获取预设时间段内待执行的多项生产作业信息;根据多项生产作业信息确定初始种群;依次对每一代种群循环执行以下操作:计算当前一代种群中每条基因所表示的生产作业配置所需的完成时间,根据完成时间判断是否存在满足预设条件的基因,若不存在满足预设条件的基因,根据当前一代种群中每条基因被选择的概率选择预设数量的配对基因,对每一对配对基因执行交叉运算和变异运算,获取下一代种群中的基因,若存在满足预设条件的基因,则获取满足预设条件的基因,停止循环;将满足预设条件的基因确定为最优的生产作业的配置。利用遗传算法确定最优的生产作业的配置,能在很大概率上使下一代种群中的基因优于当前一代种群中的基因,通过不断循环,找到满足预设条件的基因,使满足预设条件的基因表示的生产作业配置所需的完成时间最短,实现了对生产作业和执行对象的有效调度,提高了生产效率。
图2为本发明生产作业的配置方法实施例二的第一流程图,如图2所示,该方法包括:
步骤201,根据优先级顺序获取预设时间段内待执行的多项生产作业信息。
本实施例中的步骤201和本发明生产作业的配置方法实施例一中的步骤101中的技术方案相同,在此不再一一赘述。
步骤202,根据多项生产作业信息获取执行对象顺序矩阵PM和生产时间矩阵TM。
具体地,执行对象顺序矩阵PM可表示为式(2)所示:
PM = p 11 p 12 Λ p 21 p 22 Λ M M p ij - - - ( 2 ) ]]>
生产时间矩阵TM可表示为式(3)所示:
TM = t 11 t 12 Λ t 21 t 22 Λ M M t ij - - - ( 3 ) ]]>
其中,执行对象顺序矩阵PM中第i行表示第i项生产作业,第i行中的各列元素表示第i项生产作业的各个生产步骤按顺序对应的执行对象编号;生产时间矩阵TM中第i行表示第i项生产作业,第i行中的各列元素表示第i项生产作业的各个生产步骤按顺序对应的执行时间,执行时间为执行生产步骤的保守估计值与进行生产步骤切换的平均暂停时间之和。
举例说明为:在一个月中,3个执行对象需要完成3个生产作业,获取到的这3个生产作业信息可总结为表1所示。
根据表1,可知执行对象顺序矩阵PM和生产时间矩阵TM可表示为:
PM = 1 2 3 3 2 2 1 3 , TM = 3 3 2 6 3 3 2 3 . ]]>
表1:多项生产作业信息示例
步骤203,根据执行对象顺序矩阵PM采用基于生产作业步骤的编码方法确定初始种群。
具体地,在步骤203根据执行对象顺序矩阵PM采用基于生产作业步骤的编码方法确定初始种群的过程可分为以下五个步骤执行,如图3所示。
步骤203a,读取执行对象顺序矩阵PM。
步骤203b,获取执行对象顺序矩阵PM的行数和每行列数。
步骤203c,根据执行对象顺序矩阵PM的行数确定基因中的元素取值。
步骤203d,根据执行对象顺序矩阵PM的每行列数确定基因中每个元素值的重复次数。
步骤203e,根据执行对象顺序矩阵PM中的元素取值和每个元素重复次数,对元素进行随机排列,得到设定数量为N2的编码序列,每一个编码序列为初始种群中的一条基因。
举例说明为:在上述表1中 PM = 1 2 3 3 2 2 1 3 , ]]>PM的行数为3,那么基因中的元素取值只有1,2,3三个值,第一行列数为3,第二行列数为2,第三行列数为3,那么进行编码后的编码序列中元素值为1的元素重复3次,元素值为2的元素重复2次,元素值为3的元素重复3次。随机排列元素得到多条基因。如进行随机排列元素得到的一个编码序列为:[32211313]。
由于多项生产作业中生产作业的项数和每项生产作业的步骤个数不同,所以得到的基因的数量也不同,所以预先设定编码序列的数量为N2,N2,如N2=50,具体的得到的编码序列的设定的数量N2本实施例不做限定。
步骤204,根据所执行对象顺序矩阵PM和生成时间矩阵TM计算当前一代种群中每条基因所表示的生产作业配置所需的完成时间。
本实施例中,当前一代种群既可指初始种群为当前一代种群又可指由初始种群产生的后续种群为当前一代种群。
举例说明为:在上述举例中的一条基因:[32211313],通过执行对象顺序矩阵PM和生成时间矩阵TM可知该条基因表示的含义为:编号为2的执行对象执行生产作业3的第1步骤生产时间为3小时,编号为3的执行对象执行生产作业2的第1步骤生产时间为6小时,编号为2的执行对象执行生产作业2的第2步骤生产时间为3小时,编号为1的执行对象执行生产作业1的第1步骤生产时间为3小时,编号为2的执行对象执行生产作业1的第2步骤生产时间为3小时,编号为1的执行对象执行生产作业3的第2步骤生产时间为2小时,编号为3的执行对象执行生产作业1的第3步骤生产时间为2小时,编号为3的执行对象执行生产作业3的第3步骤生产时间为3小时。通过计算可获知该条基因所表示的生产作业配置方案的时间为11个小时。
由于多个生产作业执行中受到执行步骤和执行对象的限制,所以每条基因代表的生产作业配置方案的完成时间不同,具体的计算生产作业配置方案完成时间的方法为现有技术,在此不再详细介绍。
步骤205,判断当前一代种群中是否存在满足预设条件的基因,若存在,则执行步骤206,若不存在,则执行步骤207。
步骤206,获取满足预设条件的基因,执行步骤211。
步骤207,根据当前一代种群中每条基因所表示的生产作业配置所需的完成时间计算当前一代种群中每条基因被选择的概率。
具体地,通过式(4)计算当前一代种群中每条基因被选择的概率。
P sk = 1 - f k Σ 1 m f k - - - ( 4 ) ]]>
其中,Psk表示第s代种群作为当前一代种群时第k条基因被选择的概率,fk表示第k条基因表示的生产作业配置所需的完成时间,m表示第s代种群作为当前一代种群时种群中基因的条数。
所以fk的值越大,Psk的值越小,那么第k条基因被选择的概率越小,保证了选择的基因很大概率上为优秀的基因。
步骤208,采用基于概率的轮盘赌的选择方法选择预设数量的配对基因。
具体地,在步骤208采用基于概率的轮盘赌的选择方法选择一个配对基因的过程可分为以下五个步骤执行,如图4所示。
步骤208a,将当前一代种群中所有基因编号,将编号随机排成一个队列。
步骤208b,列出各个基因的选择概率与按队列次序得到的累加概率。
步骤208c,随机产生一个位于0到1之间的随机数。
步骤208d,判断随机数位于哪个累加概率区间。
步骤208e,选中累加概率区间对应编号的基因为配对基因中的一个基因。
重复执行步骤208a-208e,获得预设数量为N3的配对基因,并两两基因进行配对,配对基因的对数N4大于等于N2。
步骤209,采用基于生产作业位置的交叉方法对每一对配对基因进行交叉运算,获得交叉后的基因。
具体地,在步骤209采用基于生产作业位置的交叉方法对一对配对基因进行交叉运算,获得交叉后的基因的过程可分为以下五个步骤执行,如图5所示。
步骤209a,获取一对配对基因。
步骤209b,从N1个生产作业中随机选择一项生产作业的项号i。
步骤209c,从配对基因中的其中一个基因中得到生产作业项号i在基因中的位置号集合C。
步骤209d,令交叉后的基因中C集合中的位置号对应的位置上的元素都为i。
步骤209e,将配对基因中的另一个基因中的元素不是i的元素从左至右依次插入到交叉后的基因中。
举例说明为:一对配对基因分别为XP:[32211313]和Xm:[31321231],随机选择一项生产作业项号i=2,确定XP上元素为2的位置号集合C,令交叉后的基因中C集合中的位置号对应的位置上的元素都为2的基因为:[x22xxxxx],将Xm中元素不等于2的元素按从左至右的顺序插入到上述基因中,交叉后的基因为[32213131]。
重复执行步骤209a-209e,获得数量为N4的交叉后的基因。
步骤210,采用基于生产作业位置互换的方法对交叉后的基因进行变异运算,获取下一代种群中的基因,将获取的下一代种群作为当前一代种群,执行步骤204。
具体地,在步骤210采用基于生产作业位置互换的方法对交叉后的基因进行变异运算,获取下一代种群中的基因的过程可分为以下三个步骤执行,如图6所示。
步骤210a,选择交叉后的基因上位置不同的两个元素。
步骤210b,判断这两个元素值是否相等,若相等,则执行步骤210a,若不相等,则执行步骤210c。
步骤210c,交换两个元素的位置,获取下一代种群中的基因。
举例说明为:交叉后得到的基因为[32213131],随机选择两个元素位置1和5,判断位置1上的元素值为3,位置5上的元素值为3,两者相等,重新选择两个元素位置2和6,判断位置2上的元素值为2,位置6上的元素值为1,不相等,交换元素的位置,得到的下一代对应的基因为[31213231]。
步骤211,将满足预设条件的基因确定为最优的生产作业的配置。
本实施例中步骤211与本发明生产作业的配置方法实施例一中的步骤104中的技术方案相同,在此不再一一赘述。
需要说明的是本实施例中采用的基于生产作业步骤的编码方法只是遗传算法中的编码方法的一种,其它编码方法包括二进制编码、格雷码编码、实数编码、符号编码、排列编码、二倍体编码、DNA编码、混合编码、二维染色体编码等;基于概率的轮盘赌的选择方法只是遗传算法中的选择方法的一种,其它选择方法包括锦标赛选择、随机遍历选择等;基于生产作业位置的交叉方法只是遗传算法中的交叉方法中的一种,其他的交叉方法包括:单点交叉、多点交叉、均匀交叉、洗牌交叉、缩小代理交叉等;基于生产作业位置互换的方法只是遗传算法中变异方法的一种,其它的变异方法包括:均匀变异、边界变异、非均匀变异、高斯变异等。所以本实施例中的编码方法、选择方法、交叉方法和变异方法也可根据实际场景采用其它相匹配的相关方法,对此本实施例并不做限定。
本实施例中,通过基于生产作业步骤的编码方法确定初始种群,并在获取下一代种群中采用基于概率的轮盘赌的选择方法选择预设数量的配对基因;采用基于生产作业位置的交叉方法对每一对配对基因进行交叉运算,获得交叉后的基因;采用基于生产作业位置互换的方法对交叉后的基因进行变异运算,最终获取下一代种群中的基因,使下一代种群中的基因很大概率上优于当前一代种群中的基因,通过不断获取下一代种群,使下一代种群中的基因不断接近满足预设条件的基因,最终得到满足预设条件的基因,实现了对生产作业和执行对象的有效调度,提高了生产效率。
图7为本发明生产作业的配置装置实施例一的结构示意图,如图7所示,该生产作业的配置装置包括:获取模块701、确定模块702和操作模块703。
其中,获取模块701,用于根据优先级顺序获取预设时间段内待执行的多项生产作业信息。确定模块702,用于根据多项生产作业信息确定初始种群。操作模块703,用于依次对每一代种群循环执行以下操作:计算当前一代种群中每条基因所表示的生产作业配置所需的完成时间,根据完成时间判断是否存在满足预设条件的基因,若不存在满足预设条件的基因,根据当前一代种群中每条基因被选择的概率选择预设数量的配对基因,对每一对配对基因执行交叉运算和变异运算,获取下一代种群中的基因,若存在满足预设条件的基因,则获取满足预设条件的基因,停止循环。确定模块702,还用于将满足预设条件的基因确定为最优的生产作业的配置。
本实施例的装置可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本发明生产作业的配置装置实施例二的结构示意图,如图8所示,该生产作业的配置装置包括:获取模块801、确定模块802和操作模块803。
其中,获取模块801,用于根据优先级顺序获取预设时间段内待执行的多项生产作业信息。确定模块802,用于根据多项生产作业信息确定初始种群。操作模块803,用于依次对每一代种群循环执行以下操作:计算当前一代种群中每条基因所表示的生产作业配置所需的完成时间,根据完成时间判断是否存在满足预设条件的基因,若不存在满足预设条件的基因,根据当前一代种群中每条基因被选择的概率选择预设数量的配对基因,对每一对配对基因执行交叉运算和变异运算,获取下一代种群中的基因,若存在满足预设条件的基因,则获取满足预设条件的基因,停止循环。确定模块802,还用于将满足预设条件的基因确定为最优的生产作业的配置。
进一步地,确定模块802,具体用于:根据多项生产作业信息获取执行对象顺序矩阵PM;根据执行对象顺序矩阵PM采用基于生产作业步骤的编码方法确定初始种群。
进一步地,操作模块803,具体用于:根据多项生产作业信息获取生产时间矩阵TM;根据执行对象顺序矩阵PM和生成时间矩阵TM计算当前一代种群中每条基因所表示的生产作业配置所需的完成时间;
其中,执行对象顺序矩阵PM中第i行表示第i项生产作业,第i行中的各列元素表示第i项生产作业的各个生产步骤按顺序对应的执行对象编号;生产时间矩阵TM中第i行表示第i项生产作业,第i行中的各列元素表示第i项生产作业的各个生产步骤按顺序对应的执行时间,执行时间为执行生产步骤的保守估计值与进行生产步骤切换的平均暂停时间之和。
进一步地,操作模块803具体用于:根据当前一代种群中每条基因所表示的生产作业配置所需的完成时间计算当前一代种群中每条基因被选择的概率;采用基于概率的轮盘赌的选择方法选择预设数量的配对基因;采用基于生产作业位置的交叉方法对每一对配对基因进行交叉运算,获得交叉后的基因;采用基于生产作业位置互换的方法对交叉后的基因进行变异运算,获取下一代种群中的基因。
本实施例中,生产作业信息包括:生产作业标识、生产作业所属的项目标识、优先权信息、预设的生产作业完成时间段、参与的执行对象、完成生产作业所需步骤以及执行对应步骤的相关执行对象所需的时间。
本实施例的装置可以执行图2-图6所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术员工可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术员工应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。