装配线平衡问题随机算例

武汉科技大学第六届数学建模竞赛

承 诺 书

我们仔细阅读了武汉科技大学第六届数学建模竞赛的竞赛细则。

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。

参赛队员 (手写签名) :

队员1:

队员2:

队员3:

武汉科技大学数学建模协会

武汉科技大学第六届数学建模竞赛

论 文

队员信息

监制: 武汉科技大学数学建模协会

题目:A 题:装配线平衡问题的随机算例生成

【摘 要】

装配线平衡问题是制造业和其它流水生产行业中的一类重要问题。目前针对这类问题已有较多有效的求解算法,但是算法的有效性检验主要依赖对标杆算例的求解。由于标杆算例的个数有限,所以检验的可靠性难以信服。我们希望对随机生成的大量实验数据进行求解,验证算法的有效性。

本文通过利用统计分析的方法,依据操作时间具有随机性与独立性,假设其满足统计分布规律中的正态分布,而对于操作间优先关系我们假设其满足均匀分布的规律。通过对于操作时间的随机性与操作优先关系间的随机性研究,在满足统计规律的条件下,随机生成装配线平衡问题中的操作时间数组和直接优先关系矩阵。

通过随机生成的装配线平衡问题的随机算例,可以增强对于给定算法有效性检验的可靠性。

关键字:装配线平衡 随机算例 正态分布 均匀分布 检验可靠性

一.问题重述

装配线平衡问题是制造业和其它流水生产行业中的一类重要问题。装配线平衡问题可描述为:给定一个存在优先关系的操作集合和一个工位集合,将操作分配至各个工位,要求每项操作只能被分配至一个工位,每个工位可包含多项操作,但其作业时间不能超出装配线的节拍,其主要目标是使得各个工位的工位时间达到平衡。 目前针对这类问题已有较多有效的求解算法,但是算法的有效性检验主要依赖对标杆算例的求解。由于标杆算例的个数有限,所以检验的可靠性难以信服。我们希望对随机生成的大量实验数据进行求解,验证算法的有效性。为了生成随机算例,你需要先随机生成算例中的基本参数,包含操作的个数,操作时间的最大、最小值和优先关系的个数,再依据操作时间的某种统计分布规律(自己可自由选用合适的统计规律,选用时需给出理由)和操作间优先关系的某个统计规律(同上),生成装配线平衡问题的操作时间数组和直接优先关系矩阵;最后根据所生成的直接优先关系矩阵,生成其优先关系矩阵。

所需要解决的问题如下:

(1)给出随机算例生成的理论依据,如所用统计规律的依据,所生成优先关系矩阵的可行性控制策略等;

(2)给出随机算例生成算法的一般步骤(语言描述,不能使用伪代码或者流程图形式);

(3)编写随机算例生成函数,就300项操作,200个优先关系生成一组随机算例,算例数据为操作时间数组、直接优先关系矩阵和优先关系矩阵。

二.问题假设与符号说明

1. 问题假设:

(1)任务时间是服从正态分布的随机分布。 (2)任务间操作的优先关系是服从均匀分布的。 (3)序号大的操作不可能是序号小的优先操作。

2. 符号说明: J:随机生成的操作个数

tmax:随机生成操作时间时的上限 tmin:随机生成操作时间时的下限 S:优先关系个数 P:直接优先关系矩阵 FY:优先关系矩阵

三.问题分析

为了生成随机算例,需要先随机生成算例中的基本参数,包含操作的个数,操作时间的最大、最小值和优先关系的个数及操作间的优先关系。

对于操作的个数及操作时间的最大值, 最小值及优先关系个数,可以同过随机数生成器生成。

对于各个操作的操作时间的分布,由于装配线上各个操作具有一定的相似性与独立性,则我们可以假定操作时间t 在最大值与最小值之间波动,其中期望为u=μ,方差为d=σ^2, t~N(μ,σ^2), 由数学变换可知,经过变换可将其变换为标准正态分布t~N (0,1), 通过生成时间随机数序列然后乘以时间上限tmax, 再从其中按序选出满足要求的时间组。

对于操作间的优先关系,可以同调整使得序号大的不可能成为序号小的优先操作,这样也可以使得操作间不会陷入死循环,保证其可行性。由于操作间关系具有随机性,可以通过均匀分布产生不重复随机数的方法来产生直接优先矩阵。再由直接优先矩阵生成优先矩阵。

例如记直接优先关系矩阵为P ,矩阵的元素可取值为0或1,当

P i , i '=1

时,表示操作i '为操作i 的直接优先操作,否则取 P i , i '=0。

记优先关系矩阵为Q ,矩阵的元素可取值为0或1,当Q i , i '=1时,表示操作i '为操作i 的直接优先操作,否则取 Q i , i '=0。

四.算法步骤

1. 利用随机数生成器随机生成给定范围一个操作数J.

2. 随机生成操作时间的最大值tmax 与最小值tmin ,检查最大值与最小值保证其有效性。

3. 由正态分布随机数生成器生成在一系列随机数,从中按序选出在最大值与最小值范围内的数,由此构成操作时间序列t 。

4. 通过均匀分布随机数生成器生成随机数组,由该随机数组指定操作间的直接优先关系,由此生成操作间直接优先关系矩阵P 。 5. 通过直接优先矩阵P , 逐步查找,生成优先关系矩阵FY 。

五.模型分析

本文分析的是如何随机生成的大量实验数据进行求解,验证装配线平衡算法的有效性并增加其可靠性。首先根据其随机性,对于操作个数J ,操作时间最大tmax ,最小值tmin, 可以通过随机数生成模型产生,根据对于操作时间t 与操作间直接优先关系P 的随机性分析,我们可以建立正态分布模型求解操作时间t 序列,建立均匀分布模型求解操作间关系P 。由P 则可得出操作间优先关系矩阵FY 。

通过最终生成的操作个数J, 操作时间序列t 及操作间直接优先关系矩阵P, 则可确定一个随机生成的算例。

六.模型建立与求解

根据所建立的数学模型,编写求解程序,运行即可得随机生成的算例。

例如:(任务数小于10时) 随机算例: 任务个数: J = 5

随机工作时间组: t =

12 4 10 20 1 优先关系个数: S = 6 直接优先矩阵: P =

0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0

优先关系矩阵: FY =

0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0

七.模型的应用

在对于解决装配线问题的算法进行分析时,可以通过控制随机数生成的范围,对生成的随机算例加以约束,由此生成符合条件的随机算例,通过随机算例来检验原算法的有效性,将更加可靠。

八.模型评价与总结

此模型考虑随机状态下,装配线流程的随机算例,一定程度上可以增加装配线平衡算法检验的可靠性。但是,由于未通过大量数据间的研究,无法准确判断操作时间服从的统计规律和操作之间的关系服从的统计规律,因此在应用时,还是存在一定的偏差。

九.参考文献

[1] 茆诗松《概率论与数理统计》 [2] 李德宜 李明 《数学建模》

[3] 黄卫平 张建 周支立 《随机型混合模式装配线平衡问题的集束搜索算法 西安交通大学

http://www.doc88.com/p-[1**********]31.html

[4] 苑清敏 李健《具有随机作业时间的装配线平衡方法》 天津理工学院 http://www.doc88.com/p-[1**********]9.html

附录:

函数程序代码:

%%随机生成算例

%%操作个数 J

%%操作时间最大值 tmax

%%操作时间最小值 tmin

%%优先关系个数 S

%%假设单个任务操作时间不超过20,任务个数不超过100

clc;

clear;

J=randint(1,1,[3,10]);

J=300;

disp('任务个数:');

J

tmax=randint(1,20,[0,20]);

tmax=max(tmax);

tmin=randint(1,20,[0,20]);

tmin=min(tmin);

if tmin==0

tmin=1;

end

if tmax

t=tmax;

tmax=tmin;

tmin=t;

if tmax==tmin

tmin=floor(tmax/2);

end

end

%%生成时间序列

J1=J;

t=randn(1,J)*tmax;

t=floor(t);

tnum=length(find(t>=tmin&t

J11=J1-2;

while tnum

J=J*J1;

t=randn(1,J)*tmax;

t=floor(t);

tnum=length(find(t>=tmin&t

end

tt=find(t>=tmin&t

time(i)=t(tt(i));

end

time(i+1)=tmin;

time(i+2)=tmax;

xulie=randperm(J1);

t=[];

for i=1:J1

t(i)=time(xulie(i));

end

disp('随机工作时间组:');

t

%%直接优先矩阵

ss=J1*(J1-1)/2;

S=randint(1,10,[1,ss]); %%优先关系个数

S=ceil(mean(S)); %%为防止优先关系个数过大或过小,多次取随机值求其均值

S=200;

disp('优先关系个数:');

S

pr=randperm(ss);

for j=1:J1-1

A(j)=j*(j+1)/2;

end

P=zeros(J1,J1);

for k=1:S

kk=[];

pr(k);

kk=find(A>=pr(k));

col=kk(1)+1;

col1=(col-1)*(col-2)/2;

row=pr(k)-col1;

P(row,col)=1;

end

P=P'; %%直接优先矩阵

disp('直接优先矩阵:');

P

%%优先矩阵生成

Y=P;

YF=zeros(J1,J1);

for i=2:J1

if ~any(Y(i,:))

continue;

else

place=[];

place=find(Y(i,:)~=0);

for k=1:length(place)

pz=find(YF(i,:)==0);

YF(i,pz(1))=place(k);

end

place=find(YF(i,:)~=0);

for j=1:length(place)

temp=Y(YF(i,place(j)),:);

tempp=find(temp~=0);

if length(tempp)~=0

pw=find(YF(i,:)==0);

for k=1:length(tempp)

if isempty(find(YF(i,:)==YF(YF(i,place(j)),k)))

YF(i,pw(1))=YF(YF(i,place(j)),k); end

end

end

end

end

end

FY=zeros(J1,J1);

for i=1:J1

if isempty(find(YF(i,:)~=0))

continue;

else

V=find(YF(i,:)~=0);

for j=1:length(V)

FY(i,YF(i,V(j)))=1;

end

end

end

disp('优先关系矩阵:');

FY

武汉科技大学第六届数学建模竞赛

承 诺 书

我们仔细阅读了武汉科技大学第六届数学建模竞赛的竞赛细则。

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。

参赛队员 (手写签名) :

队员1:

队员2:

队员3:

武汉科技大学数学建模协会

武汉科技大学第六届数学建模竞赛

论 文

队员信息

监制: 武汉科技大学数学建模协会

题目:A 题:装配线平衡问题的随机算例生成

【摘 要】

装配线平衡问题是制造业和其它流水生产行业中的一类重要问题。目前针对这类问题已有较多有效的求解算法,但是算法的有效性检验主要依赖对标杆算例的求解。由于标杆算例的个数有限,所以检验的可靠性难以信服。我们希望对随机生成的大量实验数据进行求解,验证算法的有效性。

本文通过利用统计分析的方法,依据操作时间具有随机性与独立性,假设其满足统计分布规律中的正态分布,而对于操作间优先关系我们假设其满足均匀分布的规律。通过对于操作时间的随机性与操作优先关系间的随机性研究,在满足统计规律的条件下,随机生成装配线平衡问题中的操作时间数组和直接优先关系矩阵。

通过随机生成的装配线平衡问题的随机算例,可以增强对于给定算法有效性检验的可靠性。

关键字:装配线平衡 随机算例 正态分布 均匀分布 检验可靠性

一.问题重述

装配线平衡问题是制造业和其它流水生产行业中的一类重要问题。装配线平衡问题可描述为:给定一个存在优先关系的操作集合和一个工位集合,将操作分配至各个工位,要求每项操作只能被分配至一个工位,每个工位可包含多项操作,但其作业时间不能超出装配线的节拍,其主要目标是使得各个工位的工位时间达到平衡。 目前针对这类问题已有较多有效的求解算法,但是算法的有效性检验主要依赖对标杆算例的求解。由于标杆算例的个数有限,所以检验的可靠性难以信服。我们希望对随机生成的大量实验数据进行求解,验证算法的有效性。为了生成随机算例,你需要先随机生成算例中的基本参数,包含操作的个数,操作时间的最大、最小值和优先关系的个数,再依据操作时间的某种统计分布规律(自己可自由选用合适的统计规律,选用时需给出理由)和操作间优先关系的某个统计规律(同上),生成装配线平衡问题的操作时间数组和直接优先关系矩阵;最后根据所生成的直接优先关系矩阵,生成其优先关系矩阵。

所需要解决的问题如下:

(1)给出随机算例生成的理论依据,如所用统计规律的依据,所生成优先关系矩阵的可行性控制策略等;

(2)给出随机算例生成算法的一般步骤(语言描述,不能使用伪代码或者流程图形式);

(3)编写随机算例生成函数,就300项操作,200个优先关系生成一组随机算例,算例数据为操作时间数组、直接优先关系矩阵和优先关系矩阵。

二.问题假设与符号说明

1. 问题假设:

(1)任务时间是服从正态分布的随机分布。 (2)任务间操作的优先关系是服从均匀分布的。 (3)序号大的操作不可能是序号小的优先操作。

2. 符号说明: J:随机生成的操作个数

tmax:随机生成操作时间时的上限 tmin:随机生成操作时间时的下限 S:优先关系个数 P:直接优先关系矩阵 FY:优先关系矩阵

三.问题分析

为了生成随机算例,需要先随机生成算例中的基本参数,包含操作的个数,操作时间的最大、最小值和优先关系的个数及操作间的优先关系。

对于操作的个数及操作时间的最大值, 最小值及优先关系个数,可以同过随机数生成器生成。

对于各个操作的操作时间的分布,由于装配线上各个操作具有一定的相似性与独立性,则我们可以假定操作时间t 在最大值与最小值之间波动,其中期望为u=μ,方差为d=σ^2, t~N(μ,σ^2), 由数学变换可知,经过变换可将其变换为标准正态分布t~N (0,1), 通过生成时间随机数序列然后乘以时间上限tmax, 再从其中按序选出满足要求的时间组。

对于操作间的优先关系,可以同调整使得序号大的不可能成为序号小的优先操作,这样也可以使得操作间不会陷入死循环,保证其可行性。由于操作间关系具有随机性,可以通过均匀分布产生不重复随机数的方法来产生直接优先矩阵。再由直接优先矩阵生成优先矩阵。

例如记直接优先关系矩阵为P ,矩阵的元素可取值为0或1,当

P i , i '=1

时,表示操作i '为操作i 的直接优先操作,否则取 P i , i '=0。

记优先关系矩阵为Q ,矩阵的元素可取值为0或1,当Q i , i '=1时,表示操作i '为操作i 的直接优先操作,否则取 Q i , i '=0。

四.算法步骤

1. 利用随机数生成器随机生成给定范围一个操作数J.

2. 随机生成操作时间的最大值tmax 与最小值tmin ,检查最大值与最小值保证其有效性。

3. 由正态分布随机数生成器生成在一系列随机数,从中按序选出在最大值与最小值范围内的数,由此构成操作时间序列t 。

4. 通过均匀分布随机数生成器生成随机数组,由该随机数组指定操作间的直接优先关系,由此生成操作间直接优先关系矩阵P 。 5. 通过直接优先矩阵P , 逐步查找,生成优先关系矩阵FY 。

五.模型分析

本文分析的是如何随机生成的大量实验数据进行求解,验证装配线平衡算法的有效性并增加其可靠性。首先根据其随机性,对于操作个数J ,操作时间最大tmax ,最小值tmin, 可以通过随机数生成模型产生,根据对于操作时间t 与操作间直接优先关系P 的随机性分析,我们可以建立正态分布模型求解操作时间t 序列,建立均匀分布模型求解操作间关系P 。由P 则可得出操作间优先关系矩阵FY 。

通过最终生成的操作个数J, 操作时间序列t 及操作间直接优先关系矩阵P, 则可确定一个随机生成的算例。

六.模型建立与求解

根据所建立的数学模型,编写求解程序,运行即可得随机生成的算例。

例如:(任务数小于10时) 随机算例: 任务个数: J = 5

随机工作时间组: t =

12 4 10 20 1 优先关系个数: S = 6 直接优先矩阵: P =

0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0

优先关系矩阵: FY =

0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0

七.模型的应用

在对于解决装配线问题的算法进行分析时,可以通过控制随机数生成的范围,对生成的随机算例加以约束,由此生成符合条件的随机算例,通过随机算例来检验原算法的有效性,将更加可靠。

八.模型评价与总结

此模型考虑随机状态下,装配线流程的随机算例,一定程度上可以增加装配线平衡算法检验的可靠性。但是,由于未通过大量数据间的研究,无法准确判断操作时间服从的统计规律和操作之间的关系服从的统计规律,因此在应用时,还是存在一定的偏差。

九.参考文献

[1] 茆诗松《概率论与数理统计》 [2] 李德宜 李明 《数学建模》

[3] 黄卫平 张建 周支立 《随机型混合模式装配线平衡问题的集束搜索算法 西安交通大学

http://www.doc88.com/p-[1**********]31.html

[4] 苑清敏 李健《具有随机作业时间的装配线平衡方法》 天津理工学院 http://www.doc88.com/p-[1**********]9.html

附录:

函数程序代码:

%%随机生成算例

%%操作个数 J

%%操作时间最大值 tmax

%%操作时间最小值 tmin

%%优先关系个数 S

%%假设单个任务操作时间不超过20,任务个数不超过100

clc;

clear;

J=randint(1,1,[3,10]);

J=300;

disp('任务个数:');

J

tmax=randint(1,20,[0,20]);

tmax=max(tmax);

tmin=randint(1,20,[0,20]);

tmin=min(tmin);

if tmin==0

tmin=1;

end

if tmax

t=tmax;

tmax=tmin;

tmin=t;

if tmax==tmin

tmin=floor(tmax/2);

end

end

%%生成时间序列

J1=J;

t=randn(1,J)*tmax;

t=floor(t);

tnum=length(find(t>=tmin&t

J11=J1-2;

while tnum

J=J*J1;

t=randn(1,J)*tmax;

t=floor(t);

tnum=length(find(t>=tmin&t

end

tt=find(t>=tmin&t

time(i)=t(tt(i));

end

time(i+1)=tmin;

time(i+2)=tmax;

xulie=randperm(J1);

t=[];

for i=1:J1

t(i)=time(xulie(i));

end

disp('随机工作时间组:');

t

%%直接优先矩阵

ss=J1*(J1-1)/2;

S=randint(1,10,[1,ss]); %%优先关系个数

S=ceil(mean(S)); %%为防止优先关系个数过大或过小,多次取随机值求其均值

S=200;

disp('优先关系个数:');

S

pr=randperm(ss);

for j=1:J1-1

A(j)=j*(j+1)/2;

end

P=zeros(J1,J1);

for k=1:S

kk=[];

pr(k);

kk=find(A>=pr(k));

col=kk(1)+1;

col1=(col-1)*(col-2)/2;

row=pr(k)-col1;

P(row,col)=1;

end

P=P'; %%直接优先矩阵

disp('直接优先矩阵:');

P

%%优先矩阵生成

Y=P;

YF=zeros(J1,J1);

for i=2:J1

if ~any(Y(i,:))

continue;

else

place=[];

place=find(Y(i,:)~=0);

for k=1:length(place)

pz=find(YF(i,:)==0);

YF(i,pz(1))=place(k);

end

place=find(YF(i,:)~=0);

for j=1:length(place)

temp=Y(YF(i,place(j)),:);

tempp=find(temp~=0);

if length(tempp)~=0

pw=find(YF(i,:)==0);

for k=1:length(tempp)

if isempty(find(YF(i,:)==YF(YF(i,place(j)),k)))

YF(i,pw(1))=YF(YF(i,place(j)),k); end

end

end

end

end

end

FY=zeros(J1,J1);

for i=1:J1

if isempty(find(YF(i,:)~=0))

continue;

else

V=find(YF(i,:)~=0);

for j=1:length(V)

FY(i,YF(i,V(j)))=1;

end

end

end

disp('优先关系矩阵:');

FY


相关文章

  • 基于脉动式生产线的cubesat总装 1
  • 学生姓名:学生学号:院(系):指导教师: 基于脉动式生产线的 CubeSat总装过程研究 朱蓬勃 王宁宇 韩睿 贾雯娜 池雨灿 张丰 1132130116 1131820208 1130410522 1131820206 113182022 ...查看


  • 装配钳工高级理论知识练习卷
  • 装配钳工高级理论知识练习卷(一) 一.单项选择(第1题-第70题.选择一个正确的答案,将相应的字母填入题内的括号中.每题1分,满分70分.) 1. 职业道德的实质内容是( ) . A.改善个人生活 B.增加社会的财富 C.树立全新的社会主义 ...查看


  • 6MW 汽轮机技术规范书
  • 目 录 总述 1 设备运行与环境条件 1 主要技术参数 3 技术要求 保证值 汽轮机主要数据汇总表 附件 附件一.供货范围 附件二.图纸资料及交付进度 附件三.监造(检验)和性能验收试验 附件四.技术服务和联络 3 14 15 17 17 ...查看


  • 实训报告之数控机床装配工艺流程
  • 目 录 前 言..................................................................................................1 第1章 实习公司简介... ...查看


  • 机械制造工艺学(简答,名词解释)
  • 滚齿和插齿的区别:滚齿的运动精度高,插齿的齿形精度高,滚齿的生产率高,但模数小,齿圈薄的小齿轮,插齿效率高,滚齿通用性好,但按展成法加工齿轮距离较近的多联齿轮以及内齿轮,人字齿轮,齿轮带凸台齿轮只能用插齿加工 齿形加工方法:成形法,铣齿,拉 ...查看


  • 生产管理的分析方法
  • 生产管理的分析方法 伯法认为,管理科学中用到的关于生产和业务管理中的各种分析方法,不外是在遵循科学方法的基础上利用各种模型,并且以这些模型来表示所研究的系统整体或某些分支部分. 在分析各个领域中的问题时,首先需确定研究的系统边界,这样才能划 ...查看


  • 机械通用零部件装配技术要求
  • 机械通用零部件装配技术要求 机械装配技术要求 1.基本要求 1.1 必须按照设计.工艺要求及本规定和有关标准进行装配. 1.2 装配环境必须清洁.高精度产品的装配环境温度.湿度.防尘量.照明防震等必须符合有关规定. 1.3 所有零部件(包括 ...查看


  • 生产系统仿真实验实验指导书
  • 生产系统仿真实验 实验指导书 江思定 编写 浙江科技学院经济管理学院管理科学与工程系 2008年7月 生产系统仿真实验指导书 Instruction of production system emulation experiment 一.实 ...查看


  • 2013.3安全问卷调查报告
  • 2013年企业安全问卷调查结果报告 为了深入了解工人及管理人员对安全生产的态度,安全意识到达怎么一个程度和生产中有哪些安全隐患等情况,安全环保室在行政人事部和生产制造部的大力配合下,对海克机床部分员工进行了一次安全问卷调查.通过这种方式,有 ...查看


热门内容