CN111340345B - 一种基于改进粒子群算法的刀具调度方法 - Google Patents
一种基于改进粒子群算法的刀具调度方法 Download PDFInfo
- Publication number
- CN111340345B CN111340345B CN202010106068.3A CN202010106068A CN111340345B CN 111340345 B CN111340345 B CN 111340345B CN 202010106068 A CN202010106068 A CN 202010106068A CN 111340345 B CN111340345 B CN 111340345B
- Authority
- CN
- China
- Prior art keywords
- particle
- workpiece
- tool
- cutter
- time
- 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.)
- Expired - Fee Related
Links
- 239000002245 particle Substances 0.000 title claims abstract description 157
- 238000000034 method Methods 0.000 title claims abstract description 114
- 238000005457 optimization Methods 0.000 title abstract description 8
- 238000004519 manufacturing process Methods 0.000 claims abstract description 54
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 21
- 238000003754 machining Methods 0.000 claims description 19
- 230000001133 acceleration Effects 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 3
- 230000014509 gene expression Effects 0.000 claims description 2
- 238000011160 research Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
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
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- 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/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/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- 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
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- 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/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manufacturing & Machinery (AREA)
- Primary Health Care (AREA)
- Numerical Control (AREA)
Abstract
本发明涉及一种基于改进粒子群算法的刀具调度方法,针对刀具的需求无法被满足导致的影响生产正常进行的问题,建立了考虑刀具库存约束的生产作业调度模型并设计改进粒子群算法进行求解,通过对生产作业中的工序重新调度,解决工序之间的刀具使用冲突,而且达到最大完工时间最小化的优化目标。首先,以粒子群算法为基础,根据制造车间生产作业调度问题设计适合的编码与解码方式,并依此设计了速度加、错位减等操作更新粒子位置与速度,辅以动态惯性权重等算法参数构成了改进粒子群算法,增强了算法的搜索能力;然后,根据工件的工艺参数和道具库存信息对模型实例仿真,验证了模型和算法的可靠性和有效性。
Description
技术领域
本发明涉及生产车间刀具调度领域,特别涉及基于粒子群算法的生产车间刀具调度方法。
背景技术
车间生产调度系统是先进制造系统中最为重要的内容之一,它对资源优化利用,提高工作效率,节省成本都有非常重要的作用。随着经济的快速发展,制造企业之间的竞争越来越激烈,制造企业也越来越注重通过高效的车间生产调度系统来提高企业的竞争力。
目前离散制造企业的计划部门在生产排程时,不考虑刀具的可用库存约束,在生产过程中出现了在同一时刻多道工序需要同一种刀具,而该种刀具的库存数量无法满足同一时刻所需的刀具数量,就会产生刀具的使用冲突,使得刀具的需求无法被满足导致生产计划不能照常进行,影响生产正常进行。国内外学者针对生产调度的研究较多,但刀具调度较少。部分学者虽然在生产调度中对考虑刀具的情况进行了相应的研究,但主要是对车间生产调度中刀具需求计划的制定及刀具资源的分配研究,忽略了如何在车间刀具资源有限条件下,对机床上工件的工序进行优化排序。由于目前考虑车间刀具约束的作业调度研究还比较少,且在车间实际生产过程中刀具管理水平也比较低,因此研究车间刀具调度算法具有一定的实际意义。
根据以上分析,本发明在设计算法时,采用以标准粒子群算法为基础,根据生产作业调度问题设计适合的编码与解码方式,并依此设计了速度加、错位减等操作更新粒子位置与速度,辅以动态惯性权重等算法参数构成了改进粒子群算法,增强了算法的搜索能力。
发明内容
要解决的技术问题
针对刀具的需求无法被满足导致的影响生产正常进行的问题,建立了考虑刀具库存约束的生产作业调度模型并设计改进粒子群算法进行求解,通过对生产作业中的工序重新调度,解决工序之间的刀具使用冲突,而且达到最大完工时间最小化的优化目标。
技术方案
一种基于改进粒子群算法的刀具调度方法,其特征在于步骤如下:
步骤1:确定工件工艺参数和刀具库存,所述的工件工艺参数包括加工工序Oij所需的加工机床Mm、刀具R、加工时间tij和加工顺序;所述的刀具库存信息包括加工工件所需的刀具类型Rμ以及此规格型号刀具的可用库存数量;
步骤2:建立考虑刀具库存约束的生产作业调度模型:
(1)决策变量:
(2)约束条件:
式(3)-(6)中:
M={Mm|m=1,2,...,k}—机床集合,k为机床总数;
J={Ji|i=1,2,...,n}—工件集合,n为工件总数;
R={Rμ|μ=1,2,...,u}—刀具型号规格集合,u为刀具型号规格总数;
N={Nλ|λ=1,2,...z}—刀具序号,z为刀具总数量;
Oi,j—工件Ji的第j道工序;
tij—工件Ji的第j道工序加工时间,单位/min;
其中,式(3)表示工件的工序开始加工必须在该工件的上一道工序加工结束后进行,并且工序加工需要的机床、相应型号规格编号的刀具刚好处于闲置的条件下,才能开始加工;式(4)表示工序加工结束时间等于工序开始加工时间与工序加工时间之和;式(5)和式(6)表示每一台机床和每一把刀具在同一时刻只能加工一道工序;
(3)目标函数:
考虑刀具库存约束的生产作业调度问题,以系统最小完工时间为目标函数,即:
步骤3:初始化改进粒子群算法参数
选取加速因子c1=c2=2;通过公式(8)计算权重参数ω:
其中,ωmax=0.9,ωmin=0.4;
步骤4:初始化粒子位置及其速度,构成粒子的初始种群,具体步骤如下:
步骤4.1:采用基于工件编号编码规则生成粒子群中的N个粒子,粒子的编码串为Code,L为粒子编码中的编码序号,Code[L]为在粒子编码串Code中从左到右第L个出现的工件号,Code[L]在编码串中从左到右第几次出现即表示该工件的第几道工序;
步骤4.2:定义粒子位置,粒子群算法中粒子位置X是B维向量,在X中,维表示工件的编号,每一维的数据表示相应工位的工序,用公式来表示粒子的位置X:
X=(x1,x2,...,xd),1≤i≤d,1≤xi≤u (9)
式(9)中是工序的总数;对第i维的数据,根据其从左到右出现的次数,即可得到工件所对应的工序;
步骤5:粒子进行解码操作
编码串的解码操作是根据每个粒子的编码串、工件工序加工机床矩阵Jm、刀具矩阵Jc、工序加工时间矩阵Jt及刀具编号矩阵Jn,对每个粒子进行解码操作,其中Jm、Jc、Jt的第i行第j列代表工件i的第j道工序,对应的数字分别表示工件i的第j道工序加工车床代号、刀具型号规格及工序所加工时间,Jn的第i行第j列代表型号规格为i的刀具所包括第j把刀,对应的数字为刀具的编号;解码具体步骤描述如下:
步骤5.1:粒子群中取粒子的编码串Code,初始化L=1,所有出现次数h(i)=1,令g(μ)=1,其代表第μ种刀具的第1把刀;
步骤5.2:获取编码串中第L位的工件号及出现的次数;
步骤5.3:由矩阵Jm、Jc、Jt得到工序OCode[L]h(i)的加工机床代号m、刀具型号规格μ及加工时间tij,然后根据刀具型号规格μ定位到矩阵Jn中的第μ行,由g(μ)确定所使用刀具的编号λ;
步骤5.5:L=L+1,h(i)=h(i)+1,g(μ)=g(μ)+1;
步骤5.6:判断L是否小于等于粒子串长,如果是则返回步骤5.2;否则当前粒子解码结束,返回步骤5.1,对粒子群中下一粒子进行解码,直到粒子群种所有的粒子完成解码操作,获得所有粒子对应的调度方案及时间安排;
步骤6:计算粒子适应度
根据式(7)计算粒子所代表调度方案的目标函数,粒子适应度值与目标函数成反比例关系,因此粒子的适应度定义位目标函数的倒数为:
Fitness=1/f (12)
步骤7:粒子群每个粒子的历史最优位置pB以及群体最优位置gB更新;
步骤8:更新粒子位置与速度,在t+1次迭代时更新方程如式(13)所示:
式中,ω为惯性权重,由公式(8)可得,c1,c2为加速因子,取值为c1=c2=2;r1,r2为在[0,1]范围内变化的随机函数;
在生产作业调度问题中,粒子的状态由整数的排列表示,粒子速度定义也和常规问题不一样,所以需要对算法中粒子更新方式和公式意义重新定义,重新定义以后的运算规则如下:
(1)定义粒子的速度:粒子的速度是用来改变粒子的位置,所以速度V与位置X的维度一样,也是一个d维向量,表示为:
V=(v1,v2,...vd),1≤i≤d,1≤vi≤d (14)
式(14)中d是工序数;速度V在这里实际表示为[1,d]所有数的随机排列;
(2)粒子位置与速度的加法运算:位置与速度的相加可以对粒子的位置进行更新,让粒子运动到一个新的位置,公式可以表示为:
XNew=XOld+V (15)
这里的粒子位置与速度的加法运算,是根据速度定义的数字序列对粒子位置里的工件编号进行重排列,进而改变算法对粒子位置编码的访问顺序,从而实现对粒子位置的更新;
(3)位置减运算,根据Clerc对速度的定义可知,两个位置X1和X2相减的结果是一个速度V,用公式表示为:
V=X1-X2 (16)
(4)速度加操作:两个速度相加,得到的新速度表示为:
V=V1+V2 (17)
其中每一个速度分量定义为:
根据上面的定义可知V2+V1≠V2+V1,即速度之间的相加不满足加法交换律,只有当两个速度相等的时候,才有V2+V1=V2+V1;
(5)速度的数乘:
V2=C·V1 (19)
式(19)中,C为一个常数,其具有概率意义,在进行数乘操作的时候,生成一个随机数rand,如果rand小于C,则对速度进行随机重排列,即对速度的编号序列重新进行随机排列,从而实现对速度的更新;
步骤9:判断迭代次数是否达到最大迭代次数MaxGen=600;如果否,循环步骤3~9,如果是,训练结束输出最佳群体位置及刀具调度的最佳方案。
所述的位置减运算是采用“错位减”算子来执行求解两位置差的操作,求解过程如下,设X1,X2两位置都有d个元素:
Step1:i=1;
Step2:如果i≤d,将X1的第i个元素与X2元素从左到右进行比较;
Step3:如找到与X1的第i个元素相同,且出现次数也相同,则将该元素在X2出现的位置作为速度V的第i个元素;
Step4:i=i+1,转到Step2。
有益效果
本发明将刀具库存约束考虑到生产作业排程中,建立考虑刀具库存约束下的作业调度模型,并设计改进粒子群算法对其进行求解。以标准粒子群算法为基础,根据生产作业调度问题设计适合的编码与解码方式,并设计了速度加、错位减等操作更新粒子位置与速度,辅以动态惯性权重等算法参数构成了改进粒子群算法,增强了算法的搜索能力。在车间刀具资源有限的情况下,可能存在多道工序同一时刻需要同一种刀具,而该种刀具的库存无法满足同一时刻的需求量,该算法解决了刀具的使用冲突,保障了生产作业排程的顺利执行。
附图说明
图1是本发明基于改进粒子群算法的刀具调度方法的流程图
图2“错位减”实例
图3初始化生产作业排程甘特图
图4考虑刀具库存约束的生产作业调度甘特图
具体实施方式
下面结合附图和实施例对本发明基于改进粒子群算法的刀具调度方法进一步说明,本发明包括但不仅限于下述实施例。如图1所示,本发明提供的算法,主要包括搭建考虑刀具库存约束的生产作业调度模型,进而利用改进粒子群算法进行刀具调度方案分析,具体过程如下:
1、搭建考虑刀具库存约束的生产作业调度模型
(1)工件的工艺参数和刀具库存。
通过采集某个离散制造企业车间某一天生产作业排程的实际数据,验证考虑刀具库存约束的生产作业调度模型以及其求解算法的科学性与有效性。车间有10台加工机床分别为M1、M2、M3、M4、M5、M6、M7、M8、M9、M10;同时有20件待加工工件,每个工件包含6道加工工序,加工所需刀具信息表如表1,指出了加工工件所需的刀具类型Rμ以及此规格型号刀具的可用库存数量。工件的工艺参数信息如表2,该表反映了加工工序所需的加工机床Mm和刀具Rμ,加工时间tij,加工顺序Oij。加工一道工序可能需要很多种刀具,可能会产生多种刀具的使用冲突,但是在此假设一道工序只使用一种刀具进行加工,所以只会产生一种刀具的使用冲突,故在工件的工艺参数信息表中只列出一种规格型号的刀具。初始生产作业排程的甘特图如图3所示
(2)决策变量。
(3)约束条件。
式(3)-(6)中:
M={Mm|m=1,2,...,k}—机床集合,k为机床总数;
J={Ji|i=1,2,...,n}—工件集合,n为工件总数;
R={Rμ|μ=1,2,...,u}—刀具型号规格集合,u为刀具型号规格总数;
N={Nλ|λ=1,2,...z}—刀具序号,z为刀具总数量;
Oi,j—工件Ji的第j道工序;
tij—工件Ji的第j道工序加工时间,单位/min;
其中,式(3)表示工件的工序开始加工必须在该工件的上一道工序加工结束后进行,并且工序加工需要的机床、相应型号规格编号的刀具刚好处于闲置的条件下,才能开始加工;式(4)表示工序加工结束时间等于工序开始加工时间与工序加工时间之和;式(5)和式(6)表示每一台机床和每一把刀具在同一时刻只能加工一道工序。
(4)目标函数。考虑刀具库存约束的生产作业调度问题,以系统最小完工时间为目标函数,即:
2、基于改进粒子群算法的刀具调度方法。
步骤1:初始化改进粒子群算法参数。加速因子c1、c2的选取,通常情况下取.c1=c2=2。权重ω参数,通过公式(8)计算权重参数,通常情况下ωmax=0.9,ωmin=0.4。种群规模为40,迭代次数为600。
步骤2:工件工艺参数和刀具库存信息输入。工件工艺参数包括加工工序Oij所需的加工机床Mm、刀具R、加工时间tij、加工顺序,如表1。刀具库存信息包括加工工件所需的刀具类型Rμ以及此规格型号刀具的可用库存数量,如表2。
步骤3:初始化粒子位置及其速度,构成粒子的初始种群。具体步骤如下:
步骤3.1:采用基于工件编号编码规则生成粒子群中的20个粒子,粒子的编码串为Code,L为粒子编码中的编码序号,Code[L]为在粒子编码串Code中从左到右第L个出现的工件号,Code[L]在编码串中从左到右第几次出现即表示该工件的第几道工序;
步骤3.2:定义粒子位置。粒子群算法中粒子位置X是B维向量,在X中,维表示工件的编号,每一维的数据表示相应工位的工序,所以可以用公式来表示粒子的位置X:
X=(x1,x2,...,xd),1≤i≤d,1≤xi≤u (9)
式(9)中d是工序的总数;对第i维的数据xi,根据其从左到右出现的次数,即可得到工件所对应的工序。
例如一个粒子的编码串为[1 3 2 1 3 2],其中1、2、3代表工件1、工件2、工件3,然后从左到右依次在编码串中计算工件出现的次数,如工件1从左到右第一次出现,则代表工件1的第一道工序,其第二次出现,代表工件1的第二道工序,其余以此类推。
步骤4:粒子进行解码操作。编码串的解码操作是根据每个粒子的编码串、工件工序加工机床矩阵Jm、刀具矩阵Jc、工序加工时间矩阵Jt及刀具编号矩阵Jn,对每个粒子进行解码操作,其中Jm、Jc、Jt的第i行第j列代表工件i的第j道工序,对应的数字分别表示工件i的第j道工序加工车床代号、刀具型号规格及工序所加工时间,Jn的第i行第j列代表型号规格为i的刀具所包括第j把刀,对应的数字为刀具的编号,解码具体步骤描述如下:
步骤4.1:粒子群中取粒子的编码串Code,初始化L=1,所有出现次数h(i)=1,令g(μ)=1,其代表第μ种刀具的第1把刀;
步骤4.2:获取编码串中第L位的工件号Code[L]及Code[L]出现的次数h(i);
步骤4.3:由矩阵Jm、Jc、Jt得到工序OCode[L]h(i)的加工机床代号m、刀具型号规格μ及加工时间tij,然后根据刀具型号规格μ定位到矩阵Jn中的第μ行,由g(μ)确定所使用刀具的编号λ;
步骤4.5:L=L+1,h(i)=h(i)+1,g(μ)=g(μ)+1;
步骤4.6:判断L是否小于等于粒子串长,如果是则返回步骤5.2;否则当前粒子解码结束,返回步骤5.1,对粒子群中下一粒子进行解码,直到粒子群种所有的粒子完成解码操作,获得所有粒子对应的调度方案及时间安排。
步骤5:粒子适应度计算。根据式(7)计算粒子所代表调度方案的目标函数,粒子适应度值与目标函数成反比例关系,因此粒子的适应度定义位目标函数的倒数为:
Fitness=1/f (12)
步骤6:粒子群每个粒子的历史最优位置pB以及群体最优位置gB更新。
步骤7:粒子位置与速度更新。在t+1次迭代时更新方程如式(13)所示。式中,ω为惯性权重,由公式(8)可得,c1,c2为加速因子,取值为c1=c2=2。r1,r2为在[0,1]范围内变化的随机函数。
在生产作业调度问题中,粒子的状态由整数的排列表示,粒子速度定义也和常规问题不一样,所以需要对算法中粒子更新方式和公式意义重新定义,重新定义以后的运算规则如下:
(1)定义粒子的速度。粒子的速度是用来改变粒子的位置,所以速度V与位置X的维度一样,也是一个d维向量,表示为:
V=(v1,v2,...vd),1≤i≤d,1≤vi≤d (14)
式(14)中d是工序数;速度V在这里实际表示为[1,d]所有数的随机排列。
(2)粒子位置与速度的加法运算。位置与速度的相加可以对粒子的位置进行更新,让粒子运动到一个新的位置,公式可以表示为:
XNew=XOld+V (15)
这里的粒子位置与速度的加法运算,是根据速度定义的数字序列对粒子位置里的工件编号进行重排列,进而改变算法对粒子位置编码的访问顺序,从而实现对粒子位置的更新。
例如,粒子的位置为XNew=(1,2,1,3,2,3),其速度V=(2,1,4,6,5,3),则粒子的位置经过速度的作用后变为XOld=(2,1,3,3,2,1)。
(3)位置减运算。根据Clerc对速度的定义可知,两个位置X1和X2相减的结果是一个速度V,用公式表示为:
V=X1-X2 (16)
本发明采用的位置减运算是采用“错位减”算子来执行求解两位置差的操作,求解过程如下,(设X1,X2两位置都有d个元素):
Step1:i=1;
Step2:如果.i≤d.,将X1的第i个元素与X2元素从左到右进行比较;
Step3:如找到与X1的第i个元素相同,且出现次数也相同,则将该元素在X2出现的位置作为速度V的第i个元素;
Step4:i=i+1,转到Step2。
例如:设X1=(1,2,1,3,2),X2=(2,1,3,1,2),则V=X1-X2的“错位减”算子的计算过程如图2所示。
(4)速度加操作。两个速度相加,得到的新速度表示为:
V=V1+V2 (17)
其中每一个速度分量定义为:
根据上面的定义可知V2+V1≠V2+V1,即速度之间的相加不满足加法交换律,只有当两个速度相等的时候,才有V2+V1=V2+V1。
(5)速度的数乘。速度的数乘用公式表示为:
V2=C·V1 (19)
式(19)中,C为一个常数,其具有概率意义,在进行数乘操作的时候,生成一个随机数rand,如果rand小于C,则对速度进行随机重排列,即对速度的编号序列重新进行随机排列,从而实现对速度的更新。
步骤8:判断迭代次数是否达到最大迭代次数MaxGen=600。如果否,循环步骤3-步骤8,如果是,训练结束输出最佳群体位置及刀具调度的最佳方案。
本实施例的具体仿真数据和结果如下:
经过算法迭代,整理、分析以后得到如下的生产作业排程,其中表3为工序详细信息表,该表给出了工序的开工时间和结束时间;图4为考虑刀具库存的生产作业调度方案相对应的甘特图。
在刀具资源充足的情况下,从最大完工时间来看,图3的生产作业排程更加
紧凑更加适合指导生产,但是在刀具资源有限的情况下,图3中存在刀具使用冲突,不能正常指导生产。基于改进粒子群算法的生产作业调度在解决初始生产排程中存在的刀具使用冲突的时候,是以牺牲工序的完工时间为代价,生产作业排程虽然完工时间延长了,但将存在刀具使用冲突工序的开工时间错开,避免因刀具使用冲突而导致的生产停滞问题,保证了车间的稳定生产。
表1 刀具信息表
表2 工件的工艺参数信息
表3 工序详细信息表
Claims (2)
1.一种基于改进粒子群算法的刀具调度方法,其特征在于步骤如下:
步骤1:确定工件工艺参数和刀具库存,所述的工件工艺参数包括加工工序Oij所需的加工机床Mm、刀具R、加工时间tij和加工顺序;所述的刀具库存信息包括加工工件所需的刀具类型Rμ以及此规格型号刀具的可用库存数量;
步骤2:建立考虑刀具库存约束的生产作业调度模型:
(1)决策变量:
(2)约束条件:
式(3)-(6)中:
M={Mm|m=1,2,...,k} —机床集合,k为机床总数;
J={Ji|i=1,2,...,n}—工件集合,n为工件总数;
R={Rμ|μ=1,2,...,u}—刀具型号规格集合,u为刀具型号规格总数;
N={Nλ|λ=1,2,...z}—刀具序号,z为刀具总数量;
Oi,j—工件Ji的第j道工序;
tij—工件Ji的第j道工序加工时间,单位/min;
其中,式(3)表示工件的工序开始加工必须在该工件的上一道工序加工结束后进行,并且工序加工需要的机床、相应型号规格编号的刀具刚好处于闲置的条件下,才能开始加工;式(4)表示工序加工结束时间等于工序开始加工时间与工序加工时间之和;式(5)和式(6)表示每一台机床和每一把刀具在同一时刻只能加工一道工序;
(3)目标函数:
考虑刀具库存约束的生产作业调度问题,以系统最小完工时间为目标函数,即:
步骤3:初始化改进粒子群算法参数
选取加速因子c1=c2=2;通过公式(8)计算权重参数ω:
其中,ωmax=0.9,ωmin=0.4;
步骤4:初始化粒子位置及其速度,构成粒子的初始种群,具体步骤如下:
步骤4.1:采用基于工件编号编码规则生成粒子群中的N个粒子,粒子的编码串为Code,L为粒子编码中的编码序号,Code[L]为在粒子编码串Code中从左到右第L个出现的工件号,Code[L]在编码串中从左到右第几次出现即表示该工件的第几道工序;
步骤4.2:定义粒子位置,粒子群算法中粒子位置X是B维向量,在X中,维表示工件的编号,每一维的数据表示相应工位的工序,用公式来表示粒子的位置X:
X=(x1,x2,...,xd),1≤i≤d,1≤xi≤u (9)
式(9)中d是工序的总数;对第i维的数据xi,根据其从左到右出现的次数,即可得到工件所对应的工序;
步骤5:粒子进行解码操作
编码串的解码操作是根据每个粒子的编码串、工件工序加工机床矩阵Jm、刀具矩阵Jc、工序加工时间矩阵Jt及刀具编号矩阵Jn,对每个粒子进行解码操作,其中Jm、Jc、Jt的第i行第j列代表工件i的第j道工序,对应的数字分别表示工件i的第j道工序加工车床代号、刀具型号规格及工序所加工时间,Jn的第i行第j列代表型号规格为i的刀具所包括第j把刀,对应的数字为刀具的编号;解码具体步骤描述如下:
步骤5.1:粒子群中取粒子的编码串Code,初始化L=1,所有出现次数h(i)=1,令g(μ)=1,其代表第μ种刀具的第1把刀;
步骤5.2:获取编码串中第L位的工件号及出现的次数;
步骤5.3:由矩阵Jm、Jc、Jt得到工序OCode[L]h(i)的加工机床代号m、刀具型号规格μ及加工时间tij,然后根据刀具型号规格μ定位到矩阵Jn中的第μ行,由g(μ)确定所使用刀具的编号λ;
步骤5.5:L=L+1,h(i)=h(i)+1,g(μ)=g(μ)+1;
步骤5.6:判断L是否小于等于粒子串长,如果是则返回步骤5.2;否则当前粒子解码结束,返回步骤5.1,对粒子群中下一粒子进行解码,直到粒子群种所有的粒子完成解码操作,获得所有粒子对应的调度方案及时间安排;
步骤6:计算粒子适应度
根据式(7)计算粒子所代表调度方案的目标函数,粒子适应度值与目标函数成反比例关系,因此粒子的适应度定义位目标函数的倒数为:
Fitness=1/f (12)
步骤7:粒子群每个粒子的历史最优位置pB以及群体最优位置gB更新;
步骤8:更新粒子位置与速度,在t+1次迭代时更新方程如式(13)所示:
式中,ω为惯性权重,由公式(8)可得,c1,c2为加速因子,取值为c1=c2=2;r1,r2为在[0,1]范围内变化的随机函数;
在生产作业调度问题中,粒子的状态由整数的排列表示,粒子速度定义也和常规问题不一样,所以需要对算法中粒子更新方式和公式意义重新定义,重新定义以后的运算规则如下:
(1)定义粒子的速度:粒子的速度是用来改变粒子的位置,所以速度V与位置X的维度一样,也是一个d维向量,表示为:
V=(v1,v2,...vd),1≤i≤d,1≤vi≤d (14)
式(14)中d是工序数;速度V在这里实际表示为[1,d]所有数的随机排列;
(2)粒子位置与速度的加法运算:位置与速度的相加可以对粒子的位置进行更新,让粒子运动到一个新的位置,公式可以表示为:
XNew=XOld+V (15)
这里的粒子位置与速度的加法运算,是根据速度定义的数字序列对粒子位置里的工件编号进行重排列,进而改变算法对粒子位置编码的访问顺序,从而实现对粒子位置的更新;
(3)位置减运算,根据Clerc对速度的定义可知,两个位置X1和X2相减的结果是一个速度V,用公式表示为:
V=X1-X2 (16)
(4)速度加操作:两个速度相加,得到的新速度表示为:
V=V1+V2 (17)
其中每一个速度分量定义为:
根据上面的定义可知V2+V1≠V1+V2,即速度之间的相加不满足加法交换律,只有当两个速度相等的时候,才有V2+V1=V2+V1;
(5)速度的数乘:
V2=C·V1 (19)
式(19)中,C为一个常数,其具有概率意义,在进行数乘操作的时候,生成一个随机数rand,如果rand小于C,则对速度进行随机重排列,即对速度的编号序列重新进行随机排列,从而实现对速度的更新;
步骤9:判断迭代次数是否达到最大迭代次数MaxGen=600;如果否,循环步骤3~9,如果是,训练结束输出最佳群体位置及刀具调度的最佳方案。
2.根据权利要求1所述的一种基于改进粒子群算法的刀具调度方法,其特征在于所述的位置减运算是采用“错位减”算子来执行求解两位置差的操作,求解过程如下,设X1,X2两位置都有d个元素:
Step1:i=1;
Step2:如果i≤d,将X1的第i个元素与X2元素从左到右进行比较;
Step3:如找到与X1的第i个元素相同,且出现次数也相同,则将该元素在X2出现的位置作为速度V的第i个元素;
Step4:i=i+1,转到Step2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010106068.3A CN111340345B (zh) | 2020-02-20 | 2020-02-20 | 一种基于改进粒子群算法的刀具调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010106068.3A CN111340345B (zh) | 2020-02-20 | 2020-02-20 | 一种基于改进粒子群算法的刀具调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111340345A CN111340345A (zh) | 2020-06-26 |
CN111340345B true CN111340345B (zh) | 2022-05-27 |
Family
ID=71185491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010106068.3A Expired - Fee Related CN111340345B (zh) | 2020-02-20 | 2020-02-20 | 一种基于改进粒子群算法的刀具调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111340345B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113721543B (zh) * | 2021-08-30 | 2023-06-02 | 南京埃斯顿自动化股份有限公司 | 一种数控机床中直线型工具集位置排列的方法 |
CN116137181B (zh) * | 2023-03-09 | 2023-09-05 | 河北省疾病预防控制中心 | 一种疫苗接种指挥调度方法及系统 |
CN116984924B (zh) * | 2023-09-27 | 2023-12-01 | 南京航空航天大学 | 一种智能加工单元刀具需求优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103809506A (zh) * | 2014-01-26 | 2014-05-21 | 西安理工大学 | 基于一维粒子群算法获得零件加工最优调度方案的方法 |
CN105956235A (zh) * | 2016-04-20 | 2016-09-21 | 杭州电子科技大学 | 基于svr-pso的超声加工特种刀具优化设计方法 |
CN109033730A (zh) * | 2018-09-30 | 2018-12-18 | 北京工业大学 | 一种基于改进的粒子群优化算法的刀具磨损预测方法 |
CN110533301A (zh) * | 2019-08-09 | 2019-12-03 | 大连理工大学 | 一种基于动态约束矩阵的粒子群调度方法 |
CN110598941A (zh) * | 2019-09-18 | 2019-12-20 | 河海大学常州校区 | 一种基于仿生策略的粒子群优化制造系统双目标排产方法 |
-
2020
- 2020-02-20 CN CN202010106068.3A patent/CN111340345B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103809506A (zh) * | 2014-01-26 | 2014-05-21 | 西安理工大学 | 基于一维粒子群算法获得零件加工最优调度方案的方法 |
CN105956235A (zh) * | 2016-04-20 | 2016-09-21 | 杭州电子科技大学 | 基于svr-pso的超声加工特种刀具优化设计方法 |
CN109033730A (zh) * | 2018-09-30 | 2018-12-18 | 北京工业大学 | 一种基于改进的粒子群优化算法的刀具磨损预测方法 |
CN110533301A (zh) * | 2019-08-09 | 2019-12-03 | 大连理工大学 | 一种基于动态约束矩阵的粒子群调度方法 |
CN110598941A (zh) * | 2019-09-18 | 2019-12-20 | 河海大学常州校区 | 一种基于仿生策略的粒子群优化制造系统双目标排产方法 |
Non-Patent Citations (4)
Title |
---|
一种基于实例推理的刀具选配方法研究;张维 等;《航空制造技术》;20151231(第5期);77-80 * |
有限资源约束下的刀具调度方法研究;张维 等;《工具技术》;20171231;第51卷(第11期);46-50 * |
粒子群算法在生产物流调度中的应用研究;边培莹等;《计算机工程与应用》;20100611(第17期);224-227 * |
考虑刀具约束的作业车间调度研究;曹阳明等;《现代制造工程》;20171218(第12期);120-124 * |
Also Published As
Publication number | Publication date |
---|---|
CN111340345A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340345B (zh) | 一种基于改进粒子群算法的刀具调度方法 | |
CN104268722B (zh) | 基于多目标进化算法的动态柔性作业车间调度方法 | |
CN111738578B (zh) | 一种动态环境下的离散型生产车间调度方法 | |
CN111966050A (zh) | 基于ammas-ga嵌套算法的双资源模具作业车间调度优化方法 | |
CN103309316A (zh) | 带有批处理机的多阶段变异混合流水车间调度方法 | |
CN111985672B (zh) | 一种多Agent深度强化学习的单件作业车间调度方法 | |
CN113792924A (zh) | 一种基于Deep Q-network深度强化学习的单件作业车间调度方法 | |
CN113379087A (zh) | 一种基于改进遗传算法的生产制造排产优化方法 | |
CN115145235B (zh) | 一种铸造全流程的多目标智能调度方法 | |
CN116466659A (zh) | 一种基于深度强化学习的分布式装配流水车间调度方法 | |
CN107831740A (zh) | 一种应用于笔记本零件的分布式生产制造过程中的优化调度方法 | |
CN111814359B (zh) | 一种面向离散制造的集成车间调度与装配序列规划方法 | |
Norman et al. | Scheduling operations on parallel machine tools | |
CN111665799A (zh) | 一种基于协同算法的时间约束型并行机节能调度方法 | |
CN116070826A (zh) | 一种铁路货车车身喷涂作业并行机调度方法 | |
CN115730799A (zh) | 一种柔性装配作业车间生产任务调度方法、系统及设备 | |
CN115456268A (zh) | 一种导向辊制造资源优化配置方法、装置、设备及介质 | |
CN113673164A (zh) | 求解带运输时间和调整时间的柔性作业车间调度方法 | |
CN116468137A (zh) | 一种分布式工艺规划与车间调度集成优化方法 | |
CN114676987A (zh) | 一种基于超启发式算法的智能柔性作业车间主动调度方法 | |
CN114237166A (zh) | 基于改进spea2算法求解多转速节能调度问题的方法 | |
CN114004065A (zh) | 基于智能算法和环境约束下的变电站工程多目标优化方法 | |
Liu et al. | Scheduling optimization of flexible flow shop | |
Song et al. | Stage due date planning for multistage assembly systems | |
CN113505910B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220527 |
|
CF01 | Termination of patent right due to non-payment of annual fee |