一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进海鸥算法的多目标分布式焊接车间调度排产方法

2022-10-26 08:46:58 来源:中国专利 TAG:


1.本发明涉及焊接加工智能制造领域,更具体地涉及一种用于分布式焊接车间的智能排产调度优化方法。


背景技术:

2.焊接技术一直都是国家工业制造业的一项极其重要的技术之一,它广泛应用在机械制造,船舶航天,运输加工等领域中。若能在焊接或其相关技术进行改进,则能推动我国工业现代化进程、提高国际竞争力,也能加快我国从一个工业大国到工业强国的转变。因此,焊接技术对我国工业制造业有着极为重要的意义。然而,焊接技术中的工具,焊机的增加虽然能加快产品生产,推动工期进程,但也会大幅增加焊机的负载。所以,如果有一个同时能降低焊接机器和最大完工时间的调度方法,不仅能解决上面所说的负载问题,也能根据分配的方案降低成本,提高工厂效益。
3.分布式焊接车间制造中的调度问题涉及对加工工件进行有限资源的分配、排序序列、时间安排、优化目标等。而焊接调度模型中经常存在为了缩短加工时间,多台机器同时加工一个工件的情况,这种调度问题,与传统调度问题中一个工件同时只能被一台机器加工的假设相违背,这种调度问题会比其它调度增加一个新问题即焊机的机器负载。多目标分布式焊接车间问题中的多目标主要是最小化最大完工时间和机器负载,为了完成两个互相制约的目标,需要调度方法能够协同考虑机器数量和加工工件序列,得到一种双赢非支配解。而这种优秀的调度模型,可以在不增加最大完工时间的同时降低机器负载。
4.基于上述描述,简单的描述工件在分布式焊接车间上的分配过程如图2所示:
5.在焊接之前,工件需要被放置到固定架上,焊机需要启动,在此处定义这段时间为准备时间。完成焊接后,需要对工件进行运输到其它工序机器上,而这段时间定义为传输时间。工件加工速度不仅由工件属性和分配的焊机数量决定,也要考虑机器的准备时间和工件传输时间。在图3和4中,方块的长度与加工时间表示一致,数字代表工件号,此处假定焊机分配均为1台加工,此处可以看出同一个工件在不同的机器上加工时间是不一样的,最大完工时间为最后一个工件完成加工并传输后的时间。


技术实现要素:

6.本发明中,解决的是分布式焊接车间的调度问题。具体的,此问题研究的是将n个工件分配到满足加工约束的m个阶段共l个工厂上焊接加工,并且对每个工厂分配的工件进行排序。在整个焊接工序中,本方法主要考虑了最小化焊机的机器负载和最小化最大完工时间2个目标,其中机器负载主要考虑焊机的数量。
7.一个工件的整个焊接过程分为三个时间段:准备、加工和传输。准备时间将待加工工件放到焊接设备上,设备启动之前需要的时间,与工件的种类、工件的加工阶段有关,而加工时间则与工件的种类和此工件上分配的焊机数量有关。传输时间是将加工好的工件运
输到下一个阶段所需要的时间。
8.基于此,针对现有技术的需求,本发明提供了一种基于改进海鸥算法的多目标分布式焊接车间调度排产方法,通过对调度排产方案的优化,解决工件在不同工厂下存在的焊机利用率低、加工时间长而使得效率无法最大化的问题。
9.为了实现上述的技术特征,本发明的目的是这样实现的:一种基于改进海鸥算法的多目标分布式焊接车间调度排产方法,所述方法包括以下步骤:
10.step1:设置输入参数,并利用neh2算法初始化海鸥种群;
11.step2:计算海鸥种群的每个个体当前位置;
12.step3:根据最佳海鸥计算海鸥种群其它个体的新位置;
13.step4:计算每个海鸥的攻击位置;
14.step5:基于帕累托思想进行排序分层,计算出每层中海鸥个体的拥挤距离,然后根据海鸥个体的拥挤度,去掉部分拥挤度高的个体;
15.step6:在海鸥个体中找到焊接机器矩阵的关键路径并更新优先度机器矩阵;
16.step7:判断算法是否达到了终止条件,是则输出求解问题的非支配解,否则转step3。
17.所述step1具体过程为:
18.输入初始化参数,所述初始化参数包括加工时间矩阵,准备时间矩阵,传输时间矩阵,焊接机器焊接工件在不同阶段的负载向量,焊机加工数量的上下界和工厂编号向量数据;
19.根据输入的初始化参数采用neh2算法初始化海鸥种群。
20.所述step2具体过程为:
21.提出的多目标海鸥优化算法具有参数少和易编码的特点,该算法将海鸥群中的海鸥,依据不同职责分工划分为最优海鸥和普通海鸥,然后根据海鸥的生物行为,抽象出海鸥捕猎和迁徙这两种智能行为以及最优海鸥诞生规则;
22.初始化完成后对种群求解,再根据帕累托排序思想对种群分层,选择最优海鸥,剩余的视为普通海鸥,进行这些海鸥会开始游走搜索“猎物”,最优海鸥选择方法如下:
23.1)如果解集中只有一个层次,则从这一层次中随机选取最优海鸥;
24.2)如果解集中分为两个或者两个以上层次,第一层中选择一个个体作为最佳海鸥,整个集合中其它个体都为普通海鸥。
25.所述step3具体过程为:
26.模拟海鸥迁徙动作,抽象为在解空间中寻求非支配解,并且在此动作必须满足以下约束:
27.1)避免海鸥之间的碰撞:
28.为了避免海鸥之间位置重叠,添加一个额外变量a用于更新海鸥的新位置,计算公式如式(1):
29.cs(t)=a
×
ps(t)
30.a=f
c-(t
×
(fc/max
t
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
31.其中:t代表当前迭代次数;a表示海鸥在搜索空间里的运动方式;fc用于控制a的频率范围;max
t
表示最大迭代次数;
32.2)计算朝向最佳海鸥的方向:
33.海鸥会基于当前迭代次数计算自己朝向最佳海鸥的方向,如公式(2)和(3)所示:
[0034][0035]
b=2
×
a2×
rdꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0036]
其中:t当前的迭代次数;p
bs
(t)表示此迭代次数下的最优海鸥的位置;ms(t)表示最佳海鸥方向,此时会对函数值向下取整处理;rd为[0,1]间的随机数;ps(t)代表当前迭代次数下的位置;b表示随机数;
[0037]
3)向最佳位置移动:
[0038]
当选定海鸥的位置与其它海鸥不会相撞时,为了达到最新位置,海鸥会沿着最佳海鸥靠近:
[0039]
cs(t)=a
×
ps(t);
[0040]
ds(t)=|ms(t) cs(t)|
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0041]
其中:ds(t)表示当前迭代次数下的新位置;cs(t)表示更新后的位置。
[0042]
所述step4具体过程为:
[0043]
模拟海鸥通过螺旋运动的方式捕食猎物,抽象为在非支配解附近进行局部搜索,它们在三维平面上的运动轨迹用以下公式(5)、(6)、(7)和(8)表示:
[0044]
x=r
×
sink
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0045]
y=r
×
cosk
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0046]
z=r
×kꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0047]
r=u
×ek
×vꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0048]
其中:x,y,z分别代表工件向量,工厂向量,机器矩阵,r代表海鸥的攻击半径;u、v用于控制半径大小,k为[0,2π]中的一个随机值;并利用公式(5)-(8)来计算海鸥的攻击位置,后续利用概率公式将连续问题离散化。
[0049]
所述step5具体过程为:
[0050]
先初始化种群p0,依次计算出每个种群个体的多目标值并记录,利用帕累托思想,将种群p0中的所有非支配个体保存在一个集合s0中,然后忽略这个集合中的个体,在p0余下个体继续上述操作,直到整个种群分层完成;
[0051]
接下来在同一层次的个体中比较它们的拥挤距离,然后去掉拥挤距离度高的个体,计算步骤如下:
[0052]
1)将帕累托前沿面两端点的拥挤度记为正无穷大∞,对于不在两端的点,其拥挤距离与相邻点有关;
[0053]
2)对同一层的点,沿x,y轴方向作垂线得到一个面积,此面积与左右相邻点得到面积的对称差集;
[0054]
3)依次以三个点为一组遍历所有组,保留对称差集大的点,不够组成一组的点也进行保留。
[0055]
所述step6具体过程为:
[0056]
由实际的焊接问题可知,一个工件可以由多台焊机进行加工,这样可以减少工件的加工时间,从而影响最大完工时间,但这会与减少机器负载的目标相矛盾;因此需要一种能同时减少最大完工时间和焊机数量的方法;进而提出的分配矩阵策略来解决上述问题,
分配矩阵策略步骤分为两步:
[0057]
1)将工件序列和阶段序列转换成activity on edge network网图结构,其中,边代表加工时间,图结点记录工件在那个阶段数上,图结点的后续结点记录此工件的下一个阶段和此阶段的下一个工件;源点为第一个阶段的第一个工件,终点为最后一个阶段的最后一个工件。
[0058]
2)得到activity on edge network网图后,利用拓扑排序得到此种序列的关键路径权重矩阵,关键路径权重矩阵与第一步得到的activity on edge network网图元素位置一一对应;将非关键路径上的点置为0,关键路径上的点由重合点的次数决定;具体体现在:有些情况下activity on edge network网图结构具有多条关键路径,增加多条关键路径重合点的权重值,比如重合了3次,则这个位置的矩阵元素为3,如果没重合则为1。
[0059]
所述离散化具体过程为:
[0060]
利用下方转换公式,将变量控制到[0,1]区间内;
[0061]
其中:分别代表海鸥个体中x,y,z的三个向量,t代表当前迭代次数;
[0062][0063]
再根据概率公式,获得每个x

,y

,z

向量的(0,1)编码值;
[0064][0065][0066][0067]
最后根据获得的变量并利用如下公式来计算海鸥的攻击位置:
[0068][0069][0070][0071]
式中:t
(w)
用于将x,y,z变量控制到(0,1)区间中的函数;e表示自然常数;rd表示生成的(0,1)区间随机数。
[0072]
本发明有如下有益效果:
[0073]
在考虑最小化最大完工时间的基础上,同时兼顾机器数量足够少即机器负载足够小,而应用于实际焊接中,对一组工件加工会提供多种加工方案,在加工排产时综合考虑各种因素从这些排产方案中选择一种合理的调度方案,这种调度方案既能使加工工件的完工时间最小,又能在一定程度上减少机器负载,减少加工等待时间和生产成本,进而提高企业竞争力。
附图说明
[0074]
下面结合附图和实施例对本发明作进一步说明。
[0075]
图1一种基于改进海鸥算法的多目标分布式焊接车间调度方法流程图。
[0076]
图2分布式焊接车间工件分配。
[0077]
图3第一种不同加工序列下的甘特图。
[0078]
图4第二种不同加工序列下的甘特图。
[0079]
图5计算c与左边b的拥挤度。
[0080]
图6计算c与右边d的拥挤度。
[0081]
图7关键路径案例图。
[0082]
图8关键路径上加工时间缩短对makespan的影响。
[0083]
图9多条关键路径案例图。
具体实施方式
[0084]
下面结合附图对本发明的实施方式做进一步的说明。
[0085]
参见图1-9,首先,为方便说明,先对本实例中引入的如下符号作统一的如下表的说明:
[0086]
模型假设:
[0087]
考虑到实际问题的特点和问题可处理性,对问题做如下合理假定:
[0088]
1)在任意工厂中都可以完成任意工件的加工;
[0089]
2)一个工件被分配到某工厂后,不能更换加工工厂;
[0090]
3)机器开始加工以后,不能发生中断;
[0091]
4)一个工件在同一时间只能在一个工厂的一台机器上进行加工,一台机器在同一时间也只能加工一个工件;
[0092]
5)工厂中所有的机器间的缓冲区的容量都无限大;
[0093]
6)工件分配的焊机数量具有上界和下界;
[0094]
7)不同工件之间不存在优先级差别,且保持相互独立;
[0095]
8)设备从零时刻开始加工,同时保证设备处于空闲状态;
[0096]
9)所有工件以相同的顺序流经各个工序;
[0097]
10)需要考虑不同工序的准备时间、传输时间,且时间不可调整;
[0098]
11)各工序所使用焊机的额定工作效率相同且保持不变,各工件的焊接加工时间为一个确定闭区间的离散值;
[0099]
符号定义:
[0100][0101][0102]
调度模型:
[0103]
本发明研究的多目标分布式焊接调度问题是指:为每个工件分配使用的焊机和加工工厂,并安排每个工厂上工件序列的加工顺序,确定工件的开始时间、完工时间和加工时分配焊接的数量,使得整个工序的最大完工时间和机器负载尽可能最小。
[0104]
f1=minc
max
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0105][0106]ni,j,k
≥1 i∈{1,2,...,m},j∈{1,2,...,n},k∈{1,2,...,l}
ꢀꢀꢀꢀ
(11)
[0107]ni,j,k
≤nl
i,j,k
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0108]si,j,k
≥st
i,j,k i∈{1,2,...,m},j∈{1,2,...,n},k∈{1,2,...,l}
ꢀꢀꢀꢀ
(13)
[0109]si,j,k
≥t
i,j,k i∈{1,2,...,m},j∈{1,2,...,n},k∈{1,2,...,l}
ꢀꢀꢀꢀ
(14)s
i,j,k
≥si′
,j,k
p

i,j,k
t
i,j,k
i,i

∈{1,2,...,m}i

=i-1
ꢀꢀꢀꢀ
(15)
[0110]si,j,k
≥s
i,j

,k
p

i,j,k
st
i,j,k
j,j

∈{1,2,...,n}j

=j-1
ꢀꢀꢀꢀ
(16)
[0111]cmax
≥s
i,j,k
p

i,j,k
t
i,j,k
ꢀꢀꢀꢀꢀ
(17)
[0112]
其中:式(9)为调度的最大完工时间优化目标;式(10)是机器负载优化目标;式(11)和(12)是焊接机器分配约束,表示车间内每个阶段上每个工件分配的焊机只能在一个区间内;式(13)和(14)是时间约束,表示工件未被传输到机器上不能开始加工且焊机未准备完成时也不能加工;式(15)用于确保每个工件的上一道工序完成后才能加工;式(16)确保每个工件的上一个工件加工完后才能加工;式(17)最大完工时间是最后一个工件加工完并传输的时间。
[0113]

编码与解码
[0114]
根据所研究的多目标分布式焊接车间的调度问题可知,应用连续问题编码方式的海鸥算法求解离散组合优化问题较困难,因此,根据实际问题采用十进制编码方式,即将加工的工件序号用一个十进制整数表示,构成一个十进制序列(x
i1
1,x
i2
2...x
ij
k...x
im
n)表示,也就是多目标海鸥优化算法(mosoa)中每一只海鸥的位置;其中i,j=1,2,...,m;n代表工件数量,m表示工厂序号的数量;当采用该编码方式时,求解的难点在于如何处理模型中的工件、焊接机器分配和工件次序问题;在算法中,每个编码位,即工件都设置三个变量,一个存储当前所分配的工件编号,另一个存储该工件被分配到的工厂,最后一个储存焊机分配矩阵,工件在机器上加工顺序通过十进制序列从左到右的先后次序来表示。
[0115]
解码策略分为以下3步:
[0116]
step1,把工件按照排列的先后顺序得到工件的加工次序;
[0117]
step2,由分配工厂序列得到工件序列对应位置的工厂;
[0118]
step3,由分配机器矩阵得到工件序列对应分配的机器矩阵;
[0119]
以2个工厂5个工件5个阶段为例,解的编码与解码如下表1所示:
[0120]
π=[5,2,1,4,3]代表工件的加工顺序,a=[2,1,2,2,1]代表工厂分配,工件5和工件1、工件4分配到工厂2,工件2和工件3分配到工厂1;矩阵n中代表每个阶段上每个工件需要分配的焊接机器;比如n
11
=2代表工件1在阶段1上分配2个焊机。
[0121]
π1=[5,2,1,4,3]
[0122]
a=[2,1,2,1,1]
[0123][0124]
表1个体π1的编码解码方法
[0125][0126]
加工分配焊机
[0127][0128]

初始化种群
[0129]
为了提高解的质量,这里初始化种群时并非随机初始化,而是采用neh2方法初始化部分种群,其余种群采用随机初始化,neh2算法步骤:先将工件由加工时间大小逆序排序生成一个十进制序列,然后在第一个工件编码位上在可用工厂集合中随机选择一个工厂,接着将第二个插入其它工厂的任意位置,使其工厂的最大完工时间最小,依次类推,将所有工件插入到相对应的工厂中;初始化完成后对种群根据求解的双目标进行帕累托排序分层,选择最优海鸥,剩余的视为普通海鸥,进行游走搜索“猎物”;最优海鸥选择方法如下:
[0130]
1)如果解集中只有一个层次,则从这一个层次中随机选取最佳海鸥;
[0131]
2)如果解集中分为两个或者两个以上层次,第一层中选择一个个体作为最佳海鸥,整个集合中其它个体都为普通海鸥;
[0132]

个体适应度
[0133]
计算目标函数,并进行帕累托非支配排序,计算各个海鸥的拥挤距离,去掉拥挤度高的个体。先初始化种群p0,依次计算出每个种群个体的多目标值并记录,利用帕累托思想,将种群p0中的所有非支配个体保存在一个集合s0中,然后忽略这个集合中的个体,在p0余下个体继续上述操作,直到整个种群分层完成。接下来在同一层次的个体中比较它们的拥挤距离,然后去掉拥挤距离度高的个体。计算步骤如下:
[0134]
1)这里将帕累托前沿面两端边界的点的拥挤度记为∞,对于不在两端的点,其拥挤距离与相邻点有关;
[0135]
2)对同一层的点,沿x,y轴方向作垂线得到一个面积,此面积与左右相邻点得到面积的对称差集;
[0136]
3)依次以三个点为一组遍历所有组,保留对称差集大的点,不够组成一组的点也进行保留。
[0137]
如下图5图6所示f1和f2分别为问题的两个目标函数,点集{a,b,c,d,e}分别代表五个同层次的解,以点c为例:
[0138]
按照计算步骤3)所示,c点先和左边点b进行计算拥挤距离,距离大小即为图5中阴影面积的大小记为s1。
[0139]
同理可得c点再与右边点d进行拥挤距离运算,得到新的阴影面积s2。
[0140]
比较s1与s2的大小可知,s2》s1,则说明s2的拥挤距离更大故保留。
[0141]

其它海鸥向最佳海鸥迁移策略
[0142]
因为猎物的地点不能提前预知,一般情况下认为最优海鸥是最接近于非支配解的;因此其它海鸥会向最优海鸥靠近;本方法提出了一种适合求解所研究调度问题的游走运动算子,其包含迁移和攻击两种操作。
[0143]
针对工件的编码部分,从排列中随机选择一个元素,应用如下迁移搜索策略:
[0144]
cs(t)=a
×
ps(t);
[0145]
a=f
c-(t
×
(fc/max
t
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(18)
[0146][0147]
b=2
×
a2×
rdꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(20)
[0148]
ds(t)=|ms(t) cs(t)|
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(21)
[0149]
其中:t当前的迭代次数;p
bs
(t)表示此迭代次数下的最优位置;ms(t)表示最佳海鸥方向,此时会对函数值向下取整处理,此时会对右方函数值向下取整处理;rd为[0,1]间的随机数;ds(t)表示当前迭代次数下的新位置;ps(t)代表当前操作的海鸥。
[0150]
shift(x,d)表示的意思是x元素向右( )或者向左(-)移动|d|个单位;如果在移动的过程中超过了个体的界限范围,则边界元素与反方向的元素相连;其中“rand”是随机生成的[0,1]数值,fc是控制元素,在该问题中,fc设置为1.0。表2详细阐述了该搜索过程。代表最优海鸥,代表其它海鸥。
[0151]
表2海鸥迁移策略
[0152][0153][0154]

海鸥的攻击策略
[0155]
相对于海鸥的迁徙行为,海鸥的攻击动作属于局部搜索,全局搜索虽然会得到近优解但是搜索收敛过慢且得到解的质量不高,而局部搜索可以提高解的质量但是会让解更容易陷入局部最优,海鸥的攻击策略可依照以下公式:
[0156]
x=r
×
sink
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(22)
[0157]
y=r
×
cosk
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(23)
[0158]
z=r
×kꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(24)
[0159]
r=u
×ek
×vꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(25)
[0160]
其中:x,y,z分别代表工件向量,工厂向量,机器矩阵,r代表海鸥的攻击半径;u、v用于控制半径大小,k为[0,2π]中的一个随机值。
[0161]
由于攻击方式公式适合连续问题,故需要离散化处理;利用下方转换公式,将变量控制到[0,1]区间内;
[0162]
其中:分别代表海鸥个体中x,y,z的三个向量,t代表当前迭代次数。
[0163][0164]
再根据概率公式(27)-(29),获得每个x

,y

,z

向量的(0,1)编码值如x

=[0,1,1,0,1]。
[0165][0166][0167][0168]
最后根据获得的变量并利用如下公式来计算海鸥的攻击位置:
[0169][0170][0171][0172]
其中,攻击位置的移动方式与之前提到的shift(x,d)一致。
[0173]

调整分配的焊接机器矩阵
[0174]
当种群迭代到一定次数时解接近收敛,此时可以利用先前得到的关键路径权重矩阵,开始调整分配机器矩阵,由于在关键路径上分配了机器,最大完工时间会减少。通常的做法在于将工件加工过程初始化为一种图结构关系,然后在这个图结构中找到任务加工的关键路径,通过减少关键路径上工块的长度来控制最大完工时间即增加在关键路径上的焊机减少非关键路径上的焊机。
[0175]
以图7为例:三个工件job1,job2,job3在阶段1,阶段2,阶段3上加工。同一种纹路代表同一个工件,方块中的数字代表此工件在此阶段的焊机加工数量,方块长度代表加工时间。而虚线方框包括的工件则组成了关键路径。当关键路径上阶段3的job3工件从一台焊机加工变成两台时,发现最大完工时间变短,然而非关键路径上阶段3的job2工件即使改变焊接机器也无法缩短最大完工时间,如图8所示。
[0176]
然而这种设计也存在一种缺陷,例如在实际生活中会出现加工过程存在多条关键路径,会导致即使在某条关键路径上增加了机器却无法减少最大完工时间。从图9可以看出,此加工过程中存在两条关键路径,即两个虚线包裹的关键块各组成一条关键路径,此时
即使增加阶段2上的job2工件上的焊机数量,最终的最大完工时间也没法改变。
[0177]
因此本方法提出一种基于重合关键路径的优先度矩阵策略,用于解决以上问题。步骤如下:
[0178]
1)初始化一个n行m列全0矩阵x。n代表阶段数,m代表工件数。
[0179]
2)找出整个加工过程中的全部关键路径序列。若未超过机器限制上界则将矩阵对应位置的数值加1。
[0180]
3)矩阵对应位置的值越大,则它对应的关键路径越重要,增加焊机的优先度越高。
[0181]
4)每一次迭代后在分配焊接机器矩阵上,先将优先度最高位置上的焊接机器增加一个机器,对位置为0的地方减少一个焊接机器。
[0182]
5)迭代完成后,重新生成图结构,并更新优先度矩阵。
[0183]
为了容易理解上方步骤,以下方一个具体案例来解释说明。
[0184]
以图9为例,可以按照优先度矩阵策略分析出两个矩阵,分别是分配焊接机器矩阵a和优先度矩阵b。
[0185][0186]
a与b的行代表阶段,列代表工件。由b
23
=2可知,对应的a
23
元素需要加1。而对于a
21
或者a
31
则需要减一个机器。
[0187]

停止准则
[0188]
达到停止准则的要求时,输出帕累托解集,即工厂调度方案、工件加工顺序及焊接机器分配方案。
[0189]
领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
[0190]

算法实例对比
[0191]
以5工件2工厂3阶段为例,输入初始参数:
[0192]
π1=[1,2,3,4,5]
[0193]
f=[1,2]
[0194]
cost=[0.8,0.37,0.4]
[0195]
transfirst=[4,5,4,3,7]
[0196][0197][0198]
其中π1代表待加工工件,f代表工厂,processing代表加工时间矩阵,setupfirst
代表工件在阶段上的第一次准备时间矩阵,setuptime代表工件之间的准备时间矩阵,transfirst代表工件在阶段1的传输时间向量,transportationtime代表工件在加工完后的传输时间矩阵。cost为焊接机器焊接工件在不同阶段的负载向量。这里将每个阶段的最大焊机数量设置为[3,4,2],且焊机加工下界为1台。
[0199]
初始化随机值后利用未优化的海鸥算法和优化后的海鸥算法计算出最终解,得到部分非支配解的对比表3表4,如下所示:
[0200]
表3改进海鸥算法后对比效果表
[0201][0202]
表4改进海鸥算法后对比效果表
[0203][0204]
由上表可以看出,经过算法优化后的完工时间和机器负载值均得到有效减少,其中表3的最大完工时间减少了7.2%,机器负载减少了5.4%,而表4最大完工时间减少了10%,机器负载减少了3.5%,证明了本算法的有效性。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献