万邦股份平地机装配系统缓冲区容量设计

目 录
1绪论 1
1.1选题背景 1
1.2 研究目的和意义 2
1.3 缓冲区的国内外研究现状 2
1.4 本课题的研究内容 4
2 遗传算法理论 5
2.1 遗传算法发展现状 5
2.2 遗传算法的基本原理 6
2.3 多目标最优化遗传算法 7
2.4 遗传算法计算过程 7
3平地机装配系统的遗传算法模型建立 9
3.1 本章概述 9
3.2 适应度(目标)函数的建立 9
3.2.1 多(两)目标函数的建立 9
3.2.2 模糊优选多目标优化模型适应度函数的建立 10
3.2.3 单目标函数的建立 11
3.3 遗传算法运算过程 12
3.3.1 初始群体的产生和初始化个体 12
3.3.2 半父体比例交叉运算 12
3.3.3 适应度值的计算 13
3.3.4 选择 13
3.3.5 变异运算 13
3.3.6 杰出个体保护策略 14
3.3.7 重复,终止准则 14
4 实例分析 15
4.1 万邦股份平地机装配系统简介 15
4.2 模型等价 16
4.3 基于遗传算法的缓冲区容量优化过程 17
4.3.1 基本数据 17
4.3.2 多目标函数模型下适应度函数的确定 20
4.3.3 MATLAB优化过程 21
4.4 两种模型的结果比较 23
5 总结与展望 25
5.1 全文总结 25
5.2 几点结论 25
5.3 展望 25
参考文献 27
附录1 30
附录2 30
附录3 31
致 谢 43
本课题的研究内容
本文的主要研究内容有以下几点:
(1)建立平地机装配系统的遗传算法模型;和已有的关于缓冲区优化的文章比较,虽然本文也是应用遗传算法,但不同的是本文建立了两种目标函数,分别将问题描述成多目标问题和单目标问题。缓冲区的优化是一个比较实际的问题,优化的目的也不是单一的,本文就是尽量将优化的目标多样化,这样缓冲区的作用和优势才能更加突显出来。
(2)用遗传算法求解最优解,其中引入一个建立适应度函数的模糊优选方法。遗传算法和模糊优选法将在后面相关章节详细阐述。
(3)将两种模型下的最终结果进行比较,得出结论。
2.3 多目标最优化遗传算法
  如前面发展现状综述,遗传算法在优化领域内已经取得许多成果,有些学者也开始探讨用遗传算法求解多目标规划问题。在这方面, 第一个比较实用的工作是由Schaffer在1984年完成的[47]。他的模型通过以目标向量的各个分量作为适应性值来选择出几个等规模的子群体,配对和交叉的操作则在由子群体组成的整个群体内进行,计算表明,该模型有能力求出多目标优化问题的理想解和在某个目标达到最优的非劣解,但对各个指标均取中间值的非劣解则很难求出。Hajela通过定义效用函数(相当于评价函数里的线性加权法)将多目标优化问题转化为单目标优化问题,然后用GA求解,并借用GA在解决多峰值问题时采用的共享策略和限制性杂交策略,使算法同时求出多个非劣解[48]。另一种处理多目标问题的策略是将问题中最重要的指标作为遗传算法的目标,其它目标作为约束条件,显然这种处理只能求出满足要求的非劣解,不能对各个目标进行有效的优化。尽管效用函数方法和目标约束化处理简便易行,但Hajela和Shih在1989年提出了用此方法不能有效处理的例子[49]。可见,目前利用GA求解多目标问题还有很多困难。上面提出的功效函数法由于采取了标准化的处理,评价结果比较客观,但由于标准化过程需要各个指标的最大和最小值,实际上对工程中的大多数问题,各目标的极值并不容易得到,故这种解决方法的使用范围受到限制。相比较而言,选择方法能够在有限的方案中选择出最好的方案,而遗传算法优胜劣汰实际也正是对有限方案的优胜劣汰。因而选择方法对遗传算法而言应该是比较有效的。但上面提到的选择方法将所有指标全部映射到1~100之间,这就不可避免的带来标准化误差。所谓标准化误差,就是指在指标标准化过程中带来的评分偏差。例如,有些指标的变化范围较大,对决策应当产生较大的影响,而有的指标变化范围很小,对决策所起的作用应当较小,但标准化评分函数对所有的指标都判为1~100之间的数,这显然会带来较大的偏差。其实,选择方法同基于相对隶属度的线性模糊优选模型是等价的。Hao等在基于相对隶属度的模糊优选方案中引入了指标对决策的影响度因子的概念[50],有效的避免了标准化误差,使评价结果更加客观、准确,克服了选择方法的缺点。因此考虑可以用基于影响度因子的模糊优选模型,作为多目标遗传优化问题的适应度函数,提出了一种新的基于模糊优选的多目标函数优化遗传算法[51]。
2.4 遗传算法计算过程
遗传算法的基本运算过程如下:
a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。
b)个体评价:计算群体P(t)中各个个体的适应度。
c)选择运算:将选择算子作用于群体。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的。
d)交叉运算;将交叉算子作用于群体。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。本文转载自http://www.biyezuopin.vip/onews.asp?id=16963遗传算法中起核心作用的就是交叉算子。
e)变异运算:将变异算子作用于群体。即是对群体中的个体串的某些基因座上的基因值作变动。 群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t 1)。
f)终止条件判断:若t=T,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。
遗传算法步骤流程图如下图2-1:
万邦股份平地机装配系统缓冲区容量设计_第1张图片

图2—1 遗传算法运算过程

轮盘赌与最优个体保护选择法m文件selection1.m:
function[evo_gen,best_indiv,max_fitness,min_fitness]=selection1(old_gen,fitness)
popsize=length(fitness);
[max_fitness,index1]=max(fitness);
[min_fitness,index2]=min(fitness);
best_indiv=old_gen(index1,:);
index=[1:popsize];
index(index1)=0;
index(index2)=0;
index=nonzeros(index);
evo_gen=old_gen(index,:);
evo_popsize=popsize-2;
ps=evo_fitness/sum(evo_fitness);
pscum=cumsum(ps);
r=rand(1,evo_popsize);
selected=sum(pscum*ones(1,evo_popsize)

万邦股份平地机装配系统缓冲区容量设计_第2张图片
万邦股份平地机装配系统缓冲区容量设计_第3张图片
万邦股份平地机装配系统缓冲区容量设计_第4张图片
万邦股份平地机装配系统缓冲区容量设计_第5张图片
万邦股份平地机装配系统缓冲区容量设计_第6张图片
万邦股份平地机装配系统缓冲区容量设计_第7张图片
万邦股份平地机装配系统缓冲区容量设计_第8张图片
万邦股份平地机装配系统缓冲区容量设计_第9张图片
万邦股份平地机装配系统缓冲区容量设计_第10张图片
万邦股份平地机装配系统缓冲区容量设计_第11张图片
万邦股份平地机装配系统缓冲区容量设计_第12张图片

你可能感兴趣的:(算法,matlab,机器学习,平地机装配系统,缓冲区容量设计)