文档库 最新最全的文档下载
当前位置:文档库 › 基于遗传算法的装配序列规划_丁慧敏

基于遗传算法的装配序列规划_丁慧敏

基于遗传算法的装配序列规划_丁慧敏
基于遗传算法的装配序列规划_丁慧敏

基于遗传算法的装配序列规划

丁慧敏 李蓓智 周亚琴

(东华大学机械工程学院,上海,200051)

摘要 装配序列规划是面向并行工程的DFA 和C AAPP (Computer Aided Assembly Process Plan nin g )研究中的关键问题之一。介绍了遗传算法用于解决装配序列规划的优越性,建立了基于遗传算法的装配序列规划模型,探讨了装配序列编码方法以及遗传算子的设计,采用VC 6.0研发了相应的软件系统,测试结果表明将遗传算法用于规划装配序列大大提高了优化效果。关键词:装配序列规划,DFA ,C AAPP ,遗传算法,编码中图法分类号:TP 278

装配序列规划是指根据构成产品的零部件之间的组成及其约束关系自动生成符合工艺规范的产品装配序列。在面向并行工程的DFA 中,装配序列规划需要解决两个问题:首先是从装配图中获得对零部件的约束关系的描述文件,这种约束关系一般由约束图来表示;其次是从该描述文件中自动推理出切实可行的装配序列[1,2]。

一般来说,产生装配序列有两种思路:

(1)正向推理:从装配约束关系分析出零部件在装配序列中的优先级,在综合考虑后分析出装配序列,它的优点是目的明确,可减少盲目性,缺点是需要根据每一个装配图回答许多烦琐的交互性问题。

(2)反向推理:假定装配体存在,根据约束图逐一检查其中零件在各方向上的自由度,以便找出哪些零件可以在不受其他零部件约束的情况下沿某一方向移去,把移去序列倒序,便得到装配序列。

装配序列规划问题实际上是一个路径规划的优化问题。传统的方法是从约束图利用正向推理或反向推理来生成装配序列,一般来说,算法比较复杂,需要涉及大量的几何计算与交互式的推理过程,另外,算法的复杂性也决定了结果的有限性,因为它只能推导出一种或数量相对较少的方案,不能达到最优的解,用遗传算法则可以解决这些问题。

1 基于遗传算法的装配序列规划

模型

1.1 遗传算法的特点

遗传算法是一类借鉴生物界自然选择和遗传机制的随机进化搜索算法[3]

。其特点是:

(1)思路直观:遗传算法的方法是先假定一个规划结果,再根据装配的要求和约束,判断其可行性与优劣性,而不需通过计算分析约束图来生成装配序列。

(2)易获最优解:遗传算法从任意初始化的群体出发,通过随机选择、交叉、变异,使这一群体逐渐进化达到最优,这样往往可以推荐多种规划结果,且在最后达到的进化群体中,装配序列的优越性一般都比较高。

(3)适用性强:只要确定染色体的编码方法、适值函数的表达,就可以解决很多类的装配问题,它的操作算子几乎不用改变,这使得算法具有很强的扩展能力。

1.2 基于遗传算法的装配序列的规划模型

图1表示了基于遗传算法的装配序列规划流程。一个遗传算法最基本的要素为构造染色体、设计适值函数与进行遗传操作。

收稿日期:2000

1218

*上海市自然科学基金资助项目(项目编号:01ZF14004)

第27卷第6期2001年12月

东华大学学报(自然科学版)

JOURNAL OF DONG HUA UNIVER SITY

Vol .27,No .6

Dec .2001

图1 用遗传算法实现装配序列规划流程图

1.2.1 染色体构造

遗传算法中的染色体结构往往就是解的形式,采用何种编码方法主要取决于问题的描述。在装配序列规划这个问题上,可以直接采用零件的顺序编号进行编码,即每个染色体表示一种装配序列,如染色体“123456”则表示零件的装配序列为:1※2※3※4※5※6。

1.2.2 适值函数设计

适值函数在遗传算法搜索进化过程中用来量化个体的优劣性,是“优胜劣汰”的标准。在装配序列规划问题中,评价一个装配序列可以从两个方面入手:(1)装配可行性:一个装配序列是否可以顺利完成各零件的装配。

(2)装配序列优劣性:使机器人完成全部零件装配的工作路径长短。

设零件个数为N ,定义适值函数S 为:S =

∑N i =1

S i

其中S i 表示第i 次装配零件装配时机器人的工作路径长度。设O 为装配起始位置,O ′为装配终止位置(如图2所示),则装配路径S i 计算算法如下(下列步骤中,d (路径)表示路径的长度):(1)测试装配路径OO ′,如果可行,S i =d (OO ′),转(7),否则,转(2);

(2)测试装配路径OEO ′,如果可行,S i =d (OEO ′),转(7),否则,转(3);

(3)测试路径ODO ′,如果可行,S i =d (O DO ′),

图2 装配路径计算示意图

转(7),否则,转(4);

(4)比较路径OA FO ′与OCG O ′的长度,设d (OA FO ′)>d (OCG O ′)(反之,则交换(5)(6)中的路

径OA FO ′与OCG O ′即可);

(5)测试路径OCG O ′,如果可行,S i =d (O CG O ′),转(7),否则,转(6);

(6)测试路径O A FO ′,如果可行,S i =d (OA FO ′),否

则S i =∞;

(7)退出。

其中:d (Path )表示装配路径Path 的长度,判断装配路径(以图2中路径OA FO ′为例)是否可行的方法为:

(1)作出包围盒KLMN ,其中KL ,MN 平行于FO ′且与零件i 轮廓相切,N K 垂直于FO ′且与零件i 轮廓相切;

(2)判断已装配第k (k =1,2,…,i -1)次装配的零件上的点是否在包围盒内,如果所有的点都不在包围盒内,则该路径可行,否则,只要有一点在包围盒内,即装配时产生干涉,表明该装配路径不可行。1.2.3 遗传操作

遗传操作包括选择算子、交叉算子和变异算子3个基本操作。

(1)选择算子。从群体中选择优胜个体淘汰劣质个体的操作成为选择算子。显然,基于装配路径的适值函数越大,个体越差,因此首先删除群体中适值函数最大的个体,再从剩余的染色体种群中随机选择个体作为交叉与变异的父染色体。

(2)交叉算子。交叉算子就是把交叉双亲的部分结构加以替换重组生成新个体的操作。交叉算子必须保持染色体结构的完整性,因此它的算法设计与染色体结构有关。常用的方法为单点交叉法:随机确定一个交叉位置k (1≤k ≤N ),选择父染色体A 前k 个基因作为子染色体的前一部分,父染色体B 的后N -k 个基因作为子染色体的后一部分。例如:

6期丁慧敏等:基于遗传算法的装配序列规划

11

 

父染色体A:123456,父染色体B:543162交叉位置:k=4

子染色体:123462

显然这样的子染色体并不能表示一个装配序列(一个零件“2”不能在同一装配序列中出现两次),破坏了染色体结构的完整性,因此在装配序列规划这个问题上不能采用单点交叉法。这里采用的方法是:随机产生子染色体中的先导基因数k(1≤k≤N),在父染色体A 中随机选择k个先导基因作为子染色体的前一部分,然后从父染色体B中选择与先导基因不重复的基因(约束基因),作为子染色体的后一部分。例如:

父染色体A:123456,父染色体B:543162

先导基因数:k=3

在父染色体A中选择先导基因1、4、6,在父染色体B中选择约束基因5、3、2

子染色体:146532,前一部分基因1、4、6,后一部分基因5、3、2

(3)变异算子。为了加快算法的收敛效果,对群体中的染色体进行变异操作。在装配序列这个问题上,变异算子通过随机选择父染色体中的两个基因,交换这两个基因上的位置而成为子染色体。

例如:在父染色体“123456”中随机选择了基因3与6,通过变异生成了子染色体“126453”。

1.2.4 算法的C语言描述

根据以上的分析,可以得到算法的C语言描述如下: void GA Sequence()

{

Initialize();

While(!IsGAEnd())

{

 Fitness();

 Selection();

 Crossover();

 Mutation();

 NewGeneration();

}

Output();

}

2 装配序列规划系统的实现

基于遗传算法规划装配序列模型,这里采用VC 6

.0开发了相应的软件系统。2.1 系统简介

图3给出了系统的主界面。算法菜单包含:

图3 系统菜单及计算界面

(1)实例描述:根据实际装配问题进行形式化操作。

(2)参数设置:面向装配序列规划的遗传算法基本阐述设置,包括种群中的染色体数目M,交叉率P c,变异率P m,最大计算代数G max。

(3)计算:根据实际装配的问题的要求与约束按照生物遗传机理及其算法的基本参数进行迭代进化,以确定可行优化的装配序列方案。系统在计算过程中给出当前的计算代数以及这一代种群中染色体的最优适值函数。

(4)计算结果:系统给出经过遗传算法规划后的最优装配序列以及它的适值函数,另外系统还给出了装配序列规划的进化规律以进行算法效率的分析。2.2 运行实例

采用由6个零件组成的装配体为运算实例(如图4所示)。

图4 计算实例

(1)装配信息的描述:装配信息包括零件号、中心位置以及装配件的存放位置(装配件的起始位置)等信息;

(2)装配运动的约定:设零件装配可沿x,y轴作

12 东华大学学报(自然科学版)第27卷

直线运动,也可进行两点间的直线运动;

(3)遗传算法基本参数的设置:种群中染色体的数目N =10;交叉率P c =100%;变异率P m =5%;最

大计算代数G max =100。2.3 规划结果

输出最优结果及其相应的适值函数。本实例的最优解为“453621”,它表示了装配序列4※5※3※6※2※1,其装配路径长度为287.3833。

根据记录的每一代种群最优适值函数作出遗传算法进化曲线,如图5所示。从图中可以看出,

每一代

图5 遗传算法进化曲线

的最优适值函数呈递减趋势,当适值函数不再变化时,说明系统获得最优解。

3 结束语

这里将遗传算法用于装配序列的规划,测试结果表明,遗传算法在解决装配序列规划问题上具有很好

的收敛性,它的主要优点是思路直观,能达到最优解且适用性强。进一步开展的研究工作主要包括以下几个方面:

(1)支持装配序列规划的装配问题的形式化描述方法研究;

(2)支持装配序列规划的装配信息自动获取问题的研究;(3)支持并行装配等工程化目标及其实现方法的研究。

参 考 文 献

1 I .Savuncuoglu .Ass embly line balancing us ing genetic algorithm .J ournal of

Intelligent M anufacturing ,2000,(6):295~310

2 杨建国.可装配性设计.上海:中国纺织大学出版社,20013 陈国良.遗传算法及其应用.北京:人民邮电出版社,1996

Assembly Sequence Planning Based on Genetic Algorithm

Ding Huimin ,Li Beizhi ,Zhou Yaqin

(Co llege o f Mecha nic Engi neering ,Dong Hu a Univ ersity ,S hang hai ,200051)

A bstract Assembly sequence planning is one of the key problems in DFA and CAAPP of concurrent engineering .This paper

introduces the advantage of using the genetic algorithm to plan the assembly sequence and builds the model .After that the pa -per discusses the coding method of assembly sequence and the design of genetic operators .The results testing on the corre -sponding software system show that the optimization efficiency can be greatly improved when the genetic algorithm is used in as -sembly sequence planning .Keywords :assembly sequence planning ,design for assembly ,computer aided assembly process planning ,genetic algorithm ,coding method

6期丁慧敏等:基于遗传算法的装配序列规划

13

 

遗传算法在多目标优化的应用:公式,讨论,概述总括

遗传算法在多目标优化的应用:公式,讨论,概述/总括 概述 本文主要以适合度函数为基础的分配方法来阐述多目标遗传算法。传统的群落形成方法(niche formation method)在此也有适当的延伸,并提供了群落大小界定的理论根据。适合度分配方法可将外部决策者直接纳入问题研究范围,最终通过多目标遗传算法进行进一步总结:遗传算法在多目标优化圈中为是最优的解决方法,而且它还将决策者纳入在问题讨论范围内。适合度分配方法通过遗传算法和外部决策者的相互作用以找到问题最优的解决方案,并且详细解释遗传算法和外部决策者如何通过相互作用以得出最终结果。 1.简介 求非劣解集是多目标决策的基本手段。已有成熟的非劣解生成技术本质上都是以标量优化的手段通过多次计算得到非劣解集。目前遗传算法在多目标问题中的应用方法多数是根据决策偏好信息,先将多目标问题标量化处理为单目标问题后再以遗传算法求解,仍然没有脱离传统的多目标问题分步解决的方式。在没有偏好信息条件下直接使用遗传算法推求多目标非劣解的解集的研究尚不多见。 本文根据遗传算法每代均产生大量可行解和隐含的并行性这一特点,设计了一种基于排序的表现矩阵测度可行解对所有目标总体表现好坏的向量比较方法,并通过在个体适应度定标中引入该方法,控制优解替换和保持种群多样性,采用自适应变化的方式确定交叉和变异概率,设计了多目标遗传算法(Multi Objective Genetic Algorithm, MOGA)。该算法通过一次计算就可以得到问题的非劣解集, 简化了多目标问题的优化求解步骤。 多目标问题中在没有给出决策偏好信息的前提下,难以直接衡量解的优劣,这是遗传算法应用到多目标问题中的最大困难。根据遗传算法中每一代都有大量的可行解产生这一特点,我们考虑通过可行解之间相互比较淘汰劣解的办法来达到最 后对非劣解集的逼近。 考虑一个n维的多目标规划问题,且均为目标函数最大化, 其劣解可以定义为: f i (x * )≤f i (x t ) i=1,2,??,n (1) 且式(1)至少对一个i取“<”。即至少劣于一个可行解的x必为劣解。 对于遗传算法中产生大量的可行解,我们考虑对同一代中的个体基于目标函数相互比较,淘汰掉确定的劣解,并以生成的新解予以替换。经过数量足够大的种群一定次数的进化计算,可以得到一个接近非劣解集前沿面的解集,在一定精度要求下,可以近似的将其作为非劣解集。 个体的适应度计算方法确定后,为保证能得到非劣解集,算法设计中必须处理好以下问题:(1)保持种群的多样性及进化方向的控制。算法需要求出的是一组不同的非劣解,所以计算中要防止种群收敛到某一个解。与一般遗传算法进化到

时间序列分析——最经典的

【时间简“识”】 说明:本文摘自于经管之家(原人大经济论坛) 作者:胖胖小龟宝。原版请到经管之家(原人大经济论坛) 查看。 1.带你看看时间序列的简史 现在前面的话—— 时间序列作为一门统计学,经济学相结合的学科,在我们论坛,特别是五区计量经济学中是热门讨论话题。本月楼主推出新的系列专题——时间简“识”,旨在对时间序列方面进行知识扫盲(扫盲,仅仅扫盲而已……),同时也想借此吸引一些专业人士能够协助讨论和帮助大家解疑答惑。 在统计学的必修课里,时间序列估计是遭吐槽的重点科目了,其理论性强,虽然应用领域十分广泛,但往往在实际操作中会遇到很多“令人发指”的问题。所以本帖就从基础开始,为大家絮叨絮叨那些关于“时间”的故事! Long long ago,有多long估计大概7000年前吧,古埃及人把尼罗河涨落的情况逐天记录下来,这一记录也就被我们称作所谓的时间序列。记录这个河流涨落有什么意义当时的人们并不是随手一记,而是对这个时间序列进行了长期的观察。结果,他们发现尼罗河的涨落非常有规律。掌握了尼罗河泛滥的规律,这帮助了古埃及对农耕和居所有了规划,使农业迅速发展,从而创建了埃及灿烂的史前文明。

好~~从上面那个故事我们看到了 1、时间序列的定义——按照时间的顺序把随机事件变化发展的过程记录下来就构成了一个时间序列。 2、时间序列分析的定义——对时间序列进行观察、研究,找寻它变化发展的规律,预测它将来的走势就是时间序列分析。 既然有了序列,那怎么拿来分析呢 时间序列分析方法分为描述性时序分析和统计时序分析。 1、描述性时序分析——通过直观的数据比较或绘图观测,寻找序列中蕴含的发展规律,这种分析方法就称为描述性时序分析 描述性时序分析方法具有操作简单、直观有效的特点,它通常是人们进行统计时序分析的第一步。 2、统计时序分析 (1)频域分析方法 原理:假设任何一种无趋势的时间序列都可以分解成若干不同频率的周期波动 发展过程: 1)早期的频域分析方法借助富里埃分析从频率的角度揭示时间序列的规律 2)后来借助了傅里叶变换,用正弦、余弦项之和来逼近某个函数 3)20世纪60年代,引入最大熵谱估计理论,进入现代谱分析阶段 特点:非常有用的动态数据分析方法,但是由于分析方法复杂,结果抽象,有一定的使用局限性 (2)时域分析方法

遗传算法在多目标优化中的作用 调研报告

遗传算法在多目标优化中的作用调研报告 姓名: 学院: 班级: 学号: 完成时间:20 年月日 目录 1 .课题分析................................................................................................................................ 0 2 .检索策略................................................................................................................................ 0 2.1 检索工具的选择................................................................................................................................ ......... 0 2.2 检索词的选择................................................................................................................................ ............. 0 2.3 通用检索式................................................................................................................................ .. 0 3.检索步骤及检索结果 0 3.1 维普中文科技期刊数据库 0 3.2 中国国家知识产权局数据

多目标遗传算法代码

. % function nsga_2(pro) %% Main Function % Main program to run the NSGA-II MOEA. % Read the corresponding documentation to learn more about multiobjective % optimization using evolutionary algorithms. % initialize_variables has two arguments; First being the population size % and the second the problem number. '1' corresponds to MOP1 and '2' % corresponds to MOP2. %inp_para_definition=input_parameters_definition; %% Initialize the variables % Declare the variables and initialize their values % pop - population % gen - generations % pro - problem number %clear;clc;tic; pop = 100; % 每一代的种群数 gen = 100; % 总共的代数 pro = 2; % 问题选择1或者2,见switch switch pro case 1 % M is the number of objectives. M = 2; % V is the number of decision variables. In this case it is % difficult to visualize the decision variables space while the % objective space is just two dimensional. V = 6; case 2 M = 3; V = 12; case 3 % case 1和case 2 用来对整个算法进行常规验证,作为调试之用;case 3 为本工程所需; M = 2; %(output parameters 个数) V = 8; %(input parameters 个数) K = 10; end % Initialize the population chromosome = initialize_variables(pop,pro); %% Sort the initialized population % Sort the population using non-domination-sort. This returns two columns % for each individual which are the rank and the crowding distance

多目标规划遗传算法

%遗传算法解决多目标函数规划 clear clc syms x; %Function f1=f(x) f1=x(:,1).*x(:,1)/4+x(:,2).*x(:,2)/4; %function f2=f(x) f2=x(:,1).*(1-x(:,2))+10; NIND=100; MAXGEN=50; NV AR=2; PRECI=20; GGPA=0.9; trace1=[]; trace2=[]; trace3=[]; FielD=[rep([PRECI],[1,NV AR]);[1,1;4,2];rep([1;0;1;1],[NV AR])]; Chrom=crtbp(NIND,NV AR*PRECI); v=bs2rv(Chrom,FielD); gen=1; while gen

遗传算法程序代码--多目标优化--函数最值问题

函数最值问题:F=X2+Y2-Z2, clear clc %%初始化 pc=0.9; %交叉概率 pm=0.05; %变异概率 popsize=500; chromlength1=21; chromlength2=23; chromlength3=20; chromlength=chromlength1+chromlength2+chromlength3; pop=initpop(popsize,chromlength);% 产生初始种群 for i=1:500 [objvalue]=calobjvalue(pop); %计算目标函数值 [fitvalue]=calfitvalue(objvalue);%计算个体适应度 [newpop]=selection(pop,fitvalue);%选择 [newpop1]=crossover(newpop,pc) ; %交叉 [newpop2]=mutation(newpop1,pm) ;%变异 [newobjvalue]=newcalobjvalue(newpop2); %计算最新代目标函数值 [newfitvalue]=newcalfitvalue(newobjvalue); % 计算新种群适应度值[bestindividual,bestfit]=best(newpop2,newfitvalue); %求出群体中适应值最大的个体及其适应值 y(i)=max(bestfit); %储存最优个体适应值 pop5=bestindividual; %储存最优个体 n(i)=i; %记录最优代位置 %解码 x1(i)=0+decodechrom(pop5,1,21)*2/(pow2(21)-1); x2(i)=decodechrom(pop5,22,23)*6/(pow2(23)-1)-1; x3(i)=decodechrom(pop5,45,20)*1/(pow2(20)-1); pop=newpop2; end %%绘图 figure(1)%最优点变化趋势图 i=1:500; plot(y(i),'-b*') xlabel('迭代次数'); ylabel('最优个体适应值'); title('最优点变化趋势'); legend('最优点');

多目标遗传算法中文【精品毕业设计】(完整版)

一种在复杂网络中发现社区的多目标遗传算法 Clara Pizzuti 摘要——本文提出了一种揭示复杂网络社区结构的多目标遗传算法。该算法优化了两个目标函数,这些函数能够识别出组内节点密集连接,而组间连接稀疏。该方法能产生一系列不同等级的网络社区,其中解的等级越高,由更多的社区组成,被包含在社区较少的解中。社区的数量是通过目标函数更佳的折衷值自动确定的。对合成和真实网络的实验,结果表明算法成功地检测到了网络结构,并且能与最先进的方法相比较。 关键词:复杂网络,多目标聚类,多目标进化算法 1、简介 复杂网络构成了表示组成许多真实世界系统的对象之间关系的有效形式。协作网络、因特网、万维网、生物网络、通信传输网络,社交网络只是一些例子。将网络建模为图,节点代表个体,边代表这些个体之间的联系。 复杂网络研究中的一个重要问题是社区结构[25]的检测,也被称作为聚类[21],即将一个网络划分为节点组,称作社区或簇或模块,组内连接紧密,组间连接稀疏。这个问题,如[21]指出,只有在建模网络的图是稀疏的时候才有意义,即边的数量远低于可能的边数,否则就类似于数据簇[31]。图的聚类不同于数据聚类,因为图中的簇是基于边的密度,而在数据聚类中,它们是与距离或相似度量紧密相关的组点。然而,网络中社区的概念并未严格定义,因为它的定义受应用领域的影响。因此,直观的理解是同一社区内部边的数量应该远多于连接图中剩余节点的边的数量,这构成了社区定义的一般建议。这个直观定义追求两个不同的目标:最大化内部连接和最小化外部连接。 多目标优化是一种解决问题的技术,当多个相互冲突的目标被优化时,成功地找到一组解。通过利用帕累托最优理论[15]获得这些解,构成了尽可能满足所有目标的全局最优解。解决多目标优化问题的进化算法取得成功,是因为它们基于种群的特性,同时产生多个最优解和一个帕累托前沿[5]的优良近似。 因此,社区检测能够被表述为多目标优化问题,并且帕累托最优性的框架可以提供一组解对应于目标之间的最佳妥协以达到最优化。事实上,在上述两个目标之间有一个折衷,因为当整个网络社区结构的外部连接数量为空时,那它就是最小的,然而簇密度不够高。 在过去的几年里,已经提出了许多方法采用多目标技术进行数据聚类。这些方法大部分在度量空间[14], [17],[18], [28], [38], [39], [49], [51]聚集目标,虽然[8]中给出了分割图的一个方法,并且在[12]中描述了网络用户会议的一个图聚类算法。 本文中,一个多目标方法,名为用于网络的多目标遗传算法(MOGA-Net),通过利用提出的遗传算法发现网络中的社区。该方法优化了[32]和[44]中介绍的两个目标函数,它们已被证实在检测复杂网络中模块的有效性。第一个目标函数利用了community score的概念来衡量对一个网络进行社区划分的质量。community score值越高,聚类密度越高。第二个目标函数定义了模块中节点fitness的概念,并且反复迭代找到节点fitness总和最大的模块,以下将这个目标函数称为community fitness。当总和达到最大时,外部连接是最小。两个目标函数都有一个正实数参数控制社区的规模。参数值越大,找到的社区规模越小。MOGA-Net利用这两个函数的优点,通过有选择地探索搜寻空间获得网络中存在的社区,而不需要提前知道确切的社区数目。这个数目是通过两个目标之间的最佳折衷自动确定的。 多目标方法的一个有趣结果是它提供的不是一个单独的网络划分,而是一组解。这些解中的每一个都对应两个目标之间不同的折衷,并对应多种网络划分方式,即由许多不同簇组成。对合成网络和真实网络的实验表明,这一系列帕累托最优解揭示了网络的分层结构,其中簇的数目较多的解包含在社区数目较少的解中。多目标方法的这个特性提供了一个很好的机会分析不同层级

遗传算法在多目标线性规划的应用

龙源期刊网 https://www.wendangku.net/doc/261203231.html, 遗传算法在多目标线性规划的应用 作者:陈紫电 来源:《新课程·上旬》2013年第11期 摘要:求解多目标线性规划的基本思想大都是将多目标问题转化为单目标规划,目前主 要有线性加权和法、最大最小法、理想点法等。然而实际问题往往是复杂的,究竟哪种方法更加有效,也是因题而异。因此,通过讨论各种方法,提出了一个对各种算法的优劣进行量化对比的方法,并运用Matlab软件设计了相应的遗传算法来实现求解。 关键词:多目标线性规划;Matlab;遗传算法 多目标线性规划是最优化理论的重要组成部分,由于各目标之间的矛盾性和不可公度性,要使所有目标均达到最优,基本上是不可能的,因此,多目标规划问题往往只是求其相对较优的解。目前,求解多目标线性规划问题的有效方法有理想点法、线性加权和法、最大最小法、目标规划法,然而这些方法对多目标偏好信息的确定、处理等方面的研究工作不够深入,本文对多目标线性规划各解法的优劣进行了量化比较,最后还设计了相应的遗传算法,并借助MATLAB实现求解。 一、多目标线性规划模型 多目标线性规划有着两个和两个以上的目标函数,且目标函数和约束条件全是线性函数,其数学模型表示为: 二、多目标线性规划的求解方法 1.理想点法 三、遗传算法 对于上述多目标规划问题的各种解法,都从一定程度上有各自的偏好。为此,我们提出了一种多目标规划问题的遗传算法。 本文对各分量都做了数据标准化,并以(1,1,…,1)为理想目标,再以目标值的距离为目标(此距离可以作为其他算法的评价),消除了各分量之间的不公平性,最后借助MATLAB软件,从结果上看最后得到了更为合理的目标值。 参考文献: [1]李荣钧.多目标线性规划模糊算法与折衷算法分析[J].运筹与管理,2001,10(3):13-18.

浅谈飞机总装自动化装配生产线[1](精)

Equipment Manufactring Technology No.10,2011 飞机自动化装配是实现缩短生产周期、降低成本、提高生产效率目标的重大关键技术。由于现代飞机都有较高的寿命要求,因而装配精度和装配品质起着重要的作用。一架飞机所用的连接件少则数十万件,多则上百万件,从减重、防腐、抗疲劳、密封、安装等方面出发,采用自动装配技术不仅可实现对不开敞、难加工部位的装配,而且还能有效提高装配效率和装配品质,降低装配成本,改变传统的装配方式,这是手工装配所不能完成的。 1国外飞机自动化装配技术的发展 国外飞机装配技术,基本上经历了传统的手工装配、半机械化装配、机械化装配和自动化装配的过程。上世纪中期,一些航空制造业巨头,如波音、空客等花大力气,投入巨资研究了以自动化装配为基本单元的飞机移动总装配生产线,并很快取得了令人瞩目的成功。先进的飞机装配技术和生产管理模式,彻底改变了人们的飞机装配制造理念,大幅度提高了飞机装配品质和效率。 波音公司最先尝试并探讨了改变传统装配方法的途径,从最初利用共用定位来减少工装,广泛采用自动化装配站到实现柔性化装配,最终形成移动生产线,这个发展过程,使飞机装配技术发生了革命性的变化。通过模块化装配、自动化装配站、脉动式生产线、移动生产等飞机总装技术,波音777飞机的研制,使研制周期缩短50%,出错返工率减少75%,成本降低25%,成为自动化装配技术在飞机制造中应用的标志和典范。 2国内飞机总装配技术发展现状 国内飞机总装,通常采用固定机位装配方式,即人、物、设备、工装等围绕着飞机转。整个总装过程,基本上是全部依靠人工装配,所用的工装主要是工作梯,测量设备落后、效率低下。虽然近年来国内也开展了一些相关技术的研究和应用探索,局部装配环节采用了一些数字化装配技术,但总体上与航空工业发达国家相差甚远。远远不能满足新型号的要求。这种差距,综合体现在以下4个方面:

现代飞机装配技术知识点.

现代飞机装配技术》知识点总结 南京航空航天大学 第一章 1、飞行器数字化和传统制造的最大区别特点 (1 改模拟量传递为数字量传递。 (2 把串行工作模式变为并行工作模式。 带来的必然结果是缩短产品研制周期,提高产品质量,降低研制成本。 2、MBD 的定义,其数据集应包括的内容, 采用的技术意义。 MBD技术定义:用集成的三维实体模型来完整表达产品定义信息,详细规定了三维实体模型中产品定义、公差标注准则和工艺信息的表达方法。 数据集包括的内容:相关设计数据、实体模型、零件坐标系统、三维标注尺寸、公差和注释工程注释、材料要求、其它定义数据及要求。 技术意义:1. 改双数据源定义为单源定义, 定义数据统一2. 提高了工程质量3. 减少了零件设计准备时间4. 电子化的存储和传递, 协调性好5. 减少成本6. 易于向下兼容( 派生出平面信息 3、国外飞机数字化技术发展的三个主要历程: 部件数字样机阶段1986 ——1992

4、飞机结构的特点零件多、尺寸大、刚度小、外形复杂、结构复杂、 精度要求高、其 装配具有与一般机械产品不同的技术和特点。 5、什么是飞机装配, 发展历程? 根据尺寸协调原则, 将飞机零件或组件按照设计和技术要求进行组合、连接形成更高一级的装配件或整机的过程。 自动化装配 6、飞机数字化制造的三个主要内容 CAD、CAM 、CAPP 第二章 1、产品数字建模的发展过程中提出的产品信息模型有哪三种概念面向 几何的产品信息模型(geometry- oriented product model 面向特征的产品信息模型(feature- oriented product model 集成产品信息模型IPIM(integrated product information model 2、物料清单(BOM 的定义,企业三种主要的BOM 表, EBOM 、PBOM、MBOM BOM定义:又称为产品结构表或产品结构树;在ERP系统中,物料 一词有着广泛的含义, 它是所有与生产有关的物料的统称。

多目标优化实例和matlab程序

NSGA-II 算法实例 目前的多目标优化算法有很多, Kalyanmoy Deb 的带精英策略的快速非支配排序遗传算法(NSGA-II) 无疑是其中应用最为广泛也是最为成功的一种。本文用的算法是MATLAB 自带的函数gamultiobj ,该函数是基于NSGA-II 改进的一种多目标优化算法。 一、 数值例子 多目标优化问题 424221********* 4224212212112 12min (,)10min (,)55..55 f x x x x x x x x x f x x x x x x x x x s t x =-++-=-++-≤≤??-≤≤? 二、 Matlab 文件 1. 适应值函数m 文件: function y=f(x) y(1)=x(1)^4-10*x(1)^2+x(1)*x(2)+x(2)^4-x(1)^2*x(2)^2; y(2)=x(2)^4-x(1)^2*x(2)^2+x(1)^4+x(1)*x(2); 2. 调用gamultiobj 函数,及参数设置: clear clc fitnessfcn=@f; %适应度函数句柄 nvars=2; %变量个数 lb=[-5,-5]; %下限 ub=[5,5]; %上限 A=[];b=[]; %线性不等式约束 Aeq=[];beq=[]; %线性等式约束 options=gaoptimset('paretoFraction',0.3,'populationsize',100,'generations', 200,'stallGenLimit',200,'TolFun',1e-100,'PlotFcns',@gaplotpareto); % 最优个体系数paretoFraction 为0.3;种群大小populationsize 为100,最大进化代数generations 为200, % 停止代数stallGenLimit 为200, 适应度函数偏差TolFun 设为1e-100,函数gaplotpareto :绘制Pareto 前端 [x,fval]=gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,options)

时间序列分析

3.3时间序列分析 3.3.1时间序列概述 1.基本概念 (1)一般概念:系统中某一变量的观测值按时间顺序(时间间隔相同)排列成一 个数值序列,展示研究对象在一定时期内的变动过程,从中寻找 和分析事物的变化特征、发展趋势和规律。它是系统中某一变量 受其它各种因素影响的总结果。 (2)研究实质:通过处理预测目标本身的时间序列数据,获得事物随时间过程的 演变特性与规律,进而预测事物的未来发展。它不研究事物之间 相互依存的因果关系。 (3)假设基础:惯性原则。即在一定条件下,被预测事物的过去变化趋势会延续 到未来。暗示着历史数据存在着某些信息,利用它们可以解释与 预测时间序列的现在和未来。 近大远小原理(时间越近的数据影响力越大)和无季节性、无趋 势性、线性、常数方差等。 (4)研究意义:许多经济、金融、商业等方面的数据都是时间序列数据。 时间序列的预测和评估技术相对完善,其预测情景相对明确。 尤其关注预测目标可用数据的数量和质量,即时间序列的长度和 预测的频率。 2.变动特点 (1)趋势性:某个变量随着时间进展或自变量变化,呈现一种比较缓慢而长期的 持续上升、下降、停留的同性质变动趋向,但变动幅度可能不等。

(2)周期性:某因素由于外部影响随着自然季节的交替出现高峰与低谷的规律。 (3)随机性:个别为随机变动,整体呈统计规律。 (4)综合性:实际变化情况一般是几种变动的叠加或组合。预测时一般设法过滤 除去不规则变动,突出反映趋势性和周期性变动。 3.特征识别 认识时间序列所具有的变动特征,以便在系统预测时选择采用不同的方法。(1)随机性:均匀分布、无规则分布,可能符合某统计分布。(用因变量的散点图 和直方图及其包含的正态分布检验随机性,大多数服从正态分布。) (2)平稳性:样本序列的自相关函数在某一固定水平线附近摆动,即方差和数学 期望稳定为常数。 样本序列的自相关函数只是时间间隔的函数,与时间起点无关。其 具有对称性,能反映平稳序列的周期性变化。 特征识别利用自相关函数ACF:ρ k =γ k /γ 其中γk是y t 的k阶自协方差,且ρ0=1、-1<ρk<1。 平稳过程的自相关系数和偏自相关系数都会以某种方式衰减趋近于0,前者测度当前序列与先前序列之间简单和常规的相关程度, 后者是在控制其它先前序列的影响后,测度当前序列与某一先前序 列之间的相关程度。 实际上,预测模型大都难以满足这些条件,现实的经济、金融、商业等序列都是非稳定的,但通过数据处理可以变换为平稳的。 4.预测类型 (1)点预测:确定唯一的最好预测数值,其给出了时间序列未来发展趋势的一个

飞机装配工艺学试题

装配工艺学考试题 一填空题 1.装配工艺员的工作任务是采用必要的(工艺)、(技术手段),通过不同的工序转换、安装的流 程,将飞机的零件、组件、成品件、机载设备等集合在一起装配成一架完整的飞机,并最终达到飞机可使用状态,交付用户。 2.装配工艺员应遵循公司颁布的各类人员(职责范围)及(工作标准)。 3.一项新型民用飞机的研制,要经过(项目立项)、方案研讨/定义阶段、(方案论证/确认阶段)、 全面研制阶段、(生产阶段)、(售后服务)等六个里程碑。 4. 所谓飞机装配就是通过各种手段将组成飞机整体的零件、(组合件)、成品件装配成一架完 整的飞机,并满足飞机(技术状态)要求。 5. 飞机通过工艺员的技术准备工作,将数字、纸面的(图纸),转化为(飞机实体),并达到飞机使用技术状态要求。 6. 制造总方案是对一架新机制造过程中所规定的制造总原则的(指令性)文件。它是飞机研制的各阶段所依据的(纲要性)文件。 7. 装配流程是一个新项目按(装配分离面)划定的装配过程。装配流程明确表示(装配过程)、(装配层次)、(装配周期)。 8. 将构成飞机结构件、系统件等零件按其(装配关系)、装配顺序,从零件开始,到组件、部件编制一个(树状结构图),即称为装配树。 9. 工程图上未划出装配件、没有工程装配件号、在装配中可以形成的组件,为(工艺组件)。 10. 工艺组件号由装配工艺员按程序规定确定(工艺构型号)。 11. 装配系统图就是一个表明零件(装配次序)和所需要装(标准件)及装配过程的一个树状结构图。 12.装配工装品种表是为了完成一架飞机的装配所必需(装配工装项目)的一个目录。 13. 除装配工装外,还包括(地面试验设备)品种表,还包括所需要的(刀量具)品种表。 14. 工装选择的主要依据有(制造总方案)、(装配系统图)、(协调方案)、(工艺方案、工装方案)、(保证协调互换原则)、(工装品种、数量平衡原则)工装品种、数量控制原则、工装合并原则、拼装原则。 15. 工装设计技术条件是(工装设计)的重要依据。 16. 装配工装使用功能除依赖于(工装设计员)的技术水平外,还取决于工艺员编写的(工装设计技术条件)水平,以及工艺员与工装设计员双方合作方式与成果,即(联合工作)的效果。 17. 在飞机装配中,除使用装配工装外,还包括(试验设备)、(地面设备)。 18. 所谓构型(CONFIGURATION)是指技术文件上规定,且在产品上体现的(设计特征)和(性能)。 19. 工艺构型是指由于工艺过程的需要改变了(工程状态),在产品完成装配后恢复到原工程

数据分析-时间序列的趋势分析

数据分析-时间序列的趋势分析 无论是网站分析工具、BI报表或者数据的报告,我们很难看到数据以孤立的点单独地出现,通常数据是以序列、分组等形式存在,理由其实很简单,我们没法从单一的数据中发现什么,用于分析的数据必须包含上下文(Context)。数据的上下文就像为每个指标设定了一个或者一些参考系,通过这些参照和比较的过程来分析数据的优劣,就像中学物理上的例子,如果我们不以地面作为参照物,我们无法区分火车是静止的还是行进的,朝北开还是朝南开。 在实际看数据中,我们可能已经在不经意间使用数据的上下文了,趋势分析、比例分析、细分与分布等都是我们在为数据设置合适的参照环境。所以这边通过一个专题——数据的上下文,来总结和整理我们在日常的数据分析中可以使用的数据参考系,前面几篇主要是基于内部基准线(Internal Benchmark)的制定的,后面会涉及外部基准线(External Benchmark)的制定。今天这篇是第一篇,主要介绍基于时间序列的趋势分析,重提下同比和环比,之前在网站新老用户分析这篇文章,已经使用同比和环比举过简单应用的例子。 同比和环比的定义 定义这个东西在这里还是再唠叨几句,因为不了解定义就无法应用,熟悉的朋友可以跳过。 同比:为了消除数据周期性波动的影响,将本周期内的数据与之前周期中相同时间点的数据进行比较。早期的应用是销售业等受季节等影响较严重,为了消除趋势分析中季节性的影响,引入了同比的概念,所以较多地就是当年的季度数据或者月数据与上一年度同期的比较,计算同比增长率。 环比:反应的是数据连续变化的趋势,将本期的数据与上一周期的数据进行对比。最常见的是这个月的数据与上个月数据的比较,计算环比增长率,因为数据都是与之前最近一个周期的数据比较,所以是用于观察数据持续变化的情况。 买二送一,再赠送一个概念——定基比(其实是百度百科里附带的):将所有的数据都与某个基准线的数据进行对比。通常这个基准线是公司或者产品发展的一个里程碑或者重要数据点,将之后的数据与这个基准线进行比较,从而反映公司在跨越这个重要的是基点后的发展状况。 同比和环比的应用环境

多目标遗传算法代码

% function nsga_2(pro) %% Main Function % Main program to run the NSGA-II MOEA. % Read the corresponding documentation to learn more about multiobjective % optimization using evolutionary algorithms. % initialize_variables has two arguments; First being the population size % and the second the problem number. '1' corresponds to MOP1 and '2' % corresponds to MOP2. %inp_para_definition=input_parameters_definition; %% Initialize the variables % Declare the variables and initialize their values % pop - population % gen - generations % pro - problem number %clear;clc;tic; pop = 100; % 每一代的种群数 gen = 100; % 总共的代数 pro = 2; % 问题选择1或者2,见switch switch pro case 1 % M is the number of objectives. M = 2; % V is the number of decision variables. In this case it is % difficult to visualize the decision variables space while the % objective space is just two dimensional. V = 6; case 2 M = 3; V = 12; case 3 % case 1和case 2 用来对整个算法进行常规验证,作为调试之用;case 3 为本工程所需; M = 2; %(output parameters 个数) V = 8; %(input parameters 个数) K = 10; end % Initialize the population chromosome = initialize_variables(pop,pro); %% Sort the initialized population % Sort the population using non-domination-sort. This returns two columns % for each individual which are the rank and the crowding distance % corresponding to their position in the front they belong. 真是牛X了。 chromosome = non_domination_sort_mod(chromosome,pro); %% Start the evolution process

太阳黑子数时间序列分析数据

Re:【求助】请问谁有太阳黑子数据 只有1700-1987年的 年份黑子数: 1700 5.0 1701 11.0 1702 16.0 1703 23.0 1704 36.0 1705 58.0 1706 29.0 1707 20.0 1708 10.0 1709 8.0 1710 3.0 1711 0.0 1712 0.0 1713 2.0 1714 11.0 1715 27.0 1716 47.0 1717 63.0 1718 60.0 1719 39.0 1720 28.0 1721 26.0 1722 22.0 1723 11.0 1724 21.0 1725 40.0 1726 78.0 1727 122.0 1728 103.0 1729 73.0 1730 47.0 1731 35.0

1733 5.0 1734 16.0 1735 34.0 1736 70.0 1737 81.0 1738 111.0 1739 101.0 1740 73.0 1741 40.0 1742 20.0 1743 16.0 1744 5.0 1745 11.0 1746 22.0 1747 40.0 1748 60.0 1749 80.9 1750 83.4 1751 47.7 1752 47.8 1753 30.7 1754 12.2 1755 9.6 1756 10.2 1757 32.4 1758 47.6 1759 54.0 1760 62.9 1761 85.9 1762 61.2 1763 45.1 1764 36.4 1765 20.9 1766 11.4 1767 37.8

精益制造和飞机移动装配线

精益制造和飞机移动式装配线 基于精益思想的飞机移动式装配线已成为飞机生产新模式,世界各大航空制造企业竞相采用。飞机移动式装配线既是长期精益实践的成果,又对整个航空制造供应链起着积极的推动作用。适时地启动飞机移动装配技术研究,在航空制造中深入推行精益生产的理念、方法和文化是中国飞机制造向世界水平迈进的必由之路。 飞机移动生产线的需求 二战期间的1940 年,美国政府下令福特汽车公司制造1200 架B24轰炸机。福特经历了一次次挫折以后,由当初T 型车生产线的建造者出任B24 装配线的设计师。他完全照搬了汽车生产的模式,建成了1 英里长的L 型装配线,共设28 个站位,每小时出产1 架飞机。至二战结束,共装配8600 架B24,成为美国历史上产量最多的飞机。大量生产飞机之所以成功是因为当时战争消耗引发的大量需求。另外,当时的飞机相对简单,加上战争条件下,较少有客户化和构型变化要求,使B24 飞机制造具备了大批量生产的条件。 但是,现代的飞机生产环境发生了变化。因为飞机技术复杂化,总装涉及的专业多、工种多、人员多、物料多、工具工装型架多、技术文件多,总装过程组织困难。加上社会和经济形势不稳定,无论是民机还是军机,都具有需求多变、构型多、相同构型产量少的特点,加大了飞机生产装备投入的风险。因此传统上飞机总装一般采用机库式(或停车场式)装配。 机库式装配由多组工人并行作业,各架飞机的实际装配作业很难一致,难以保证质量,弊病很多。因此飞机制造业产生了强烈的改进装配方式的需求。最先出现的是由机库式向站点式过渡:设置多站位,在每个站位上装入一部分,由通用设备移动飞机到下一个站点,直至完成。飞机在站位式装配中是一站一站地移动的,工人也有了比较合理的分组和分工,但是装配工作地的混乱局面并没能有本质的改观,受供应链的影响也没有得到彻底的扭转。 移动装配线是第一次管理革命的产物,福特汽车的移动装配线成为工业化的标志之一。移动装配线的基本要素是:零组件统一标准的互换性、工人精细分工、动作标准化工作,物料的精确到位、均衡和节拍,采用专用的固定生产线设施。这种装配方式效率高,但专用设施投资大,缺少柔性受产品变化影响大,传统上只用于批量较大、产品结构简单的产品。而飞机是典型的长周期、小批量生产的产品,装配技术又复杂,实行单架次构型管理,造成了飞机移动装配线在技术上、管理上、物流配送、投资大,都有难点。怎样将大批量生产简单产品的流水线装配方式用在小批量复杂的飞机装配中?采用精益生产方式就是可行的解决方案。 现代飞机移动装配线 第一条现代的飞机移动装配线是波音717 总装线。当时认为波音717 是性能很好的支线客机,预测在20 年内有3000 架的市场预期。这使得波音717 具备采用移动式装配的需求,并于2006 年初建成投产。这条单件流、连续移动式装配线共有2 个用于机体对接的固定站位和6个总装的移动站位。移动式飞机装配的直接效益是将原来需要20 架在制飞机减少到8~10 架,并缩短装配 周期50%。在支线客机制造商庞巴迪与巴西航空的竞争下,波音717 被迫于2006 年5 月停产,717 飞机共生产了156 架。移动装配线运行了很短的时间。但是,移动装配线的成功成为波音717 的重要历史遗产。

多变量多目标的遗传算法程序

这是我在解决电梯动力学参数写的简单遗传算法(程序带目标函数值、适应度值计算,但是我的适应度函数因为目标函数的计算很特殊,一起放在了程序外面计算,在此不提供)。 头文件: // CMVSOGA.h : main header file for the CMVSOGA.cpp // 本来想使用链表里面套链表的,程序调试比较麻烦,改为种群用链表表示 //染色体固定为16的方法。 #if !defined(AFX_CMVSOGA_H__45BECA_61EB_4A0E_9746_9A94D1CCF767_ _INCLUDED_) #define AFX_CMVSOGA_H__45BECA_61EB_4A0E_9746_9A94D1CCF767__INCLUDED _ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "Afxtempl.h" #define variablenum 16 class CMVSOGA { public: CMVSOGA(); void selectionoperator(); void crossoveroperator(); void mutationoperator(); void initialpopulation(int, int ,double ,double,double *,double *); //种群初始化 void generatenextpopulation(); //生成下一代种群 void evaluatepopulation(); //评价个体,求最佳个体 void calculateobjectvalue(); //计算目标函数值 void calculatefitnessvalue(); //计算适应度函数值 void findbestandworstindividual(); //寻找最佳个体和最差个体 void performevolution(); void GetResult(double *); void GetPopData(double **); void SetValueData(double *); void maxandexpectation(); private: struct individual { double chromosome[variablenum]; //染色体编码长度应该为变量的个数 double value; double fitness; //适应度 };

相关文档