第一篇:基于遗传算法的优化设计论文
1数学模型的建立
影响抄板落料特性的主要因素有:抄板的几何尺寸a和b、圆筒半径R、圆筒的转速n、抄板安装角β以及折弯抄板间的夹角θ等[4,9]。在不同的参数a、β、θ下,抄板的安装会出现如图1所示的情况。图1描述了不同参数组合下抄板的落料特性横截面示意图。其中,图1(a)与图1(b)、图1(c)、图1(d)的区别在于其安装角为钝角。当安装角不为钝角且OB与OC的夹角σ不小于OD与OC夹角ψ时(即σ≥ψ),会出现图1(b)所示的安装情况;当σ<ψ时,又会出现图1(c)与图1(d)所示的情况,而两者区别在于,η+θ是否超过180°,若不超过,则为图1(c)情况,反之则为图1(d)情况。其中,点A为抄板上物料表面与筒壁的接触点或为物料表面与抄板横向长度b边的交点;点B为抄板的顶点;点C为抄板折弯点;点D为抄板边与筒壁的交点;点E为OB连线与圆筒内壁面的交点;点F为OC连线与圆筒内壁面的交点。
1.1动力学休止角(γ)[4,10]抄板上的物料表面在初始状态时保持稳定,直到物料表面与水平面的夹角大于物料的休止角(最大稳定角)时才发生落料情况。随着转筒的转动,抄板上物料的坡度会一直发生改变。当物料的坡度大于最大稳定角时,物料开始掉落。此时,由于物料的下落,物料表面重新达到最大稳定角开始停止掉落。然而,抄板一直随着转筒转动,使得抄板内物料的坡度一直发生改变,物料坡度又超过最大休止角。这个过程一直持续到抄板转动到一定位置(即抄板位置处于最大落料角δL时),此时抄板内的物料落空。通常,在计算抄板持有量时,会采用动力学休止角来作为物料发生掉落的依据,即抄板内的物料坡度超过γ时,物料开始掉落。该角主要与抄板在滚筒中的位置δ、动摩擦因数μ和弗劳德数Fr等有关。
1.2抄板持有量的计算
随着抄板的转动,一般可以将落料过程划分为3部分(R-1,R-2,R-3),如图1(a)所示。在转动过程中,当抄板转角δ超过动力学休止角γ时,落料过程从R-1区域转变到R-2区域,在这两个区域内,物料不仅受到抄板的作用还受到滚筒壁面的作用。当物料表面上的A点与D点重合时,从R-2区域转变到R-3区域,在该区域内,物料仅受抄板作用[4]。然而,抄板情况为图1(c)、图1(d)时只会经历R-1、R-3区域。因为在运转过程中,抄板上物料的A点与D点重合时抄板的转角不会超过动力学休止角γ,所以不会经历R-2区域;但是,当物料的休止角足够小时,由于物料表面只会与抄板接触(即A点不会超出D点),图1(c)、图1(d)的抄板落料过程只会经历R-3区域。以下根据不同的区域建立了不同组合下抄板持料量的数学模型。
2研究结果与分析
2.1最大落料角结果分析
通过MatLab编制以上推导公式的计算程序,模拟计算了120种不同组合(β、θ、a不同)下抄板的最大落料角。其中,物料动摩擦因数为0.53[8],转筒干燥机半径为300mm,且其抄板安装角为10°、30°、50°、70°、90°、110°,抄板间夹角为90°、110°、130°、150°,抄板纵向长度a为30、45、60、75、90mm,横向长度b为60mm。并且,根据Kelly和O'Donnell通过验证得出的公式(1)只适用于Fr小于0.4的情况[4],此次模拟的转筒干燥机角速度为0.84rad/s。表1给出了模拟结果中较为典型的数据。从模拟结果中可以得出,当a、θ不变时,δL随着安装角β的增大而增大;当a、β不变时,δL随着θ的增大而减小。当抄板情况如图1(a)、(b)、(c)时,且β、θ不变时,抄板最大落料角随着长度a的增大而增大;而图1(d)情况则反之,并且会出现最大落料角小于0°的情况,这是由于抄板无法抄起物料所导致的结果。另外,在图1(d)情况下,抄板的最大落料角非常小,这会使得干燥器的效率很低。因此,在探讨抄板优化问题上,不考虑图1(d)这种情况下的抄板。
2.2优化目标与结果分析
水平直径上均匀撒料虽好,但是物料应与热气均匀接触,如果在路径长的地方撒料多些,就可以使热效率高些。又因为圆筒中心热气量比边缘多以及在圆筒下半部分超出干燥圆的区域存在物料,所以落料均匀度考虑为物料在干燥圆横截面积上撒料均匀。评判干燥圆横截面积上落料均匀的具体方法如下:把干燥圆横截面积划分20个等分,以水平直径为X轴,铅垂直径为Y轴,圆心O为原点,采用定积分方法求解每个划分点的x坐标,每个划分点的铅垂线与干燥圆壁面(上半部分)有一个交点,连接圆心与每个点,可以得出每条连线与X轴的夹角δi(i=1~21,步长为1,δ1为0°),如图2所示。在合理的设计下,不仅希望落料过程中抄板在干燥圆面积上撒料越均匀越好,δL也应越接近180°越好。因此,优化函数为最大落料角和抄板在干燥圆而积上落料的均方差。并且,根据国内外实际情况,抄板的安装角一般为90°并且抄板间夹角一般不为锐角,由于机构的限制和不考虑图1(d)的情况,在研究抄板优化问题时只探讨安装角在70°~110°、抄板夹角在90°~130°以及抄板纵向长度在30~90mm之间的情况。其余参数同上。采用了线性加权和法来求解此多目标优化结果。其中,f1为1/δL的最优化值,f2为q的最优化值;均方差q=(1n∑ni=1(qi-qa)2)12,每相邻角度落料面积差qi=A(δi)-A(δi+1),qa为面积差的平均值。当δL≤δi+1-δi2,n=i;反之则n=i+1,且δi+1=δL。s1、s2为权重系数,由于干燥器的效率主要与抄板的撒料均匀有关,但是如果落料角很小、撒料很均匀,干燥器效率也不高,综合考虑下,取s1、s2分别为0.4、0.6。通过编写MatLab程序,确定优化函数,然后采用MatLab遗传算法工具箱进行计算,设置相关参数:最大代数为51,种群规模为20,交叉概率为0.2,选择概率为0.5。运行算法并显示结果,β、θ、a较优结果分别为:1.844rad、1.571rad、51.609mm。
3结论
考虑到安装角、抄板夹角以及抄板纵向长度的不同组合情况对抄板落料均匀度以及最大落料角的影响,建立了转筒干燥器中任意参数组合下单个抄板持料量的数学模型。通过对不同组合下的抄板最大落料角进行计算从而得出结论:当抄板纵向长度、抄板夹角不变时,最大落料角随着安装角的增大而增大;当抄板纵向长度、安装角不变时,最大落料角随着抄板夹角的增大而减小。最后,根据优化设计方法,以抄板最大落料角和抄板在干燥圆面积上落料的均方差为目标函数,采用遗传算法得出了较优的抄板参数:安装角为1.844rad、夹角为1.571rad、纵向长度为51.609mm。
第二篇:基于改进遗传算法的配送路径优化方案
基于改进遗传算法的配送路径优化方案
摘要:为了很好地解决物流车辆的线路优化问题(简称VRP),借鉴DNA算法局部寻优能力强的优点,提出新编码方法,以及车辆的行使路线的新的测序方式,很好地解决遗传算法的早熟、局部寻优能力差的问题。通过测试,发现交替使用遗传算法和DNA算法进行全局寻优和局部寻优可以相对较准确、快速的实现车辆线路的寻优。
关键词:遗传算法;DNA算法;VRP
一、引言
物流被誉为经济活动中的“未开发的黑大陆”、企业的“第三利润源泉”。物流的目标在于以最小的费用满足消费者的最大需求,而运输的费用占整个企业物流的40%左右。在运输过程中,配送是其中一个重要的直接与消费者相连接的环节,物流配送车辆的线路优化问题,更是物流配送优化中的关键环节,正确合理的安排车辆的配送线路,可以有效的减少车辆的空驶率,实现合理线路运输,从而降低运输成本,节约运输时间,提高经济效益,达到物流科学化管理。
二、遗传算法与DNA算法
遗传算法是一种基于自然选择和自然遗传机制的自适应的随机搜索算法,它是一种有效的解决最优化问题的方法。
遗传算法求解工程实际最优化问题的基本步骤是:首先对可行域中的个体进行编码;然后在可行域中随机挑选指定群体大小的一些个体组成作为进化起点的第一代群体,并计算每个个体的目标函数值,即该个体的适应度。利用选择机制从群体中随机挑选个体作为繁殖过程前的个体样本。选择机制保证适应度较高的个体能够保留较多的样本;而适应度较低的个体则保留较少的样本,甚至被淘汰。在繁殖过程中,遗传算法提供了交叉和变异两种算法对挑选后的样本进行交换和基因突变。交叉算法交换随机挑选的两个个体的某些位,变异算子则直接对一个个体中的随机挑选的某一位进行突变。这样通过选择和繁殖就产生了下一代群体。重复上述选择和繁殖过程,直到结束条件得到满足为止。进化过程最后一代中的最优解就是用遗传算法解最优化问题所得到的最终结果。
遗传算法是一种自适应随机搜索方法,具有极强的并行机制,在解决整体的搜索问题时,具有很强的鲁棒性和全局寻优能力。但遗传算法忽视了个体潜力的开发而只重视群体整体性能的提高。也就是说,遗传算法能够以较大的概率找到最优区域而不是最优点。因此遗传算法在应用中也有一些不尽人意的地方,主要表现在算法收敛慢、效率低、容易早熟、局部寻优能力差等。
三、基于DNA算法对VRP的局部寻优
为追求DNA计算局部寻优解的质量,我们在算法中加入基于启发式知识的方向搜索策略。在网络拓扑图中,求解某几个节点的最短回路,不需要对整个网络进行问题求解,可以只提取出与节点紧密相关的节点与弧段构成子网络,在子网络中进行问题求解,降低问题规模,提高算法效率。即基于方向策略的限制搜索区域方法[7],比如搜索从北京到沈阳的最短路径,完全可以把南京、重庆等节点排除在搜索空间以外。该方法是一种有损局部寻优算法,即排除了概率极小的子网络外最优路径的可能。
在单条路径寻优中,以该点集作最小凸包,并以该凸包区域作适当扩充的缓冲区,落在缓冲区内的节点与弧段构成子网络进行搜索计算。DNA计算模型即构建在该子网络上进行,在保证有效搜索的基础上多余的边(辅助边)尽量少。
我们这里的VRP可描述为:已知n 个代售点之间的相互费用大小(在编码时用DNA片段的长度来表示),现有一辆配送车必须访遍n个代售点 ,最后又必须返回起始送货点。如何安排车对这些代售点的有向行使路线,可使其行驶路线的总费用最少?以图论术语来说,假设有一个图G =(V,E,W),其中,V是顶点集,E是边集,W是顶点和边的权值集,设D=(dij)是由顶点i和顶点j之间的距离所组成的距离矩阵,VRP就是求出一条通过所有顶点完成配送任务并且总费用最少的有向路径。
(一)算法思想
依据上述思想,为了便于利用DNA计算,我们设计如下的求解该VRP的基本算法:
步骤1 :搜索出所有闭合路径。
步骤2 :找出那些开始于0、结束也是0的固定顶点的闭路经,也就是说,保留那些经过0的固定顶点的闭路经。
步骤3:找出那些经过所有节点至少一次的闭合路径,也就是说,保留0的所有广义Euler闭迹。
步骤4:找出最短的广义Euler闭迹,这就是我们所需的解。
步骤5:确定出配送车路线。
(二)VRP的DNA计算编码以及实施
1、构建VRP的DNA计算编码
先选取节点和弧段的基本寡聚核苷酸片断,通常是根据相应权值的大小先同等放大为正整数,再分别求出节点和弧段的最小公倍数作为基本寡聚核苷酸长度的制定标准。
由于DNA编码片断的数目随着路径条数的增加呈指数增长,如此复杂的编码也将成为DNA计算的技术瓶颈。本文采用基本寡聚核苷酸(K个)连接组合(单独长为4的一条就能形成K4/2种组合,因此所需的寡聚核苷酸的种类大大减少)从很大程度上简化这个过程,尽量减少DNA生物操作而更多地通过合理的编码进行处理,从而大大减少了误差的来源,这也是DNA计算研究的难以解决的问题之一。
2、VRP的DNA计算实施改进
步骤1:将以上各节点和弧段编码好的核苷酸放在不同的试管中加入底物(具有各自相同同位素标记的DNA分子)、适量的引物(固定点所对应的寡聚核苷酸片断的补链)、DNA聚合酶及缓冲液进行PCR扩增,这样在聚合酶的作用下可以使得DNA链成指数增加,各自产生大量的寡聚核苷酸。
步骤2:将第一步中合成的各节点所对应的寡聚核苷酸片断和边所对应的寡聚核苷酸片断混合在一起,加入缓冲液、DNA连接酶使之进行连接反应,这样可以生成所有闭路径,保留这些那些以0点开始和结束DNA链。
步骤3:将第2步的产物进行纯化,然后对于纯化后的产物进行分离。在分离过程中我们首先以表示边权的寡聚核苷酸片断的补链为模板构造探针,然后利用构造的探针对纯化后的产物进行分离。与该探针杂交的DNA链中一定含有该寡聚核苷酸片断,再将之加热变性后保留这些DNA链。这些被保留的DNA链一定包含所有边,也就是说我们找到了所有广义Euler闭迹。
步骤4:对第3步的产物进行琼脂糖浆凝胶电泳,跑在最前面的就是最优的DNA链。
步骤5:将上述步骤的标记产物直接由相关仪器进行读取,从而确定所求VRP的配送路线。
四、总结和展望
VRP是一种NP难题,本文结合遗传算法和DNA算法的各自优势,交替进行全局寻优和局部寻优,从而具有良好的全局性和局部性,在通过对算法本身经过创新改进后对解决VRP等NP难题将有不错的成效。
本文提出采用以基本单位的寡聚核苷酸相连接从而形成不同长度的片断对节点和弧段进行编码,从而避免在融合的过程当中形成发夹结构从而产伪解,而且也减少了生物操作(变性、退火等),使得到所需的DNA寡聚核苷酸源片断变得更加容易。其次,本文提出新的测序方式,即事先就各自进行带标记的核苷酸基片进行PCR复制,从而在检测目标时只需通过强度检验就可以知道寡聚核苷酸片断的连接顺序,映射得到车辆的行使路线,减少了测序操作。
参考文献:
[1] 丁立言,张铎.物流管理[M].北京:清华大学出版社,1999:15-16
[2] 周康,同小军,许进.路径排序问题基于表面的DNA算法[J]华中科技大学学报:自然科学版,2005,33(8),100-103
第三篇:遗传算法学习心得体会
遗传算法
概念
遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种高效、并行、全局搜索的方法,它既能在搜索中自动获取和积累有关空间知识,并自适应地控制搜索过程以求得最优解遗传算法操作使用适者生存的原则,在潜在的解决方案种群中逐次产生一个近视最优方案。在遗传算法的每一代中,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近视解。这个过程导致种群中个体的进化,得到的新个体比原个体更适应环境,就像自然界中的改造一样。
应用
遗传算法在人工智能的众多领域具有广泛应用。例如,机器学习、聚类、控制(如煤气管道控制)、规划(如生产任务规划)、设计(如通信网络设计、布局设计)、调度(如作业车间调度、机器调度、运输问题)、配置(机器配置、分配问题)、组合优化(如tsp、背包问题)、函数的最大值以及图像处理和信号处理等等。遗传算法多用应与复杂函数的优化问题中。原理
遗传算法模拟了自然选择和遗传中发生的复制、交叉、和变异等现象,从任一初始种群出发,通过随机选择、交叉、变异操作,产生一群更适合环境的个体,使群体进行到搜索空间中越来越好的区域,这样一代一代地不断繁衍进化,最后收敛到一群最适合环境的个体求得问题的最优解。
算法流程 1.编码:解空间中的解数据x,作为作为遗传算法的表现型形式。从表现
型到基本型的映射称为编码。遗传算法在进行搜索之前先将解空间的解数据表示成遗传空间的基本型串结构数据,这些串结构数据的不同的组合就构成了不同的点。2.初始种群的形成:随机产生n个初始串数据,每个串数据称为一个个体,n个串数据构成了一个群体。遗传算法以这n个串结构作为初始点开始迭代。设置进化代数计数器t 0;设置最大进行代数t;随机生成m个个体作为初始群体p(0)。3.适应度检测:适应度就是借鉴生物个体对环境的适应程度,适应度函数 就是对问题中的个体对象所设计的表征其优劣的一种测度。根据具体问题计算p(t)的适应度。
4.选择:将选择算子作用于群体。选择的目的是把优化的个体直接遗传到
下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的。
5.交叉:将交叉算子作用于群体。所谓交叉是指把两个父代个体的部分结
构加以替换重组而生成新个体的操作。遗传算法中起核心作用的就是交叉算子。6.变异:将变异算子作用于群体。即是对群体中的个体串的某些基因座上的基因值作变动。
群体p(t)经过选择、交叉、变异运算之后得到下一代群体p(t+1)。7.终止条件判断:若t<=t,则t=t+1,转到第3步,否则以进化过程中所得
到的具有最大适应度个体作为最优解输出,终止计算。
遗传算法流程图如下图所示: 遗传算法
下几种:适应度比例方法、随机遍历抽样法、局部选择法。
其中轮盘赌选择法是最简单也是最常用的选择方法。在该方法中,各个个体的选择概率和其适应度值成比例。设群体大小为n,其中个体i的适应度为,则i 被选择的概率,为遗传算法
2、交叉:在自然界生物进化过程中起核心作用的是生物遗传基因的重组(加上变异)。同样,遗传算法中起核心作用的是遗传操作的交叉算子。所谓交叉是指把两个父代个体的部分结构加以替换重组而生成新个体的操作。通过交叉,遗传算法的搜索能力得以飞跃提高。
交叉算子根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。根据编码表示方法的不同,可以有以下的算法: b)二进制交叉(binary valued crossover)1)单点交叉(single-point crossover)2)多点交叉(multiple-point crossover)3)均匀交叉(uniform crossover)4)洗牌交叉(shuffle crossover)5)缩小代理交叉(crossover with reduced surrogate)。
3、变异
变异算子的基本内容是对群体中的个体串的某些基因座上的基因值作变动。依据个体编码表示方法的不同,可以有以下的算法: a)实值变异 b)二进制变异。
一般来说,变异算子操作的基本步骤如下: a)对群中所有个体以事先设定的编译概率判断是否进行变异 b)对进行变异的个体随机选择变异位进行变异。
例:简单一元函数优化
求下面函数的最大值:
f(x)=xsin(10*pi*x)+2.0,-1<=x<=2;程序: figure(1);fplot(variable.*sin(10*pi*variable)+2.0,[-1,2]);%画出函数曲线 %定义遗传算法参数
nind=40;%个体数目(number of individuals)maxgen=25;%最大遗传代数(maximum number of generations)preci=20;%变量的二进制位数(precision of variables)ggap=0.9;%代沟(generation gap)trace=zeros(2, maxgen);%寻优结果的初始值 fieldd=[20;-1;2;1;0;1;1];%区域描述器(build field descriptor)chrom=crtbp(nind, preci);%初始种群 gen=0;%代计数器 variable=bs2rv(chrom, fieldd);
%计算初始种群的十进制转换
objv=variable.*sin(10*pi*variable)+2.0;%计算目标函数值 while gen 基本概念 遗传算法(genetic algorithms, ga)是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。 它模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解群中选取较优的个体,利用遗传算子(选择、交叉和变异)对这些个体进行组合,产生新一代的候选解群,重复此过程,直到满足某种收敛指标为止。ga的组成:(1)编码(产生初始种群) (2)适应度函数 (3)遗传算子(选择、交叉、变异) (4)运行参数 编码 基因在一定能够意义上包含了它所代表的问题的解。基因的编码方式有很多,这也取决于要解决的问题本身。常见的编码方式有: (1)二进制编码,基因用0或1表示(常用于解决01背包问题)如:基因a:00100011010(代表一个个体的染色体)(2)互换编码(用于解决排序问题,如旅行商问题和调度问题) 如旅行商问题中,一串基因编码用来表示遍历的城市顺序,如:234517986,表示九个城市中,先经过城市2,再经过城市3,依此类推。 (3)树形编码(用于遗传规划中的演化编程或者表示) 如,问题:给定了很多组输入和输出。请你为这些输入输出选择一个函数,使得这个函数把每个输入尽可能近地映射为输出。 编码方法:基因就是树形结构中的一些函数。 (4)值编码(二进制编码不好用时,解决复杂的数值问题) 在值编码中,每个基因就是一串取值。这些取值可以是与问题有关任何值:整数,实数,字符或者其他一些更复杂的东西。 适应度函数 遗传算法对一个个体(解)的好坏用适应度函数值来评价,适应度函数值越大,解的质量越好。适应度函数是遗传算法进化过程的驱动力,也是进行自然选择的唯一标准,它的设计应结合求解问题本身的要求而定。 如tsp问题,遍历各城市路径之和越小越好,这样可以用可能的最大路径长度减去实际经过的路径长度,作为该问题的适应度函数。 遗传算子——选择 遗传算法使用选择运算来实现对群体中的个体进行优胜劣汰操作:适应度高的个体被遗传到下一代群体中的概率大;适应度低的个体,被遗传到下一代群体中的概率小。选择操作的任务就是按某种方法从父代群体中选取一些个体,遗传到下一代群体。sga(基本遗传算法)中采用轮盘赌选择方法。 轮盘赌选择又称比例选择算子,基本思想:各个个体被选中的概率与其适应度函数值大小成正比。设群体大小为n,个体i 的适应度为 fi,则个体i 被选中遗传到下一代群体的概率为: 遗传算子——交叉 所谓交叉运算,是指对两个相互配对的染色体依据交叉概率按某种方式相互交换其部分基因,从而形成两个新的个体。交叉运算在ga中起关键作用,是产生新个体的主要方法。1.单交叉点法(用于二进制编码) 选择一个交叉点,子代在交叉点前面的基因从一个父代基因那里得到,后面的部分从另外一个父代基因那里得到。 如:交叉前: 00000|***00 11100|***01 交叉后: 00000|***01 11100|***00 2.双交叉点法(用于二进制编码) 选择两个交叉点,子代基因在两个交叉点间部分来自一个父代基因,其余部分来自于另外一个父代基因.如:交叉前: 01 |0010| 11 11 |0111| 01 交叉后: 11 |0010| 01 01 |0111| 11 3.基于“ 与/或 ”交叉法(用于二进制编码)对父代按位与”逻辑运算产生一子代a;按位”或”逻辑运算产生另一子代b。该交叉策略在解背包问题中效果较好.如:交叉前: 01001011 11011101 交叉后: 01001001 11011111 4.单交叉点法(用于互换编码) 选择一个交叉点,子代的从初始位置出发的部分从一个基因复制,然后在另一个基因中扫描,如果某个位点在子代中没有,就把它添加进去。如:交叉前: 87213 | 09546 98356 | 71420 交叉后: 87213 | 95640 98356 | 72104 5.部分匹配交叉(pmx)法(用于互换编码)先随机产生两个交叉点,定义这两点间的区域为匹配区域,并用交换两个父代的匹配区域。 父代a:872 | 130 | 9546 父代b:983 | 567 | 1420 变为: temp a: 872 | 567 | 9546 temp b: 983 | 130 | 1420 对于 temp a、temp b中匹配区域以外出现的数码重复,要依据匹配区域内的位置逐一进行替换。匹配关系:1<——>5 3<——>6 7<——>0 子代a:802 | 567 | 9143 子代b:986 | 130 | 5427 6.顺序交叉法(ox)(用于互换编码) 从父代a随机选一个编码子串,放到子代a的对应位置;子代a空余的位置从父代b中按b的顺序选取(与己有编码不重复)。同理可得子代b。父代a: 872 | 139 | 0546 父代b: 983 | 567 | 1420 交叉后: 子代a: 856 | 139 | 7420 子代b: 821 | 567 | 3904 7.循环交叉(cx)法(用于互换编码)cx同ox交叉都是从一个亲代中取一些城市,而其它城市来自另外一个亲代,但是二者不同之处在于:ox中来自第一个亲代的编码子串是随机产生的,而cx却不是,它是根据两个双亲相应位置的编码而确定的。 父代a:1 2 3 4 5 6 7 8 9 | | | | | 父代a:5 4 6 9 2 3 7 8 1 可得循环基因:1->5->2->4->9->1 用循环的基因构成子代a,顺序与父代a一样 1 2 4 5 9 用父代b剩余的基因填满子代a: 1 2 6 4 5 3 7 8 9 子代b的编码同理。(循环基因 5->1->9->4->2->5) 遗传算子——变异 变异是指依据变异概率将个体编码串中的某些基因值用其它基因值来替换,从而形成一个新的个体。ga中的变异运算是产生新个体的辅助方法,它决定了ga的局部搜索能力,同时保持种群的多样性。交叉运算和变异运算的相互配合,共同完成对搜索空间的全局搜索和局部搜索。 注:变异概率pm不能太小,这样降低全局搜索能力;也不能太大,pm > 0.5,这时ga退化为随机搜索。篇三:计算智能学习心得体会 计算智能学习心得体会 本学期我们水利水电专业开了“计算智能概论”这门课,有我们学院的金菊良教授给我们授课,据说这门课相当难理解,我们课下做了充分的准备,借了计算智能和人工智能相关方面的书籍,并提前了解了一点相关知识,我感觉看着有点先进,给我们以往学的课程有很大区别,是一种全新的概念和理论,里面的遗传算法、模糊集理论、神经网络更是闻所未闻,由于课前读了一些书籍,我以为课堂上应该能容易理解一点,想不到课堂上听着还是相当玄奥,遗传算法还好一点,因为高中学过生物遗传,遗传算法还能理解一点。像模糊集理论神经网络便不知所云了。虽然金老师讲课生动形象,幽默风趣,而且举了好多实际的例子,但有一些理论有点偏难。 多关于ci的解释。 虽然有好多计算智能理论还不太清楚,但是我对新知识还是相当渴望的,因为我本身比较爱学习,且喜欢读书。我感觉学到了许多知识:计算智能是一门经验科学,它研究自然的或人工的智能行为形成之原理以“推理即计算”为基本假设,开发某种理论、说明某项智能可以算法化,从而可以用机器模拟和实现;寻求和接受自然智能之启迪,但不企图完全仿制人类智能,其中心工程目标是研究设计和建立智能计算系统的方法。 由于我们只有16课时,所以我们学的面并不广,金老师主要教了一些计算智能方面的经典理论,我们所学的计算智能所涉及的领域主要包括以下三方面:遗传算法、人工神经网络方法和模糊集理论。 遗传算法最早由美国michigan大学john h.holland教授提出,按照生物进化过程中的自然选择(selection)、父代杂交(crossover)和子代变异(mutation)的自然进化(natural evolution)方式,编制的计算机程序,能够解决许多复杂的优化问题,这类新的优化方法称之为遗传算法(genetic algorithm,ga)[7]。ga模拟生物进化过程中的主要特征有:(1)生物个体的染色体(chromosomes)的结构特征,即基因码序列(series of genetic code)决定了该个体对其生存环境的适应能力。(2)自然选择在生物群体(population)进化过程中起着主导作用,它决定了群体中那些适应能力(adaptability)强的个体能够生存下来并传宗接代,体现了“优胜劣汰”的进化规律。(3)个体繁殖(杂交)是通过父代个体间交换基因材料来实现的,生成的子代个体的染色体特征可能与父代的相似,也可能与父代的有显著差异,从而有可能改变个体适应环境的能力。 (4)变异使子代个体的染色体有别于其父代个体的染色体,从而也改变了子代个体对其环境的适应能力。(5)生物的进化过程,从微观上看是生物个体的染色体特征不断改善的过程,从宏观上看则是生物个体的适应能力不断提高的过程。作为利用自然选择和群体遗传机制进行高维非线性空间寻优的一类通用方法,遗传算法(ga)不一定能寻得最优(optimal)点,但是它可以找到更优(superior)点,这种思路与人类行为中成功的标志是相似的。例如不必要求某个围棋高手是最优的,要战胜对手只需他(她)比其对手更强即可。因此,ga可能会暂时停留在某些非最优点上,直到变异发生使它迁移到另一更优点上。遗传算法随编码 方式、遗传操作算子的不同而表现为不同形式,因此难以象传统的共轭梯度法那样从形式上给以明确定义,它的识别标志在于它是否具有模拟生物的自然选择和群体遗传机理这一内在特征。目前国内外普遍应用的实施方案是标准遗传算法(simple genetic algorithm,sga)。bp神经网络 bp神经网络是用反向传播学习算法(back-propagation algorithm,bp算法)训练的一种多层前馈型非线性映射网络,网络中各神经元接受前一级的输入,并输出到下一级,网络中没有反馈联接。bp神经网络通常可以分为不同的层(级),第j层的输入仅与第j–1层的输出联接。由于输入层节点和输出层节点可与外界相连,直接接受环境的影响,所以称为可见层,而其它中间层则称为隐层(hidden layer)。决定一个bp神经网络性质的要素有三个:网络结构、神经元作用函数和学习算法,对这三个要素的研究构成了丰富多彩的内容,尤其是后者被研究得最多。bp算法是目前应用最为广泛且较成功的一种算法,它解决了多层前馈网络的学习问题,从而使该网络在各方面获得了广泛应用。它利用梯度搜索技术(gradient search technique)使代价函数(cost function)最小化。bp算法把一组样本的输入输出问题归纳为一非线性优化问题,它使用了最优化方法中最常用的负梯度下降算法。用迭代运算求解网络权重和阈值对应于网络的学习记忆过程,加入隐层节点使得优化问题的可调参数增加,从而可得到更精确的解。 模糊集理论 模糊集理论(又称模糊数学,fuzzy mathematics)就是应用模糊集这一模拟人脑模糊思维的数学工具,来描述、分析、识别、分类、判断、推理、决策和控制各种模糊事物所形成的一门现代应用数学分支学科。经典数学仅考虑现实世界的数量而抛弃现实世界的质量,而模糊集理论则反映了现实世界数量与质量的统一性,是对经典数学的一种补充和完善。定义模糊集、模糊关系的不同运算(目前主要是代数运算),就可得到相应的不同模糊数学方法。目前已研究成熟并广为应用的模糊数学方法主要有模糊模式识别、模糊聚类分析、模糊综合评价、模糊推理、模糊控制等方法。在现代科学技术体系中定性因素和主观因素定量化处理的方法至今仍很少,而模糊数学方法正是其中的典型代表,目前已在各科学和工程领域得到了广泛的成功应用,其主要原因在于它异于其它方法的一些显著特点:(1)模糊集的引入改善了二值逻辑中硬性的分类方法,是普通集合的推广,使模糊数学方法更加接近于广泛存在模糊性和不精确性的现实世界,也更加接近于人类思维方式。这些真实性使得模糊数学方法能很好地平衡系统的复杂性与描述系统的精确性,也有助于模糊数学方法充分提取各种专家经验信息和其它人类语言信息。(2)当系统为多输入多输出、强非线性、定性信息与定量信息混杂的动态系统时,系统的数学模型非常复杂或根本就不存在确定性数学模型,常规方法难以或不能有效处理这样的复杂系统,而模糊数学方法可以用建立在语言型经验之上的模糊集及其运算就可以简便有效地处理,有时甚至不需要辅以确定的数学模型。(3)模糊数学方法可以直接利用人类语言型概念及其运算,篇四:遗传算法总结 遗传算法总结 遗传算法是借鉴生物的自然选择和遗传进化机制而开发出的一种全局自适应概率搜索算法。 一、遗传算法流程图 图1 遗传算法流程图 二、遗传算法的原理和方法 1)染色体编码 把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法就称为编码。de jong曾提出了两条操作性较强的实用编码原则:编码原则一:应使用能易于产生与所求问题相关的且具有低阶、短定义长度模式的编码方案;编码原则二:应使用能使问题得到自然表示或描述的具有最小编码字符集的编码方案。 编码方法主要有以下几种:二进制编码方法、格雷码编码方法、浮点数编码方法、符号编码方法、参数级联编码方法、多参数交叉编码方法。2)适应值计算 由解空间中某一点的目标函数值f(x)到搜索空间中对应个体的适应度函数值 fit(f(x))的转换方法基本上有一下三种: a. 直接以待解的目标函数值f(x)转化为适应度函数值fit(f(x)),令 ?f(x)目标函数为最大化函数 fit(fx())= ? ??f(x)目标函数为最小化函数 ?cmax?f(x)f(x)?cmax b. 对于最小值的问题,做下列转化fit(f(x))??,其中cmax是 0 其他? f(x)的最大输入值。 c. 若目标函数为最小值问题,fit(f(x))? 1 , c?0, c?f(x)?0 1?c?f(x)1 , c?0, c?f(x)?0 1?c?f(x)若目标函数为最大值问题,fit(f(x))?3)选择、交叉、变异 遗传算法使用选择算子来对群体中的个体进行优胜劣汰操作:根据每个个体的适应度值大小选择。适应度较高的个体被遗传到下一代群体中的概率较大;适应度较低的个体的被遗传到下一代群体中的概率较小。其中选择的方法有:轮盘赌选择、随机竞争选择、最佳保留选择、无回放随机选择、确定式选择等。 遗传算法中的所谓交叉运算,是指对两个相互配对的染色体按某种方式相互交换其部分基因,从而形成两个新的个体。交叉操作主要有单点交叉、两点交叉与多点交叉、均匀交叉和算数交叉四种。 遗传算法中的变异运算,是指将个体染色体编码串中的某些基因座上的基因值用该基因座的其他基因来替换,从而形成一个新的个体。主要有基本位变异、均匀变异、边界变异等几种变异操作方法。4)控制参数选择 交叉概率pcpm 三、算例 min f(x1,x2)?(x1?3)2?(x2?2)2 2 ?g1(x1,x2)?x12?x2?5? s.t.?h1(x1,x2)?x1?2x2?4?0?x,x?10,x?n 121?(1)1)三种不同的遗传方法 方法一:原模型中x1、x2均为决策变量,操作如下。a.采用混合整数编码,对x1进行十进制编码,x2进行二进制编码; b.适应度函数值采用fit(f(x1,x2))? 1 计算,其中 c?f(x1,x2)c???max{0,g1(x1,x2)?5}???max{0,|h1(x1,x2)?4|},?=?=10000; c.采用赌轮盘选择、单点交叉和基本位变异; d.pc=0.8,pm=0.1,遗传代数为200,种群中个体数100; e.终止条件为连续十次最优个体保持不变或遗传代数到达200。方法二:已知等式约束h1(x1,x2),可得x2?(4?x1)/2,则原问题可化为 min f(x1)?(x1?3)2?((4?x1)?2)22(2)4?x12?2 g(x)?x?()?5111? 2?s..t?0?x1?10,x1?n?4?x1?0??10 2? x min f(x1)?(x1?3)2?(1)2 2 即等式约束简化后的模型为 4?x12?2 g(x)?x?()?5?1 s..t?112??0?x1?4,x1?n 其中a~b的操作如下,而c~e的操作同方法一。a.对x1进行十进制编码; b.适应度函数值采用fit(f(x1,x2))?(3)1 计算,其中 c?f(x1,x2)c???max{0,g1(x1,x2)?5},?=10000 方法三:在方法二的基础上,改变x1的编码方法,对x1进行二进制编码。由于0?x1?4,且为自然数,则二进制编码至少为3位,但3位的二进制可以表示0~7的整数,所以存在冗余编码。则通过惩罚来排除冗余编码,即适应度函数值采用 fit(f(x1,x2))? 1 计算。c?f(x1,x2)其中c???max{0,g1(x1,x2)?5}???max{0,x1(i)?4},?=10000。x1(i)表示个体解码后的x1。 2)三种方法的计算结果 方法一可得到三个不同的解: 解1:x1?2,x2?1, fit(f(x1,x2))?0.4646, f(x)?2.0000,适应度趋势图如下: 图2 方法一解1的适应度趋势图 解2:x1?0,x2?2, fit(f(x1,x2))?0.1075, f(x)?9.0000,适应度趋势图如下: 篇五:遗传算法学习作业 遗传算法学习总结 1.1 概述 遗传算法是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的自适应概率性随机化迭代搜索算法。1962年霍兰德(holland)教授首次提出了ga算法的思想,它的基本思想是基于darwin进化论和mendel的遗传演说。darwin进化论最重要的是适者生存的原理,它认为每一代种群总是向着前进方向发展,越来越适应环境。每一个个体都有继承前代的特性,但不是完全继承,会产生一些新特性。最终只有适应环境的特征才能被保留下来。mendel遗传学说最重要的是基因遗传原理,它认为遗传以密码方式存在细胞中,并以基因形式包含在染色体内。一条染色体中存在很多基因,每个基因有自己的位置并控制着外部特征;基因的产生和变异直接影响到个体的特性是否能适应环境。经过存优去劣的自然淘汰,适应性高的基因结构得以保存下来。 遗传算法正是借用了仿真生物遗传学和自然选择机理,通过自然选择、遗传、变异等作用机制,实现各个个体的适应性的提高。 与自然界相似,遗传算法对求解问题的本身一无所知,从代表问题可能潜在解集的一个种群(population)开始,每一个种群则由经过基因(gene)编码(coding)的一定数目的个体(individual)构成。每个个体实际上是染色体(chromosome)带有特征的实体。把问题的解表示成染色体,并基于适应值来选择染色体,遗传算法所需要的仅是对算法所产生的每个染色体进行评价,使适应性好的染色体有更多的繁殖机会。在算法中也就是以二进制编码的串。并且,在执行遗传算法之前,给出一群染色体,也就是假设解。然后,把这些假设解置于问题的“环境”中,也即在一个适应度函数中来评价。并按适者生存的原则,从中选择出较适应环境的染色体进行复制,淘汰低适应度的个体,再通过交叉,变异过程产生更适应环境的新一代染色体群。对这个新种群进行下一轮进化,直到最适合环境的值。1.2遗传算法的基本原理和特点 1.2.1 算法原理 在遗传算法中,通过随机方式产生若干个所求解问题的数字编码,即染色体,形成初始种群;通过适应度函数给每个个体一个数值评价,淘汰低适应度的个体,选择高适应度的个体参加遗传操作,经过遗传操作后的个体集合形成下一代新的种群,再对这个新种群进行下一轮进化,这就是遗传算法的基本原理。 遗传算法的主要步骤如下: 1)随机产生一个由确定长度的特征串组成的初始群体; 2)对串群体迭代地执行步骤(1)和(2),直到满足停止准则:(1)计算群体中每个个体的适应值。(2)应用复制、杂交和变异算子产生下一代群体。3)把在任一代中出现的最好的个体串指定为遗传算法的执行结果。这个结果可以表示问题的一个解(或近似解)。基本遗传算法的流程图如图 1-1,其中gen是当前代数,m为每代种群中最大个体数。 图1-1 基本遗传算法的流程图 1.2.2 算法特点 遗传算法的特点如下: 1)遗传算法中不包含待解决问题所持有的形态。它是从改变基因的配置来实现问题的整体优化的,因而属于自下而上的优化方法; 2)类似于生物的进化过程,遗传算法处理的是变量集合的编码而非变量本身。它直接 对结构对象进行操作,不存在求导和函数连续性的限定; 3)遗传算法具有内在的隐并行性和更好的全局寻优能力; 4)遗传算法采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。 遗传算法的这些特点已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术之一。1.3 基本遗传算法的步骤 1.3.1 染色体编码(chromosome coding)与解码(decode)基本遗传算法使用固定长度的二进制符号串来表示群体中的个体,其等位基因由二值{0,1}所组成。初始群体中各个个体的基因可用均匀分布的随机数来生成。例如:x=***101就可表示一个个体,该个体的染色体长度是n=18。(1)编码:变量x作为实数,可以视为遗传算法的表现型形式。从表现型到基因型的映射称为编码。设某一参数的取值范围为[u1,u2],我们用长度为k的二进制编码符号来表示该参数,则它总共产生2k种不同的编码,可使参数编码时的对应关系为: 000000?0000=0→u1 000000?0001=1→u1+? 000000?0010=2→u1+2? ? 111111?1111=2k-1→u2 u?u其中,?=2 k1。2?1(2)解码:假设某一个体的编码为bkbk-1bk-2?b2b1,则对应的解码公式为 x?u1?(?bi?2i?1)? i?1ku2?u1 ① k2?1 例如:设有参数x∈[2,4],现用5位二进制编码对x进行编码,得25=32个二进制串(染色体): 00000,00001,00010,00011,00100,00101,00110,00111 01000,01001,01010,01011,01100,01101,01110,01111 10000,10001,10010,10011,10100,10101,10110,10111 11000,11001,11010,11011,11100,11101,11110,11111 对于任一个二进制串,只要代入公式①,就可得到相应的解码,如x22=10101,它对应的十进制为?bi?2i?1=1+0*2+1*22+0*23+1*24=21,则对应参数 i?15 x的值为2+21*(4-2)/(25-1)=3.3548。1.3.2 个体适应度的检测评估 基本遗传算法按与个体适应度成正比的概率来决定当前群体中各个个体遗传到下一代群体中的机会多少。为了正确估计这个概率,要求所有个体的适应度 必须为非负数。所以,根据不同种类的问题,需要预先确定好由目标函数值到个体适应度之间的转换规律,特别是要预先确定好当目标函数值为负数时的处理方法。例如,可选取一个适当大的正数c,使个体的适应度为目标函数值加上正数c。1.3.3 遗传算子 基本遗传算法使用下列三种遗传算子: (1)选择运算使用比例选择算子。比例选择因子是利用比例于各个个体适应度的概率决定其子孙的遗传可能性。若设种群数为m,个体i的适应度为fi,则个体i被选取的概率为 pi?fi/?fk k?1m 当个体选择的概率给定后,产生[0,1]之间的均匀随机数来决定哪个个体参加交配。若个体的选择概率大,则能被多次选中,它的遗传基因就会在种群中扩大;若个体的选择概率小,则被淘汰。 我们经常采用的是轮盘赌的原理,个体的选择概率是基于它们的性能进行的一些计算。实值范围——总和是所有个体期望的选择概率的总和或当前种群中所有个体原始适应度值的总和。个体采用一对一方式 映像到范围[0,sum]的一连续区间,每一个体区间的 大小与对应个体的适应度值相匹配。如图1所示,轮 盘赌轮的周长是6个个体适应度值的总和,个体5 是最大适应度个体,它占有最大的区间。选择一个个 体,用在[0,sum]间产生随机数,看此随机数在哪个 个体的区间上,则此个体被选中。重复此过程,直到 所需数量个体被选中为止。 (2)交叉运算使用单点交叉算子。只有一个交叉点位置,任意挑选经过选择操作后种群中两个个体作为交叉对象,随机产生一个交叉点位置,两个个体在交叉点位置互换部分基因码,形成两个子个体,如图2所示。 父个体1 父个体2 110 11 011 00 单点交叉 子个体1 子个体2 图2 单点交叉示意图 (3)变异运算使用基本位变异算子或均匀变异算子。为了避免问题 过早收敛,对于二进制的基因码组成的个体种群,实现基因码的小概率翻转,即0变为1,而1变为0,如图3所示。 变异 图3 变异操作示意图 1.3.4 基本遗传算法的运行参数 基本遗传算法有下列4个运行参数需要预先设定,即m,t,pc,pm。m为群体大小,即群体中所含个体的数量,一般取为20~100; t为遗传算法的终止进化代数,一般取为100~500; pc为交叉概率,一般取为0.4~0.99;pm为变异概率,一般取为0.0001~0.1。1.4遗传算法的应用 进入90年代后,遗传算法迎来了兴盛发展时期,无论是理论研究还是应用研究都成了十分热门的课题。尤其是遗传算法的应用研究显得格外活跃,不但它的应用领域扩大,而且利用遗传进行优化和规则学习的能力也显著提高,同时产业应用方面的研究也在摸索之中。 遗传算法提供了一种求解复杂系统问题的通用框架,它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于很多学科。如工程结构优化、计算数学、制造系统、航空航天、交通、计算机科学、通信、电子学、材料科学等。1)ga在数值优化上的应用 最优化问题是遗传算法经典应用领域,但采用常规方法对于大规模、多峰态函数、含离散变量等问题的有效解决往往存在许多障碍。对全局变化问题,目前存在确定性和非确定性两类方法。前者以brianin的下降轨线法、levy的隧道法和r.ge的填充函数为代表。该类方法虽然收敛快、计算效率高,但算法复杂,求得全局极值的概率不大。遗传算法作为现代最优化的手段,实践证明,它应用于大规模、多峰多态函数、含离散变量等情况下的全局优化问题是合适的,在求解速度和质量上远远超过常规方法。2)ga 在组合优化中的应用 3)遗传算法在机器学习中的应用 机器学习系统实际上是对人的学习机制的一种抽象和模拟,是一种理想的学习模型。基于符号学习的机器学习系统如监督型学习系统、条件反射学习系统、类比式学习系统、推理学习系统等,只具备一些较初级的学习能力。近年来,由于遗传算法的发展,基于进化机制遗传学习成为一种新的机器学习方法,它将知识表达为另一种符号形式—遗传基因型,通过模拟生物的进化过程,实现专门领域知识的合理增长型学习。4)遗传算法在并行处理中的应用 遗传算法固有的并行性和大规模并行机的快速发展,促使许多研究者开始研究遗传算法的并行化问题,研究数量更加接近自然界的软件群体将成为可能。遗传算法与并行计算的结合,能把并行机的高速性和遗传算法固有的并行性两者的长处彼此结合起来,从而也促进了并行遗传算法的研究与发展。 基于遗传算法的排课系统设计开题报告 课题的意义 每个新学期开始,对于学校教务科来说首要而急需完成的任务是:如何合理而高效的排课。其本质是将课程、教师和学生在合适的时间段内分配到合适的教室中。但由于涉及到的问题较多,同时学校扩招,学生和课程数量比以往大大增加,教室资源明显不足,在这种情况下排课很难在同时兼顾多重条件限制的情况下用人工方式排出令教师和学生都满意的课表。 虽然排课问题很早以前就成为众多科研人员和软件公司的研究课题,但是真正投入使用的排课软件却很少。原因是多方面的,其中算法的选择是最关键的一个问题,S.Even等人在1975年的研究中证明了排课问题是一个NP-Complete问题,即若是用“穷举法”之外的算法找出最佳解是不可能的。然而由于穷举法成本太高,时间太长,根本无法在计算机上实现。如果假设一个星期有n个时段可排课,有m位教师需要参与排课,平均每位教师一个星期上k节课,在不考虑其他限制情况下,能够推出的可能组合就有nm*k种,如此高的复杂度是目前计算机所无法承受的。而遗传算法的出现正好解决了排课在算法上的问题,可以很有效的求出最优解。轻松而快速的解决了困扰教务科的一大难题,能在短时间内排出符合各项条件的课程表。国内外研究现状 计算机排课问题是一个多目标,有限资源,带有模糊约束条件的组合规划问题,是计算机应用领域一个具有代表性的问题。20世纪60年代末,Gotlieb.C.C教授就对课程表问题进行了形式化描述。随后,此类研究发展起来。70年代中期,S.Even等人就论证了课表问题是NP完全类问题,将该问题理论化,同时也说明课表问题有其自身的理论化模型,即课表问题存在解。并且能找到解。但是根据计算和难解性理论,目前还没有解决NP完全类问题的多项式算法。到1979年,Schmit 和Strohein在文献中就列出了 300多篇已发表的文献。近年来研究这一问题的人员不断增多,国外的运筹学杂志几乎每年都有相关内容的文章那个发表,此外它还广泛的出现在计算机,应用数学,教育管理等杂志上。80年代初,我国的很多大学也开始研究排课系统软件。大体上说这些排课系统软件可以分为两大类:第一类以所谓班——教员模型为主,它是在Gotlieb.C.C工作的基础上发展起来的。主要讨论此模型的定义扩充,解的特性及分析,不断提出新的猜测和推论。基本模型变化不大,并且这类模型适合课程长度一致,无合班教室的情况,并不适合一般院校的实际情况。第二类事所谓的课程调度问题,多于图的节点的着色问题有关,模型一旦产生,它的变量往往太多,规模太大,此外根据具体的校情对模型提出的各式各样要求对模型影响较大,有的甚至没有具体的模型可寻。通过对资料的查阅发现以往对课程问题的研究多侧重于自动生成,难度较大实现不易,往往是理论研究上的工作多,而实际应用方面的工作很少。有一些实际的例子,也往往是特定条件下对实际情况简化得到的,至今还没有自动生成可课表系统的软件应用于实际。对计算机而言,不像人工编排那样可以对任何情况进行合理的取舍,因此不存在完全冲突的课表很难排出来。 国内高校排课系统中,大连理工大学是从事此类软件开发较早单位。1987年该校开发了《教学组织管理及课程调度系统》1.00版本,之后在此基础上又推出了《教学组织管理及课程调度系统》2.00版本,1902年又推出了《教学组织管理及课程调度系统》2.01版本和安排考试补考的《考试调度系统》。1994年又推出了《教学调度系统》2.20版本。1998年 年推出的在Windows下运行的3.00版,现在在各大高校使用比较多,反映较好的有大连理工大学开发的系统和清华大学开发的《综合教务排课系统》,以及北京大学开发上的一套比较新的排课管理系统。 3毕业设计论文的主要内容 1.遗传算法的形成及基本应用,遗传算法的基本实现技术和特点。 2.排课中所要考虑的约束条件,课表编排的基本规则和课表编排中存在的矛盾和问题 3.将遗传算法应用于排课系统; 4.所采用的方法、手段以及步骤等 1.详细了解课表编排中存在的矛盾和课表编排的规则,将其逐条列举出来,选取必须兼顾的重要的约束条件,2.分析学生,教师,课程,教室之间的关系建立概念模型和逻辑模型 3.产生初试种群 4冲突检测和消除:对各种冲突进行检测,如有冲突则消除它 5计算适应度函数 期望值 6遗传操作包括选择 交叉 变异 7可行课表的生成 5.阶段进度计划 第一周——第三周:查阅资料,学习遗传算法的基本理论,查阅相关文献完成 开题报告 第四周——第五周:详细学习遗产算法,并对所做课题进行详细构思 第六周——第七周: 完成英文资料的翻译 第八周——第九周 :分析调查排课问题所面临的具体问题和矛盾以及缩影可考虑的因素,分析找出座位乖蹇的约束条件 第七周——第九周:对各个模块进行设计 第十周——第十一周:对各个部分进行分析完善 第十二周——第十三周:撰写论文 第十四周:完成PowerPoint制作的论文答辩电子稿 第十五周——第十六周:论文答辩 6参考文献 周明 孙树栋《遗传算法原理及应用》国防工业出版社 1996.6 徐艳斌 基于遗传算法的高校排课系统设计与分析(硕士生论文) 基于隐式性能指标的机械振动优化设计 【摘要】近些年,优化算法已经成为研究与应用领域一种非常重要的工具,利用遗传算法的优化原理,普通遗传算法在解决机械振动优化设计方面的问题具有很大的优势。遗传算法已经广泛的应用于机械振动优化设计中,虽然解决了一部分机械设计中遇到的问题,但是这种算法往往只能解决性能指标用显示函数表达的优化问题。而在实际的工程中,很多系统优化问题的性能指标并不能用显示的函数表达出来,这方面属于隐式性能指标的优化问题,采用传统的遗传算法不能解决此类问题。本文主要提出了一种交互式遗传算法优化算法,通过用户给出适应度值参与进化过程,突破传统遗传算法的主要缺陷来优化解决机械振动方面的实际问题,这种优化方法能启发式的搜索到全局最优解的较小区域,而且不会陷入局部最优解,解决了部分隐式性能指标下的机械振动优化问题。对于交互式遗传算法人的疲劳问题,本文采用粗糙集理论的分类约简功能解决,从而解决了隐式性能指标下的机械振动优化设计。本文根据交互式遗传算法,开发了一套机械振动优化设计测试系统。该系统是在Visual C++ 6.0的环境下利用MFC开发工具完成的。程序采用文档/视图结构,将后台的数据管理和前台的用户交互分离开来,极大的方便...更多还原 【Abstract】 In recent years, optimization has become an important tool for research and application.Experts have given in detail about the principle of genetic algorithm optimization and the general application of genetic algorithms applied to optimal design of the advantages of mechanical vibrations.Some articles have been using genetic algorithm to solve the plight of mechanical vibration, but traditional genetic algorithm can only solve the system optimization problem with a clear(explicit)expression....更多还原 【关键词】 机械振动; 交互式遗传算法; 粗糙集; 汽车行驶平顺性; 【Key words】 Mechanical vibration; interactive genetic algorithm; rough set; vehicle ride comfort; 摘要 4-5 Abstract 5-6 第1章 绪论 10-15 1.1 课题来源和研究意义 10-11 1.2 国内外研究现状 11-12 1.3 论文的创新点及主要研究内容 12-13 1.4 论文的内容组织形式 13-15 第2章 隐式性能指标机械振动优化方法 15-24 2.1 交互式遗传算法的概念 15-18 2.1.1 交互式遗传算法与传统遗传算法的区别 15-17 2.1.2 交互式遗传算法的特点 17-18 2.2 交互式遗传算法的核心问题 18-20 2.2.1 个体适应值估计 19 2.2.2 加速进化收敛 19-20 2.3 交互式遗传算法的环境 20-22 2.3.1 交互式遗传算法的环境 20-21 2.3.2 交互式遗传算法环境的波动性和不一致性 21-22 2.4 开发工具及环境 22-23 2.5 本章小结 23-24 第3章 属性相对约简启发式遗传算法 24-32 3.1 基于遗传算法的粗糙集知识抽取方法 24-26 3.2 粗糙集最小属性集选择 26-27 3.3 属性集选择的贪心算法 27 3.4 基于交互式遗传算法的属性相对约简 27-31 3.5 本章小结 31-32 第4章 基于隐式性能指标的机械振动优化设计实例 32-43 4.1 汽车行驶平顺性的主要指标 32-39 4.1.1平顺性评价指标 33-36 4.1.2 1/3 倍频带分别评价法 36-38 4.1.3 总加权值评价法 38-39 4.2 汽车行驶平顺性的辅助评价指标 39 4.3 汽车振动模型 39-42 4.3.1 系统的力学和数学模型 39-40 4.3.2 系统的频率响应特性 40-41 4.3.3 系统的振动响应量的幅频特性 41 4.3.4 系统响应量的功率谱密度 41-42 4.4 基于交互式遗传算法的汽车平顺性的优化 42 4.4.1 设计变量的确定 42 4.4.2 目标函数的建立 42 4.5 本章小结 42-43 第5章 交互式遗传算法软件开发与功能实现 43-62 5.1 MFC 开来发工具概述 43-44 5.2 MFC 文档/视图结构分析 44-46 5.3 软件实现的总体流程 46-48 5.4 算法程序的设计与实现 48-59 5.4.1 根据实际问题进行编码 49-50 5.4.2 设定遗传操作的各参数 50-51 5.4.3 产生初始种群 51-52 5.4.4 遗传操作程序设计 52-55 5.4.5 人机交互操作程序 55-56 5.4.6 进化终止条件判断程序 56 5.4.7 世代进化过程的实现 56-57 5.4.8 在窗口中输出每一代的结果 57-59 5.5 交互式遗传算法的优化结果 59-61 5.6 本章小结 61-62 第6章 全文总结与展望 62-64 6.1 总结 62-63 6.2 展望 63-64 参考文献第四篇:基于遗传算法的排课系统设计 开题报告
第五篇:机械振动交互式遗传算法粗糙集汽车行驶平顺性论文