一种基于混合算法的项目型产品装配车间人员调度方法、设备及存储介质转让专利

申请号 : CN202110390450.6

文献号 : CN112862380B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 袁东风郑安竹江铭炎梁道君

申请人 : 山东大学

摘要 :

本发明涉及一种基于混合算法的项目型产品装配车间人员调度方法、设备及存储介质,该方法建立了以最小完工时间为优化目标的项目型产品装配人员调度的数学模型,通过结合了狮群算法和禁忌搜索算法的混合算法,将工人组与装配流程整合优化,通过狮王占领食物、母狮捕猎和幼狮学习捕猎等不同的位置更新方式,结合创建的禁忌表进行禁忌搜索,得到较优的装配车间人员调度方案,以提高装配效率与合理安排生产资源。

权利要求 :

1.一种基于混合算法的项目型产品装配车间人员调度方法,其特征在于,该方法包括:步骤1:基于装配工序流程与装配工序流程对应的工人组的类型,生成初始调度方案序列;

步骤2:构建初始狮群,确定初始狮群的个体比例;初始化整个狮群中每个个体的位置,并将整个狮群中个体的位置映射到初始调度方案序列的工序序列中;

步骤3:以最小完工时间为优化目标,计算初始狮群中所有个体的目标函数值,依照目标函数值分配个体角色;

步骤4:对整个狮群中个体的位置进行迭代更新,并在每次迭代后将狮群位置映射为调度方案序列的工序序列,判断调度方案序列中工序序列是否符合产品的工序流程;若符合,则继续迭代;若不符合,则重新更新狮群位置;

步骤5:当迭代更新的次数达到最大迭代次数,输出末代狮群中每个个体的位置,将母狮位置映射为母狮调度方案序列集合,并将狮王位置单独映射为狮群最佳调度方案序列的工序序列;

步骤6:将母狮调度方案序列集合与狮群最佳调度方案序列共同作为禁忌搜索算法的初始调度方案序列集,并对初始调度方案序列集中的序列进行编号;

步骤7:在禁忌搜索算法的初始调度方案序列集中按编号从小到大的顺序选择一个调度方案序列作为禁忌搜索算法的初始调度方案序列,计算初始调度方案序列的目标函数值,并置空禁忌表;

步骤8:由当前选择的调度方案序列生成邻域调度方案序列集,并计算邻域调度方案序列集中每个邻域调度方案序列的目标函数值,选择目标函数值最小的邻域调度方案序列作为候选邻域调度方案序列;

步骤9:判断候选邻域调度方案序列是否满足特赦规则,若满足,则进行特赦并跳转至步骤8,否则,继续进行步骤10;

步骤10:判断候选邻域调度方案序列的禁忌属性;

若被禁忌,则在除去此候选邻域调度方案序列的邻域调度方案序列集中重新选择目标函数值最小的邻域调度方案序列作为候选邻域调度方案序列;

若未被禁忌,则将该非禁忌的候选邻域调度方案序列作为当前的禁忌搜索算法的调度方案序列,并更新禁忌表;

步骤11:循环迭代步骤8至步骤10,直至满足禁忌搜索停止的条件,则输出当前的调度方案序列至禁忌搜索后调度方案序列集合,并跳转至步骤7选择下一个禁忌搜索算法的初始调度方案序列;

步骤12:循环迭代步骤7至步骤11,直至禁忌搜索算法的初始调度方案序列集中所有的序列都已被选择并完成了禁忌搜索,计算禁忌搜索后调度方案序列集合中每个序列的目标函数值,选取目标函数值最小的调度方案序列为最佳调度方案序列;

步骤13:将最佳调度方案序列还原至装配工序流程与装配工人组的直观匹配,得到装配车间的人员调度方案。

2.根据权利要求1所述的一种基于混合算法的项目型产品装配车间人员调度方法,其特征在于,步骤1中,基于装配工序流程与装配工序流程对应的工人组的类型,生成初始调度方案序列,具体过程为:

步骤1.1:创建空的初始调度方案序列,初始调度方案序列包括前半部分和后半部分,前半部分的序列长度和后半部分的序列长度均为J,J为正整数;

步骤1.2:初始调度方案序列的前半部分为工序序列PS,PS=(j1,j2,…,jJ),ji表示第i个进行的装配工序流程的步骤,i为1,2,3,...J;J=C·n,n代表一件产品的装配工序流程的步骤数,包含并行装配工序与串行装配工序,常数C表示需装配的产品数目;

先将产品依次编号为产品1,2,3,4,…,C,并将每件产品的装配工序流程均编码为该产品号;

然后将所有产品编码后的工序流程的号码按产品的工序紧前约束条件随机放入工序序列中,工序紧前约束条件指的是不同工序之间必须遵守的先后约束关系;

步骤1.3:初始调度方案序列的后半部分为人员配置序列SS,SS=(w1,w2,…,wJ);wi表示第i个进行的装配工序流程的步骤对应使用的工人组类型,i为1,2,3,...J;

装配人员包括高级装配人员和普通装配人员,一个工人组包括若干个高级装配人员与若干个普通装配人员,且一个工人组不超过四人;将组成的工人组类型随机排序,并为每种工人组类型赋予一个专属代码1,2,3,4,…,14;

按照步骤1.2中生成的工序序列,对应的将该道装配工序流程所能使用的工人组类型的代码放入人员配置序列中,直至填满整个人员配置序列;

步骤1.4:将步骤1.2生成的工序序列PS与步骤1.3中生成的人员配置序列SS组合成为初始调度方案序列,初始调度方案序列的长度为2J。

3.根据权利要求1所述的一种基于混合算法的项目型产品装配车间人员调度方法,其特征在于,步骤2中,构建初始狮群,确定初始狮群的个体比例;初始化整个狮群中每个个体的位置,具体过程为:

步骤2.1:狮群中狮子数量为N,N>1,对应N种初始调度方案序列,N为人为设定值,成年狮子的数量为n_Adult,n_Adult为 区间内的一个随机整数,成年狮子包括一头狮王和多头母狮,母狮的数量为n_Adult‑1,幼狮的数量为N‑n_Adult;

步骤2.2:设第i只狮子的位置为Xi=(xi1,xi2,…,xiJ),1≤i≤N,且位置分量xi1,xi2,…,xiJ的取值范围都为(0,1),第i只狮子的位置Xi对应一种调度方案序列;

步骤2.3:在区间(0,1)上产生J个随机数,J个随机数分别作为第i只狮子的位置分量xi1,xi2,…,xiJ的值,即对狮群中个体的位置进行随机赋值;

步骤2.4:重复步骤2.3N次,初始化整个狮群中每个个体的位置。

4.根据权利要求1所述的一种基于混合算法的项目型产品装配车间人员调度方法,其特征在于,步骤2、步骤4和步骤5中,将狮群中个体的位置映射到调度方案序列的工序序列中,具体过程为:

将个体的位置映射到调度方案序列的工序序列中,第i只狮子的位置与调度方案序列的工序序列的编码映射方式为:对第i只狮子的位置分量xi1,xi2,…,xiJ的值从小到大进行排列,并对排列后的位置分量的值编号为1,2,…,J;排列后的位置分量的值的编号与初始调度方案序列中工序序列的编号相对应,根据该对应关系,将初始调度方案序列的初始工序j1,j2,…,jJ放入未排序的位置分量的位置,即得到第i只狮子的位置对应的调度方案序列。

5.根据权利要求1所述的一种基于混合算法的项目型产品装配车间人员调度方法,其特征在于,步骤3、步骤7、步骤8、步骤10和步骤12中,目标函数值为调度方案序列对应的的目标函数值Fitness:

Fitness=max(t产品1,t产品2,…,t产品i,…,t产品C)      (I)式(I)中,t产品i为产品i的完工时间点,即第i件产品的最后一道工序的完工时间点;

Fitness表示所有产品的最后一道工序的完工的时间点的最大值;

进一步优选的,步骤3中,依照目标函数值分配个体角色,具体过程为:将个体按目标函数值从小到大排序,目标函数值最小的个体设定为狮王,前(n_Adult‑

1)个个体设定为母狮,其余个体设定为幼狮。

6.根据权利要求1所述的一种基于混合算法的项目型产品装配车间人员调度方法,其特征在于,步骤4中,对整个狮群中个体的位置进行迭代更新,具体过程为:a:狮王的位置更新公式如式(II)所示:式(II)中, 为狮王的位置;γ是依照正态分布N(0,1)产生的随机数,k为狮群位k

置更新的代数,k为正整数,1≤k≤最大迭代次数; 为第i只狮子第k代的历史最优位置;g表示第k代群体最优位置;

b:母狮的位置更新公式如式(III)所示:式(III)中, 为母狮的位置; 为从第k代母狮群中随机挑选的一个捕猎协作伙伴的历史最佳位置;αf为母狮移动范围扰动因子,γ是依照正态分布N(0,1)产生的随机数;

c:幼狮的位置更新公式如式(IV)所示:式(IV)中, 为幼狮的位置; 为幼狮跟随母狮的第k代的历史最佳位置;概率因子q为依照均匀分布U(0,1)产生的均匀随机值;αc为幼狮移动范围扰动因子,γ是依照正态分布N(0,1)产生的随机数; 为第i个幼狮在捕猎范围内被驱赶的位置, 如式(V)所示:

式(V)中, 和 分别为狮子活动空间范围内各维的最小值均值和最大值均值;

优选的,步骤7中,从初始调度方案序列集中按编号从小到大的顺序选择一个禁忌搜索算法的初始调度方案序列,并置空禁忌表,设定禁忌表长度为5。

7.根据权利要求1所述的一种基于混合算法的项目型产品装配车间人员调度方法,其特征在于,步骤8中,通过工序序列中工序变动和人员配置序列中人员模式变动,由当前选择的调度方案序列生成邻域调度方案序列集,具体过程为:a:工序序列中工序变动:随机从工序序列PS中选择工序j,首先确定工序j属于哪件产品的工序,确定工序序列中工序j的紧前工序p和紧后工序s的位置,在工序p与工序s位置之间随机选择一个工序j’,将工序序列中工序j移至工序j’的位置后,工序j’及其之后工序顺序后移,得到邻域调度方案序列;

b:人员配置序列中人员模式变动:随机从人员配置序列SS中选择一个分量wi,判断是否有其他可用的工人组类型,若有,则将此分量wi替换为新的工人组类型,若没有,则重新选择人员配置序列中的其他分量wl,l取值为1,2,3,...J,且l≠i;判断分量wl是否有可用的人员模式。

8.根据权利要求1所述的一种基于混合算法的项目型产品装配车间人员调度方法,其特征在于,步骤9中,特赦规则为:若出现一个邻域调度方案序列的目标函数值好于前面任何一个最佳调度方案序列,则特赦;

或者,若所有对象都被禁忌,特赦一个目标函数值最小的邻域调度方案序列;

步骤10中,判断候选邻域调度方案序列的禁忌属性,即判断候选邻域调度方案是否已存在于禁忌表中;

步骤10中,更新禁忌表的具体过程为:将该候选邻域调度方案序列加入禁忌表的最前一条,禁忌表中其他序列依次后延,超出禁忌表长度的序列解禁;

步骤11中,禁忌搜索停止的条件为:预定的禁忌搜索迭代次数或迭代若干次数后最佳目标函数值无变化;

步骤13中,将最佳调度方案序列中的工序序列PS与人员配置序列SS的分量一一对应,再按编号分离开不同的产品,即得到了装配车间的人员调度方案。

9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1‑8任一项所述的基于混合算法的项目型产品装配车间人员调度方法的步骤。

10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1‑8任一项所述的基于混合算法的项目型产品装配车间人员调度方法的步骤。

说明书 :

一种基于混合算法的项目型产品装配车间人员调度方法、设

备及存储介质

技术领域

[0001] 本发明涉及一种基于混合算法的项目型产品装配车间人员调度方法、设备及存储介质,属于装配车间生产计划管理领域。

背景技术

[0002] 随着现代企业生产模式的不断发展,部分项目型产品制造企业的产品定制化需求也越来越多样化。项目型产品就是依照客户的个性化需求,以单件或小批量的模式进行生
产和装配,其产品生产过程中最重要的环节就是装配,占据了总生产时间的50%以上。项目
型产品一般由一定数量和等级的工人成组来进行装配,如何对工人资源进行配置就成为了
项目型产品装配车间调度问题的关键。
[0003] 在目前,大多项目型产品制造企业装配车间对人员调度仍然使用人工安排调度的方式,以工期为目标,以工人小组为单位,并行的完成产品装配,这样的人员调度模式的主
要问题是:人工手动进行人员调度的效率低下,在装配步骤较多和工人小组较多的情形下
计算量过大,且缺乏准确性;由于资源的受限或空间的约束,在装配过程中需要进行工人组
的动态调整,使得调度过程变得更为复杂;在人工安排工人小组组成时,不易对工人能力这
一指标进行定量核算,大量采取个人经验作为标准,易对最终结果产生影响。
[0004] 针对制造企业装配车间的人员调度问题,已有不少学者运用混合线性规划、分层优化算法等方法实现优化调度,但是传统的数学算法,并行性差,鲁棒性差,且不具备全局
搜索能力;还有部分学者运用了蚁群算法、遗传算法等智能化算法实现装配流程与人员的
对应优化调度,但是没有对工人组这一现象进行建模,不适用于项目型产品的装配过程,且
单一优化算法易陷入局部极值,适应性较差,不适用于项目型产品的多样化定制的装配过
程。
[0005] 目前,狮群算法和禁忌搜索算法都被广泛应用于优化问题。狮群算法是在分析狮群协作捕猎这种行为特点的基础上,通过模拟自然进化过程搜索最优解的过程,狮群算法
是从一个包含了狮王、母狮和幼狮的种群开始的,狮王总是向最优食物源移动,而母狮和幼
狮环绕在狮王周围,分别完成协同捕猎和学习捕猎以及进食的过程,种群中不断地进行三
种类型狮子的位置更新,最后末代狮群中狮王的位置,即所求问题的近似最优解;禁忌搜索
算法作为一种邻域随机搜索算法,在搜索过程中标记对应已搜索的局部最优解的一些对
象,并在进一步的迭代搜索过程中尽量避开这些对象,从而保证对不同的有效搜索途径的
探索。

发明内容

[0006] 针对现有技术的不足,本发明提供了一种基于混合算法的项目型产品装配车间人员调度方法,该方法建立了以最小完工时间为优化目标的项目型产品装配人员调度的数学
模型,通过结合了狮群算法和禁忌搜索算法的混合算法,将工人组与装配流程整合优化,通
过狮王占领食物、母狮捕猎和幼狮学习捕猎等不同的位置更新方式,结合创建的禁忌表进
行禁忌搜索,得到较优的装配车间人员调度方案,以提高装配效率与合理安排生产资源。
[0007] 本发明还提供了一种计算机设备和存储介质。
[0008] 本发明的技术方案为:
[0009] 一种基于混合算法的项目型产品装配车间人员调度方法,该方法包括:
[0010] 步骤1:基于装配工序流程与装配工序流程对应的工人组的类型,生成初始调度方案序列;
[0011] 步骤2:构建初始狮群,确定初始狮群的个体比例;初始化整个狮群中每个个体的位置,并将整个狮群中个体的位置映射到初始调度方案序列的工序序列中;
[0012] 步骤3:以最小完工时间为优化目标,计算初始狮群中所有个体的目标函数值,依照目标函数值分配个体角色;
[0013] 步骤4:对整个狮群中个体的位置进行迭代更新,并在每次迭代后将狮群位置映射为调度方案序列的工序序列,判断调度方案序列中工序序列是否符合产品的工序流程;若
符合,则继续迭代;若不符合,则重新更新狮群位置;工序流程指的是工序之间的流程约束,
例如,某件产品工序1和工序3可以并列完成,而工序2只能在工序1之后,工序4只能在工序3
之后。
[0014] 步骤5:当迭代更新的次数达到最大迭代次数,输出末代狮群中每个个体的位置,将母狮位置映射为母狮调度方案序列集合,并将狮王位置单独映射为狮群最佳调度方案序
列的工序序列;
[0015] 步骤6:将母狮调度方案序列集合与狮群最佳调度方案序列共同作为禁忌搜索算法的初始调度方案序列集,并对初始调度方案序列集中的序列进行编号;
[0016] 步骤7:在禁忌搜索算法的初始调度方案序列集中按编号从小到大的顺序选择一个调度方案序列作为禁忌搜索算法的初始调度方案序列,计算初始调度方案序列的目标函
数值,并置空禁忌表;
[0017] 步骤8:由当前选择的调度方案序列生成邻域调度方案序列集,并计算邻域调度方案序列集中每个邻域调度方案序列的目标函数值,选择目标函数值最小的邻域调度方案序
列作为候选邻域调度方案序列;
[0018] 步骤9:判断候选邻域调度方案序列是否满足特赦规则,若满足,则进行特赦并跳转至步骤8,否则,继续进行步骤10;
[0019] 步骤10:判断候选邻域调度方案序列的禁忌属性;
[0020] 若被禁忌,则在除去此候选邻域调度方案序列的邻域调度方案序列集中重新选择目标函数值最小的邻域调度方案序列作为候选邻域调度方案序列;
[0021] 若未被禁忌,则将该非禁忌的候选邻域调度方案序列作为当前的禁忌搜索算法的调度方案序列,并更新禁忌表;
[0022] 步骤11:循环迭代步骤8至步骤10,直至满足禁忌搜索停止的条件,则输出当前的调度方案序列至禁忌搜索后调度方案序列集合,并跳转至步骤7选择下一个禁忌搜索算法
的初始调度方案序列;
[0023] 步骤12:循环迭代步骤7至步骤11,直至禁忌搜索算法的初始调度方案序列集中所有的序列都已被选择并完成了禁忌搜索,计算禁忌搜索后调度方案序列集合中每个序列的
目标函数值,选取目标函数值最小的调度方案序列为最佳调度方案序列;
[0024] 步骤13:将最佳调度方案序列还原至装配工序流程与装配工人组的直观匹配,得到装配车间的人员调度方案。
[0025] 优化过程可以看作将某产品的装配流程与其能适用的工人组不断匹配,并确定开始时间和计划完成时间的过程。
[0026] 根据本发明优选的,步骤1中,基于装配工序流程与装配工序流程对应的工人组的类型,生成初始调度方案序列,具体过程为:
[0027] 步骤1.1:创建空的初始调度方案序列,初始调度方案序列包括前半部分和后半部分,前半部分的序列长度和后半部分的序列长度均为J,J为正整数;
[0028] 步骤1.2:初始调度方案序列的前半部分为工序序列PS,PS=(j1,j2,…,jJ),ji表示第i个进行的装配工序流程的步骤,i为1,2,3,…J;J=C·n,n代表一件产品的装配工序
流程的步骤数,包含并行装配工序与串行装配工序,常数C表示需装配的产品数目;
[0029] 先将产品依次编号为产品1,2,3,4,…,C,并将每件产品的装配工序流程均编码为该产品号;例如,产品1的所有工序流程都编码为1;
[0030] 然后将所有产品编码后的工序流程的号码按产品的工序紧前约束条件随机放入工序序列中,工序紧前约束条件指的是不同工序之间必须遵守的先后约束关系;例如,对于
某一产品,工序6必须要在工序5之后进行;
[0031] 步骤1.3:初始调度方案序列的后半部分为人员配置序列SS,SS=(w1,w2,…,wJ);wi表示第i个进行的装配工序流程的步骤对应使用的工人组类型,i为1,2,3,…J;
[0032] 装配人员包括高级装配人员和普通装配人员,一个工人组包括若干个高级装配人员与若干个普通装配人员,且一个工人组不超过四人;高级装配人员与普通装配人员按1
高、1普、1高1普、1高2普、2高1普等组合方式随机组成工人组;将组成的工人组类型随机排
序,并为每种工人组类型赋予一个专属代码1,2,3,4,…,14;
[0033] 按照步骤1.2中生成的工序序列,对应的将该道装配工序流程所能使用的工人组类型的代码放入人员配置序列中,直至填满整个人员配置序列;
[0034] 步骤1.4:将步骤1.2生成的工序序列PS与步骤1.3中生成的人员配置序列SS组合成为初始调度方案序列,初始调度方案序列的长度为2J。组合即将工序序列PS的元素和人
员配置序列SS的元素依次排列组成新的序列。
[0035] 先对每件产品的装配工序流程进行排序得到工序序列,然后对应的将能够完成装配工序流程的工人组类型排列,即构成了人员配置序列。
[0036] 根据本发明优选的,步骤2中,构建初始狮群,确定初始狮群的个体比例;初始化整个狮群中每个个体的位置,具体过程为:
[0037] 步骤2.1:狮群中狮子数量为N,N>1,对应N种初始调度方案序列,N为人为设定值,如N=50;成年狮子的数量为n_Adult,n_Adult为 区间内的一个随机整数,成年狮子
包括一头狮王和多头母狮,母狮的数量为n_Adult‑1,幼狮的数量为N‑n_Adult;
[0038] 步骤2.2:设第i只狮子的位置为Xi=(xi1,xi2,…,xiJ),1≤i≤N,且位置分量xi1,xi2,…,xiJ的取值范围都为(0,1),第i只狮子的位置Xi对应一种调度方案序列;
[0039] 步骤2.3:在区间(0,1)上产生J个随机数,J个随机数分别作为第i只狮子的位置分量xi1,xi2,…,xiJ的值,即对狮群中个体的位置进行随机赋值;
[0040] 步骤2.4:重复步骤2.3 N次,初始化整个狮群中每个个体的位置。
[0041] 根据本发明优选的,步骤2、步骤4和步骤5中,将狮群中个体的位置映射到调度方案序列的工序序列中,具体过程为:
[0042] 将个体的位置映射到调度方案序列的工序序列中,第i只狮子的位置与调度方案序列的工序序列的编码映射方式为:对第i只狮子的位置分量xi1,xi2,…,xiJ的值从小到大
进行排列,并对排列后的位置分量的值编号为1,2,…,J;排列后的位置分量的值的编号与
初始调度方案序列中工序序列的编号相对应,根据该对应关系,将初始调度方案序列的初
始工序j1,j2,…,jJ放入未排序的位置分量的位置,即得到第i只狮子的位置对应的调度方
案序列。
[0043] 根据本发明优选的,步骤3、步骤7、步骤8、步骤10和步骤12中,目标函数值为调度方案序列对应的目标函数值Fitness:
[0044] Fitness=max(t产品1,t产品2,…,t产品i,…,t产品C)  (I)
[0045] 式(I)中,t产品i为产品i的完工时间点,即第i件产品的最后一道工序的完工时间点;Fitness表示所有产品的最后一道工序的完工的时间点的最大值。
[0046] 根据本发明优选的,步骤3中,依照目标函数值分配个体角色,具体过程为:
[0047] 将个体按目标函数值从小到大排序,目标函数值最小的个体设定为狮王,前(n_Adult‑1)个个体设定为母狮,其余个体设定为幼狮。
[0048] 根据本发明优选的,步骤4中,对整个狮群中个体的位置进行迭代更新,具体过程为:
[0049] a:狮王的位置更新公式如式(II)所示:
[0050]
[0051] 式(II)中, 为狮王的位置;γ是依照正态分布N(0,1)产生的随机数,k为狮群位置更新的代数,k为正整数,1≤k≤最大迭代次数; 为第i只狮子第k代的历史最优位
k
置;g表示第k代群体最优位置;
[0052] b:母狮的位置更新公式如式(III)所示:
[0053]
[0054] 式(III)中, 为母狮的位置; 为从第k代母狮群中随机挑选的一个捕猎协作伙伴的历史最佳位置;αf为母狮移动范围扰动因子,γ是依照正态分布N(0,1)产生的
随机数;
[0055] c:幼狮的位置更新公式如式(IV)所示:
[0056]
[0057] 式(IV)中, 为幼狮的位置; 为幼狮跟随母狮的第k代的历史最佳位置;概率因子q为依照均匀分布U(0,1)产生的均匀随机值;αc为幼狮移动范围扰动因子,γ是依
照正态分布N(0,1)产生的随机数; 为第i个幼狮在捕猎范围内被驱赶的位置, 如式(V)
所示,是一种典型的精英反向学习思想;
[0058]
[0059] 式(V)中, 和 分别为狮子活动空间范围内各维的最小值均值和最大值均值。
[0060] 根据本发明优选的,步骤5中,迭代更新的最大迭代次数为1000次,当狮群位置迭代1000次后,将末代狮群中母狮位置映射为母狮调度方案序列集合,将狮王位置单独映射
为狮群最佳调度方案序列。
[0061] 根据本发明优选的,步骤6中,将母狮调度方案序列集合与狮群最佳调度方案序列一起作为第二阶段禁忌搜索算法的初始调度方案序列集,则此禁忌算法的初始序列集中序
列个数为n_Adult,对此初始调度方案序列集中的序列进行编号,编号为(TL1,TL2,…,
TLn_Adult)。
[0062] 根据本发明优选的,步骤7中,从初始调度方案序列集中按编号从小到大的顺序选择一个禁忌搜索算法的初始调度方案序列,如第一次选择序列TL1,计算TL1的目标函数值,
并置空禁忌表,设定禁忌表长度为5。
[0063] 根据本发明优选的,步骤8中,通过工序序列中工序变动和人员配置序列中人员模式变动,由当前选择的调度方案序列生成邻域调度方案序列集,具体过程为:
[0064] a:工序序列中工序变动:随机从工序序列PS中选择工序j,首先确定工序j属于哪件产品的工序,确定工序序列中工序j的紧前工序p和紧后工序s的位置,在工序p与工序s位
置之间随机选择一个工序j',将工序序列中工序j移至工序j'的位置后,工序j'及其之后工
序顺序后移,得到邻域调度方案序列;同一件产品中,紧前工序为工序的上一道工序,紧后
工序为工序的下一道工序;
[0065] b:人员配置序列中人员模式变动:随机从人员配置序列SS中选择一个分量wi,判断是否有其他可用的工人组类型,若有,则将此分量wi替换为新的工人组类型,若没有,则
重新选择人员配置序列中的其他分量wl,l取值为1,2,3,…J,且l≠i;判断分量wl是否有可
用的人员模式。
[0066] 根据本发明优选的,步骤9中,特赦即是将被禁忌的对象从禁忌表中解禁,使其重新可用,特赦规则为:
[0067] 若出现一个邻域调度方案序列的目标函数值好于前面任何一个最佳调度方案序列,则特赦;
[0068] 或者,若所有对象都被禁忌,特赦一个目标函数值最小的邻域调度方案序列。
[0069] 根据本发明优选的,步骤10中,判断候选邻域调度方案序列的禁忌属性,即判断候选邻域调度方案是否已存在于禁忌表中;
[0070] 步骤10中,更新禁忌表的具体过程为:
[0071] 将该候选邻域调度方案序列加入禁忌表的最前一条,禁忌表中其他序列依次后延,超出禁忌表长度的序列解禁。
[0072] 根据本发明优选的,步骤11中,禁忌搜索停止的条件为:预定的禁忌搜索迭代次数或迭代若干次数后最佳目标函数值无变化;例如,预定的禁忌搜索迭代次数为200次,或者
迭代10次后最佳目标函数值无变化。
[0073] 根据本发明优选的,步骤13中,将最佳调度方案序列中的工序序列PS与人员配置序列SS的分量一一对应,再按编号分离开不同的产品,即得到了装配车间的人员调度方案。
[0074] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于混合算法的项目型产品装配车间人员调度方法的步骤。
[0075] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于混合算法的项目型产品装配车间人员调度方法的步骤。
[0076] 本发明的有益效果为:
[0077] 1.本发明将新型的狮群算法应用于项目型产品装配人员配置领域,通过离散的调度方案序列与连续的狮群位置之间的映射关系,不断进行狮群的位置更新,进而逼近全局
优解。
[0078] 2.本发明采用狮群算法与禁忌搜索算法相结合的混合算法,可以在全局搜索后进一步进行细微的邻域局部搜索,从而增加了整个算法的局部搜索能力。
[0079] 3.本发明设计实现一种装配车间的工人组人员配置模式的数学建模方式,将调度方案序列分为工序序列和与其对应的人员配置序列,满足了项目型产品装配车间人员配置
优化的需求。

附图说明

[0080] 图1是本发明提供的一种基于混合算法的项目型产品装配车间人员调度方法的流程图;
[0081] 图2是产品工序流程与装配工人组的数学模型的调度方案序列图;
[0082] 图3是通过工序序列中工序变动得到邻域调度方案序列的过程示意图;
[0083] 图4是通过人员配置序列中模式变动得到邻域调度方案序列的过程示意图。

具体实施方式

[0084] 下面结合实施例和说明书附图对本发明做进一步说明,但不限于此。
[0085] 实施例1
[0086] 一种基于混合算法的项目型产品装配车间人员调度方法,如图1所示,该方法包括:
[0087] 步骤1:基于装配工序流程与装配工序流程对应的工人组的类型,生成初始调度方案序列;
[0088] 步骤2:构建初始狮群,确定初始狮群的个体比例;初始化整个狮群中每个个体的位置,并将整个狮群中个体的位置映射到初始调度方案序列的工序序列中;
[0089] 步骤3:以最小完工时间为优化目标,计算初始狮群中所有个体的目标函数值,依照目标函数值分配个体角色;
[0090] 步骤4:对整个狮群中个体的位置进行迭代更新,并在每次迭代后将狮群位置映射为调度方案序列的工序序列,判断调度方案序列中工序序列是否符合产品的工序流程;若
符合,则继续迭代;若不符合,则重新更新狮群位置;工序流程指的是工序之间的流程约束,
例如,某件产品工序1和工序3可以并列完成,而工序2只能在工序1之后,工序4只能在工序3
之后。
[0091] 步骤5:当迭代更新的次数达到最大迭代次数,输出末代狮群中每个个体的位置,将母狮位置映射为母狮调度方案序列集合,并将狮王位置单独映射为狮群最佳调度方案序
列的工序序列;
[0092] 步骤6:将母狮调度方案序列集合与狮群最佳调度方案序列共同作为禁忌搜索算法的初始调度方案序列集,并对初始调度方案序列集中的序列进行编号;
[0093] 步骤7:在禁忌搜索算法的初始调度方案序列集中按编号从小到大的顺序选择一个调度方案序列作为禁忌搜索算法的初始调度方案序列,计算初始调度方案序列的目标函
数值,并置空禁忌表;
[0094] 步骤8:由当前选择的调度方案序列生成邻域调度方案序列集,并计算邻域调度方案序列集中每个邻域调度方案序列的目标函数值,选择目标函数值最小的邻域调度方案序
列作为候选邻域调度方案序列;
[0095] 步骤9:判断候选邻域调度方案序列是否满足特赦规则,若满足,则进行特赦并跳转至步骤8,否则,继续进行步骤10;
[0096] 步骤10:判断候选邻域调度方案序列的禁忌属性;
[0097] 若被禁忌,则在除去此候选邻域调度方案序列的邻域调度方案序列集中重新选择目标函数值最小的邻域调度方案序列作为候选邻域调度方案序列;
[0098] 若未被禁忌,则将该非禁忌的候选邻域调度方案序列作为当前的禁忌搜索算法的调度方案序列,并更新禁忌表;
[0099] 步骤11:循环迭代步骤8至步骤10,直至满足禁忌搜索停止的条件,则输出当前的调度方案序列至禁忌搜索后调度方案序列集合,并跳转至步骤7选择下一个禁忌搜索算法
的初始调度方案序列;
[0100] 步骤12:循环迭代步骤7至步骤11,直至禁忌搜索算法的初始调度方案序列集中所有的序列都已被选择并完成了禁忌搜索,计算禁忌搜索后调度方案序列集合中每个序列的
目标函数值,选取目标函数值最小的调度方案序列为最佳调度方案序列;
[0101] 步骤13:将最佳调度方案序列还原至装配工序流程与装配工人组的直观匹配,得到装配车间的人员调度方案。
[0102] 优化过程可以看作将某产品的装配流程与其能适用的工人组不断匹配,并确定开始时间和计划完成时间的过程。
[0103] 实施例2
[0104] 根据实施例1提供的一种基于混合算法的项目型产品装配车间人员调度方法,区别之处在于:
[0105] 步骤1中,基于装配工序流程与装配工序流程对应的工人组的类型,生成初始调度方案序列,具体过程为:
[0106] 步骤1.1:创建空的初始调度方案序列,初始调度方案序列包括前半部分和后半部分,前半部分的序列长度和后半部分的序列长度均为J,J为正整数;
[0107] 步骤1.2:如图2所示,初始调度方案序列的前半部分为工序序列PS,PS=(j1,j2,…,jJ),ji表示第i个进行的装配工序流程的步骤,i为1,2,3,…J;J=C·n,n代表一件产
品的装配工序流程的步骤数,包含并行装配工序与串行装配工序,常数C表示需装配的产品
数目;
[0108] 先将产品依次编号为产品1,2,3,4,…,C,并将每件产品的装配工序流程均编码为该产品号;例如,产品1的所有工序流程都编码为1;
[0109] 然后将所有产品编码后的工序流程的号码按产品的工序紧前约束条件随机放入工序序列中,工序紧前约束条件指的是不同工序之间必须遵守的先后约束关系;例如,对于
某一产品,工序6必须要在工序5之后进行;
[0110] 步骤1.3:初始调度方案序列的后半部分为人员配置序列SS,SS=(w1,w2,…,wJ);wi表示第i个进行的装配工序流程的步骤对应使用的工人组类型,i为1,2,3,…J;
[0111] 装配人员包括高级装配人员和普通装配人员,一个工人组包括若干个高级装配人员与若干个普通装配人员,且一个工人组不超过四人;高级装配人员与普通装配人员按1
高、1普、1高1普、1高2普、2高1普等组合方式随机组成工人组;将组成的工人组类型随机排
序,并为每种工人组类型赋予一个专属代码1,2,3,4,…,14;
[0112] 项目型产品装配工人组类型编号图,如表1所示,一共有这十四种工人组类型。
[0113] 表1
[0114]
[0115]
[0116] 按照步骤1.2中生成的工序序列,对应的将该道装配工序流程所能使用的工人组类型的代码放入人员配置序列中,直至填满整个人员配置序列;
[0117] 步骤1.4:将步骤1.2生成的工序序列PS与步骤1.3中生成的人员配置序列SS组合成为初始调度方案序列,初始调度方案序列的长度为2J。组合即将工序序列PS的元素和人
员配置序列SS的元素依次排列组成新的序列。
[0118] 先对每件产品的装配工序流程进行排序得到工序序列,然后对应的将能够完成装配工序流程的工人组类型排列,即构成了人员配置序列。
[0119] 步骤2中,构建初始狮群,确定初始狮群的个体比例;初始化整个狮群中每个个体的位置,具体过程为:
[0120] 步骤2.1:狮群中狮子数量为N,N>1,对应N种初始调度方案序列,N为人为设定值,如N=50;成年狮子的数量为n_Adult,n_Adult为 区间内的一个随机整数,成年狮子
包括一头狮王和多头母狮,母狮的数量为n_Adult‑1,幼狮的数量为N‑n_Adult;
[0121] 步骤2.2:设第i只狮子的位置为Xi=(xi1,xi2,…,xiJ),1≤i≤N,且位置分量xi1,xi2,…,xiJ的取值范围都为(0,1),第i只狮子的位置Xi对应一种调度方案序列;
[0122] 步骤2.3:在区间(0,1)上产生J个随机数,J个随机数分别作为第i只狮子的位置分量xi1,xi2,…,xiJ的值,即对狮群中个体的位置进行随机赋值;
[0123] 步骤2.4:重复步骤2.3N次,初始化整个狮群中每个个体的位置。
[0124] 步骤3中,依照目标函数值分配个体角色,具体过程为:
[0125] 将个体按目标函数值从小到大排序,目标函数值最小的个体设定为狮王,前(n_Adult‑1)个个体设定为母狮,其余个体设定为幼狮。
[0126] 步骤3、步骤7、步骤8、步骤10和步骤12中,目标函数值为调度方案序列对应的的目标函数值Fitness:
[0127] Fitness=max(t产品1,t产品2,…,t产品i,…,t产品C)  (I)
[0128] 式(I)中,t产品i为产品i的完工时间点,即第i件产品的最后一道工序的完工时间点;Fitness表示所有产品的最后一道工序的完工的时间点的最大值。
[0129] 步骤4中,对整个狮群中个体的位置进行迭代更新,具体过程为:
[0130] a:狮王的位置更新公式如式(II)所示:
[0131]
[0132] 式(II)中, 为狮王的位置;γ是依照正态分布N(0,1)产生的随机数,k为狮群位置更新的代数,k为正整数,1≤k≤最大迭代次数; 为第i只狮子第k代的历史最优位
k
置;g表示第k代群体最优位置;
[0133] b:母狮的位置更新公式如式(III)所示:
[0134]
[0135] 式(III)中, 为母狮的位置; 为从第k代母狮群中随机挑选的一个捕猎协作伙伴的历史最佳位置;αf为母狮移动范围扰动因子,γ是依照正态分布N(0,1)产生的
随机数;
[0136] c:幼狮的位置更新公式如式(IV)所示:
[0137]
[0138] 式(IV)中, 为幼狮的位置; 为幼狮跟随母狮的第k代的历史最佳位置;概率因子q为依照均匀分布U(0,1)产生的均匀随机值;αc为幼狮移动范围扰动因子,γ是依
照正态分布N(0,1)产生的随机数; 为第i个幼狮在捕猎范围内被驱赶的位置, 如式(V)
所示:是一种典型的精英反向学习思想;
[0139]
[0140] 式(V)中, 和 分别为狮子活动空间范围内各维的最小值均值和最大值均值。
[0141] 步骤5中,迭代更新的最大迭代次数为1000次,当狮群位置迭代1000次后,将末代狮群中母狮位置映射为母狮调度方案序列集合,将狮王位置单独映射为狮群最佳调度方案
序列。
[0142] 步骤2、步骤4和步骤5中,将狮群中个体的位置映射到调度方案序列的工序序列中,具体过程为:
[0143] 将个体的位置映射到调度方案序列的工序序列中,第i只狮子的位置与调度方案序列的工序序列的编码映射方式为:对第i只狮子的位置分量xi1,xi2,…,xiJ的值从小到大
进行排列,并对排列后的位置分量的值编号为1,2,…,J;排列后的位置分量的值的编号与
初始调度方案序列中工序序列的编号相对应,根据该对应关系,将初始调度方案序列的初
始工序j1,j2,…,jJ放入未排序的位置分量的位置,即得到第i只狮子的位置对应的调度方
案序列。
[0144] 例如,初始调度方案序列中工序序列为{工序1,工序2,工序3,工序4,工序5,工序6};设狮群中某只狮子的初始位置为(0.34,0.21,0.77,0.63,0.91,0.36),位置分量按从小
到大排列为0.21<0.34<0.36<0.63<0.77<0.91,并对排列后的位置分量的值编号为{0.21
(1),0.34(2),0.36(3),0.63(4),0.77(5),0.91(6)};排列后的位置分量的值的编号与初始
调度方案序列中工序1‑6存在对应关系,根据该对应关系,将初始调度方案序列中工序放入
未排序的位置分量的位置,即这只狮子的位置对应的线体任务序列为{工序2,工序1,工序
5,工序4,工序6,工序3}。
[0145] 步骤6中,将母狮调度方案序列集合与狮群最佳调度方案序列一起作为第二阶段禁忌搜索算法的初始调度方案序列集,则此禁忌算法的初始序列集中序列个数为n_Adult,
对此初始调度方案序列集中的序列进行编号,编号为(TL1,TL2,…,TLn_Adult)。
[0146] 步骤7中,从初始调度方案序列集中按编号从小到大的顺序选择一个禁忌搜索算法的初始调度方案序列,如第一次选择序列TL1,计算TL1的目标函数值,并置空禁忌表,设定
禁忌表长度为5。
[0147] 步骤8中,通过工序序列中工序变动和人员配置序列中模式变动,由当前选择的调度方案序列生成邻域调度方案序列集,具体过程为:
[0148] a:工序序列中工序变动:随机从工序序列PS中选择工序j,首先确定工序j属于哪件产品的工序,确定工序序列中工序j的紧前工序p和紧后工序s的位置,在工序p与工序s位
置之间随机选择一个工序j',将工序序列中工序j移至工序j'的位置前,工序j'及其之后工
序顺序后移,得到邻域调度方案序列;同一件产品中,紧前工序为工序的上一道工序,紧后
工序为工序的下一道工序;本实施例中,如图3所示,针对工序序列,将产品1对应的工序(对
应工序j)移至产品2对应的工序(对应工序j')的位置前,工序j'及其之后工序顺序后移。
[0149] b:人员配置序列中人员模式变动:随机从人员配置序列SS中选择一个分量wi,判断是否有其他可用的工人组类型,若有,则将此分量wi替换为新的工人组类型,若没有,则
重新选择人员配置序列中的其他分量wl,l取值为1,2,3,…J,且l≠i;判断分量wl是否有可
用的人员模式。本实施例中,如图4所示,将其中一个工序对应的人员模式进行变动,由工人
组类型4变为工人组类型2。
[0150] 步骤8中,按产生邻域结构的2种方式分别各自产生5个邻域调度方案序列,分别计算每个邻域调度方案序列目标函数值,选择目标函数值最小的邻域调度方案序列作为候选
邻域调度方案序列。
[0151] 步骤9中,特赦即是将被禁忌的对象从禁忌表中解禁,使其重新可用,特赦规则为:
[0152] 若出现一个邻域调度方案序列的目标函数值好于前面任何一个最佳调度方案序列,则特赦;
[0153] 或者,若所有对象都被禁忌,特赦一个目标函数值最小的邻域调度方案序列。
[0154] 步骤10中,判断候选邻域调度方案序列的禁忌属性,即判断候选邻域调度方案是否已存在于禁忌表中;
[0155] 步骤10中,更新禁忌表的具体过程为:
[0156] 将该候选邻域调度方案序列加入禁忌表的最前一条,禁忌表中其他序列依次后延,超出禁忌表长度的序列解禁。
[0157] 步骤11中,禁忌搜索停止的条件为:预定的禁忌搜索迭代次数或迭代若干次数后最佳目标函数值无变化;例如,预定的禁忌搜索迭代次数为200次,或者迭代10次后最佳目
标函数值无变化。
[0158] 步骤13中,将最佳调度方案序列中的工序序列PS与人员配置序列SS的分量一一对应,再按编号分离开不同的产品,即得到了装配车间的人员调度方案。
[0159] 实施例3
[0160] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现实施例1或2提供的基于混合算法的项目型产品装配车间人
员调度方法的步骤。
[0161] 实施例4
[0162] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1或2提供的基于混合算法的项目型产品装配车间人员调度方法的步骤。