云制造环境下的机械加工服务优选方法技术领域
本发明涉及一种信息优化处理方法,具体为云制造环境下的机械加工服务优选方
法。
背景技术
云制造是以云计算为代表的新一代信息技术与制造业相融合的基础上形成的一
种新型的网络化制造模式。它通过对现有网络化制造与服务技术等进行延伸和变革,将各
类制造资源等虚拟化、服务化,并进行统一的、集中的智能化管理和经营,通过网络为制造
全生命周期过程(设计、仿真、加工、试验、维护、销售、采购、管理)提供可随时获取的、按需
使用的、安全可靠的、优质廉价的各类制造服务。云制造模式是实现“互联网+制造”模式的
一种实现方式,是实现产业转型升级的重要方向。
为了实现云制造这种新的制造模式,有诸多关键技术需要解决。其中,制造服务的
优选是实现云环境中各种服务优化配合的技术,直接决定了相关制造服务能否按需获取、
最优获取。而目前网络化制造技术主要解决的是资源分配和优化组合,并且是以固定数量
的资源或既定的解决方案为用户提供服务。这种方法一方面缺乏动态性,另一方面,当前网
络化制造中以“资源”的视角去优化选择,未从“服务”的角度去优化选择,并不能适用于云
制造环境下的制造服务优选。
发明内容
针对上述技术问题,本发明提供一种基于粒子群算法的机械加工服务优选方法,
实现机械加工服务优选和现有云制造领域缺乏支持机械加工服务的优选的技术问题。
具体的技术方案为:
云制造环境下的机械加工服务优选方法,包括以下步骤:
步骤1:分解客户提交的总任务为多个连续子任务,并罗列每个加工子任务对应的
候选机械加工服务方;
步骤2:构建机械加工服务的总时间,包括客户提交加工任务到第一个机加工服务
方的时间、每个子任务加工时间、上个子任务与下个子任务的物流时间和最后一个机加工
服务方将加工后的产品交付给客户的时间,表示如下:
f(t)=f(tt)+f(ts)
f ( t s ) = Σ i = 1 m Σ j = 1 n i x i j t ( i j ) ]]>
f ( t t ) = α Σ j = 1 n 1 x 1 j t ( 0 j ) + Σ i = 1 m - 1 Σ j = 1 n i Σ k = 1 n i + 1 x i j ( i + 1 ) k t ( i j , ( i + 1 ) k ) + Σ j = 1 n m β m j t ( m j ) ]]>
上式为总服务时间目标函数,包括物流时间f(tt)和服务时间f(ts);其中,决策变
量α表示客户到任意服务方是否存在物流,其值定义如下:
决策变量表示第m个任务中的第nm个服务方是否被选择,其值定义如下:
xij表示第i个任务的第j个服务方是否被选中,其值定义如下:
xij,(i+1)k表示第ij个服务方到第i+1,k个服务方是否选中,表示其值定义如下:
步骤3:构建机械加工服务的总费用,包括客户提交加工任务到第一个机加工服务
方的物流费用,每个子任务加工费用,上个子任务与下个子任务的物流费用和最后一个机
加工服务方将加工后的产品交付给客户的物流费用,表示如下:
f(c)=f(ct)+f(cs)
f ( c s ) = Σ i = 1 m Σ j = 1 n i x i j c ( i j ) ]]>
f ( c t ) = α Σ j = 1 n 1 x 1 j c ( 0 j ) + Σ i = 1 m - 1 Σ j = 1 n i Σ k = 1 n i + 1 x i j ( i + 1 ) k c ( i j , ( i + 1 ) k ) + Σ j = 1 m i β mn m c ( m j ) ]]>
上式为总服务成本目标函数,包括物流成本f(ct)和服务成本f(cs);其中,决策变
量α、xij、xij,(i+1)k与总服务时间目标函数中的定义一样;
步骤4:构建机械加工服务的总合格率,即每个机加工服务方承诺的合格率之和,
表示如下:
f ( q s ) = Σ i = 1 m Σ j = 1 n i x i j q ( i j ) ]]>
其中,q(ij)表示ij个候选服务方承诺的加工合格率;
步骤5:将上述三个优选目标构建为0-1整数规划模型,表示如下:
min f ( t ) = f ( t t ) + f ( t s ) min f ( c ) = f ( c t ) + f ( c s ) min ( 1 - f ( q ) ) ]]>
s . t . f ( t ) ≤ T max Σ j = 1 n i x i j = 1 Σ j = 1 n i Σ k = 1 n i + 1 x i j ( i + 1 ) k = 1 Σ j = 1 n m β mn m = 1 x i j = 0 o r 1 , i = 1 , 2 , ... , m ; j = 1 , 2 , ... , n i x i j ( i + 1 ) k = 0 o r 1 , k = 1 , 2 , ... n i + 1 β mn m = 0 o r 1 ]]>
步骤6:采用优先级法将上述包含总时间、总费用、总合格率的多目标函数转换为
单目标函数,表示如下:
Min1-f(q)
s . t . f ( t ) ≤ T m a x f ( t ) ≤ f t * f ( c ) ≤ f c * Σ j = 1 n i x i j = 1 Σ j = 1 n i Σ k = 1 n i + 1 x i j ( i + 1 ) k = 1 Σ j = 1 n m β mn m = 1 x i j = 0 o r 1 , i = 1 , 2 , ... , m ; j = 1 , 2 , ... , n i x i j ( i + 1 ) k = 0 o r 1 , k = 1 , 2 , ... n i + 1 α , β mn m = 0 o r 1 ]]>
其中,ft*表示求解minf(t)最优值,fc*表示求解minf(c)最优值;
步骤7:采用改进粒子群算法,求解上述模型。
所述的步骤7的具体步骤如下:
(1)初始化粒子群,包括以下过程:
(1.1)根据向量分段随机编码模式,设粒子群位置为N维向量,将问题状态空间转
换为粒子群位置空间,表示为:
X=[x11,x12,…x1n1,x21,x22,…x2n2,…xm1,xm2,…xmnm]
其中,表示所有服务方总数。将上述向量转换为分块向量表示:
X=[X1,X2,…Xm]
其中,
X 1 = [ x 11 , x 12 , ... x 1 n 1 ] X 2 = [ x 21 , x 22 , ... x 2 n 2 ] ... X m = [ x m 1 , x m 2 , ... x m n m ] ]]>
从X1,X2…Xm中分别选择其最大元素所在下标值,视为目标组合向量;
(1.2)定义粒子位置分量取值范围;
(1.3)定义种群规模;
(1.4)定义学习因子C1、C2,权重系数的开始值和结束值;
(1.5)定义最大迭代次数;
(2)初始化粒子位置和速度,表示为:p和v;
(3)根据粒子修正适应度函数对粒子群进行评价,其中粒子修正适应度函数表示
为:
Minφ(c,q,rt,rc)=1-f(q)+rc[max(f(c)-(f(c)+rt[max((f(t)-Tmax),0)]),0)]
(4)根据速度公式更新粒子速度和更新粒子位置,其中粒子速度和粒子位置更新
公式如下:
v i d t + 1 = w × v i d t + c 1 r 1 ( p i d t - x i d t ) + c 2 r 2 ( p g d t - x i d t ) ]]>
x i d t + 1 = x i d t + v i d t + 1 ]]>
w = w s t a r t - w s t a r t - w e n d t m a x × t ]]>
其中,w是权重系数,c1,c2是学习因子,一般取c1=c2=2;r1,r2是(0,1)的随机数;
wend取0.4;
(5)根据步骤(3)的粒子修正适应度函数对粒子群再进行评价;
(6)判断迭代终止条件,如果达到最大迭代次数则终止,否则返回步骤(4);
(7)根据计算结果,输出最佳粒子位置分量,解码,转换为候选服务编号。
本发明提供的云制造环境下的机械加工服务优选方法,改进粒子群算法,整合云
制造环境下跨地区的各种机械加工服务,为用户筛选出加工费用最低、加工周期最短、合格
率最高的最佳加工服务,为相关提供机械加工云制造服务的平台开发提供算法基础,实现
快速响应系统用户需求,改善用户体验度。
附图说明
图1为实施例机加工任务分解和候选机加工服务方关系图;
图2为实施例机械加工服务优选流程示意图;
图3为实施例优选机加工服务方求解算法流程图;
图4为实施例算法收敛图。
具体实施方式
结合实施例说明本发明的具体实施方式。具体基于Intel(R)Core(TM)2QuadCPU
Q800,2.33GHz,内存为2GB,window7的实验环境,过程为如图2所示:
步骤1:根据云制造环境下的机械加工服务特点,如图1所示,分解客户提交的总任
务为多个连续子任务,并罗列每个加工子任务对应的候选机械加工服务方,如下:
步骤2:根据云制造环境下的机械加工服务特点,构建机械加工服务的总时间,包
括客户提交加工任务到第一个机加工服务方的时间,每个子任务加工时间,上个子任务与
下个子任务的物流时间和最后一个机加工服务方将加工后的产品交付给客户的时间,表示
如下:
f(t)=f(tt)+f(ts)
f ( t s ) = Σ i = 1 m Σ j = 1 n i x i j t ( i j ) ]]>
f ( t t ) = α Σ j = 1 n 1 x 1 j t ( 0 j ) + Σ i = 1 m - 1 Σ j = 1 n i Σ k = 1 n i + 1 x i j ( i + 1 ) k t ( i j , ( i + 1 ) k ) + Σ j = 1 n m β m j t ( m j ) ]]>
上式为总服务时间目标函数,包括物流时间f(tt)和服务时间f(ts)。其中,决策变
量α表示客户到任意服务方是否存在物流,其值定义如下:
决策变量表示第m个任务中的第nm个服务方是否被选择,其值定义如下:
xij表示第i个任务的第j个服务方是否被选中,其值定义如下:
xij,(i+1)k表示第ij个服务方到第i+1,k个服务方是否选中,表示其值定义如下:
步骤3:根据云制造环境下的机械加工服务特点,类似的构建机械加工服务的总费
用,包括客户提交加工任务到第一个机加工服务方的物流费用,每个子任务加工费用,上个
子任务与下个子任务的物流费用和最后一个机加工服务方将加工后的产品交付给客户的
物流费用,表示如下:
f(c)=f(ct)+f(cs)
f ( c s ) = Σ i = 1 m Σ j = 1 n i x i j c ( i j ) ]]>
f ( c t ) = α Σ j = 1 n 1 x 1 j c ( 0 j ) + Σ i = 1 m - 1 Σ j = 1 n i Σ k = 1 n i + 1 x i j ( i + 1 ) k c ( i j , ( i + 1 ) k ) + Σ j = 1 m i β mn m c ( m j ) ]]>
上式为总服务成本目标函数,包括物流成本f(ct)和服务成本f(cs)。其中,决策变
量α、、xij、xij,(i+1)k与总服务时间目标函数中的定义一样。
步骤4:根据云制造环境下的机械加工服务特点,构建机械加工服务的总合格率,
即每个机加工服务方承诺的合格率之和,表示如下:
f ( q s ) = Σ i = 1 m Σ j = 1 n i x i j q ( i j ) ]]>
其中,q(ij)表示ij个候选服务方承诺的加工合格率。
步骤5:根据数学规划知识,将上述三个优选目标构建为0-1整数规划模型(BIP模
型),表示如下:
min f ( t ) = f ( t t ) + f ( t s ) min f ( c ) = f ( c t ) + f ( c s ) min ( 1 - f ( q ) ) ]]>
s . t . f ( t ) ≤ T max Σ j = 1 n i x i j = 1 Σ j = 1 n i Σ k = 1 n i + 1 x i j ( i + 1 ) k = 1 Σ j = 1 n m β mn m = 1 x i j = 0 o r 1 , i = 1 , 2 , ... , m ; j = 1 , 2 , ... , n i x i j ( i + 1 ) k = 0 o r 1 , k = 1 , 2 , ... n i + 1 β mn m = 0 o r 1 ]]>
步骤6:采用优先级法将上述包含总时间、总费用、总合格率的多目标函数转换为
单目标函数,表示如下:
Min1-f(q)
s . t . f ( t ) ≤ T m a x f ( t ) ≤ f t * f ( c ) ≤ f c * Σ j = 1 n i x i j = 1 Σ j = 1 n i Σ k = 1 n i + 1 x i j ( i + 1 ) k = 1 Σ j = 1 n m β mn m = 1 x i j = 0 o r 1 , i = 1 , 2 , ... , m ; j = 1 , 2 , ... , n i x i j ( i + 1 ) k = 0 o r 1 , k = 1 , 2 , ... n i + 1 α , β mn m = 0 o r 1 ]]>
其中,ft*表示求解minf(t)最优值,fc*表示求解minf(c)最优值。
步骤7:采用改进粒子群算法,如图3所示,求解上述模型具体步骤如下:
Step1:初始化粒子群
1.1根据本发明提出的向量分段随机编码模式,设粒子群位置为N维向量,将问题
状态空间转换为粒子群位置空间,表示为:
X=[x11,x12,…x1n1,x21,x22,…x2n2,…xm1,xm2,…xmnm]
其中,表示所有服务方总数。将上述向量转换为分块向量表示:
X=[X1,X2,…Xm]
其中,
X 1 = [ x 11 , x 12 , ... x 1 n 1 ] X 2 = [ x 21 , x 22 , ... x 2 n 2 ] ... X m = [ x m 1 , x m 2 , ... x m n m ] ]]>
从X1,X2…Xm中分别选择其最大元素所在下标值,视为目标组合向量。
1.2定义粒子位置分量取值范围;
1.3定义种群规模为30;
1.4定义学习因子C1=C2=2,wbegin取0.1,wend取0.4;
1.5定义最大迭代次数为50次。
Step2:初始化粒子位置和速度,表示为:p=1,v=1。
Step3:根据粒子修正适应度函数对粒子群进行评价,其中粒子修正适应度函数
表示为:
Minφ(c,q,rt,rc)=1-f(q)+rc[max(f(c)-(f(c)+rt[max((f(t)-Tmax),0)]),0)]
Step4:根据速度公式更新粒子速度和更新粒子位置,其中粒子速度和粒子位置
更新公式如下:
v i d t + 1 = w × v i d t + c 1 r 1 ( p i d t - x i d t ) + c 2 r 2 ( p g d t - x i d t ) ]]>
x i d t + 1 = x i d t + v i d t + 1 ]]>
w = w s t a r t - w s t a r t - w e n d t m a x × t ]]>
Step5:根据Step3的粒子修正适应度函数对粒子群再进行评价。
Step6:判断迭代终止条件,如果达到最大迭代次数则终止,否则,返回step4
Step7:根据计算结果,如图4所示,输出最佳粒子位置分量,解码,转换为候选服
务编号,即最优的服务方组合为:S14-S22-S31-S43-S53。