【遗传算法编码方法比较及应用研究11000字(论文)】_第1页
【遗传算法编码方法比较及应用研究11000字(论文)】_第2页
【遗传算法编码方法比较及应用研究11000字(论文)】_第3页
【遗传算法编码方法比较及应用研究11000字(论文)】_第4页
【遗传算法编码方法比较及应用研究11000字(论文)】_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE2遗传算法编码方法比较及应用研究目录TOC\o"1-2"\h\z\u目录 11.引言 22.遗传算法的理论基础 32.1遗传算法的基本思想 32.2遗传算法的主要流程 42.3遗传算法的实现 53.对遗传算法主要编码机制的分析 63.1二进制编码 63.2十进制代码 63.3实数编码 73.4矩阵编码 93.5树型编码 93.6自然数编码 104.遗传算法代码的应用实例 104.1案例分析 104.2遗传算法设计 124.3模型求解及优化结果分析 155.结论 16参考文献: 18

1.引言当今世界随着工业化时代的来临,人类对于日常生活的要求变得更多更高,但是许多的现实问题仍然存在并没有被解决,遗传算法应运而生。遗传算法是一类功能特性非常出众的搜索优化算法,是利用自然生物发展规律模拟优化过程的新型算法[1]。伴随启发式搜索算法理论体系的不断完善,在二十世纪七十年代,J.Holland等学者系统性地探讨了遗传算法[2]。利用弱肉强食,适者生存的生存法则应用到科学的操练方法之中,对研究对象直接进行操作的一种方法。遗传算法高效的解决了日常生活中的众多实际问题。在遗传算法的最优解解决过程中,遗传算法自动在搜索空间中采集有价值的数据,进而获得针对目标问题的最优解决方案。对遗传算法进行更深入的研究将加快世界众多学科的发展,更可以让广泛的生产领域得到行之有效的实际操作的理论依据。由于遗传算法可以快速高效的解决人类日常生活中的难题,所以遗传算法自诞生以来就掀起了全世界对于遗传算法研究的热潮,这是一个很有意义的研究话题,世界各地从很早以前就开始了对于遗传算法的研究。在上个世纪90年代末的时期,还是学生的D.Whitey就在遗传算法问题的基础之上提出了交叉算子的观点,并且成功地将货担郎问题利用遗传算法解决;21世纪初期,美国众多研究遗传算法的专家学者参与了EvoNet研讨会,对遗传算法和遗传算法编程集合起来的结构寻优进行了研究。国内对于遗传算法的研究主要是从21世纪之后进行的,尽管我国对于遗传算法的研究起步较晚,但是目前我国对于遗传算法的研究还是得到了飞速的发展,尤其是近年来,黄玲等研究学者对粒子群算法进行了优化,使得最短路径可以用遗传算法快速的求解寻优。遗传算法模拟生物进化过程中遇到的各类问题,进而对参数编码问题进行有效转换,从而得到所需的染色体,按照“自然选择、适者生存”的理念选择、交叉、变异新一代种群,允许逐步淘汰不合理的个体[3]。在遗传算法中,染色体被称为解决方案空间中与解决方案相对应的基因型个体,其通过多个基因构成。对于某个群体而言,其个体数一般被界定为群体规模,所有个体对环境所表现的适应性被界定为适应性,其一般情况下为目标函数[4]。遗传算法从原始中寻找最优解,对前群体进行遗传操作后,形成新的种群。由于遗传算法的种群大小没有重复变化,其搜索过程具有与并行搜索相同的特点。由于遗传算法是生物进化理论中的仿生算法,因此有必要将实际问题转化为所需的基因形式。在遗传操作这个过程中,必须构建遗传染色体编码(基因型列结构数据室)[5]。因此,编码机制不仅影响染色体的表达,而且还影响算法的性能和工作方式。同时,良好的编码机制可以事倍功半,极大地提高了找到最优解和种群发展的速度。因此,研究遗传算法的编码机制是非常有意义的[6]。就一般而言,遗传算法有各种各样的编码机制。本文总结了其中的一些编码机制,并且还讨论它们的适用性。为了实现上述研究目标,本文提出了如图1所示的研究内容和逻辑关系、本文的主要过程、遗传算法基本思想的实现阶段、二维码基本步骤、二维码遗传算法、实数编码、队列,最后是某企业冷链物流运送路径优化的具体实例;如图1所示:图1技术路线图2.遗传算法的理论基础2.1遗传算法的基本思想遗传算法是求解优化问题的一种进化算法,该进化算法的基本思想是:通过初始化特定的优化问题、构建遗传操作的本地种群、由父种群[7]生成二次种群来完成种群的进化过程。这些个体中的一些形成了被称为染色体的个体,每个染色体都是遗传链。生物进化过程的遗传选择、交叉、连续变异,在这一系列的操作中删除适应度低(性能差)的个体,其他适应度比较优良的个体可以得到良好的保留,进而得到新的种群,具有更良好的个性特征,在这些个体中最佳的基因反映在其适应性上。因为各基因都存在特定的模式,因此其表现出的属性往往不相一致。此外,因为新个体集成了优良个体的特性,如此就使其表现出良好的特征,因此导致了它们相比于上一代更加优秀。新一代个体通过迭代算法生成亲世代传播,不断演化,导致最终趋向于最优解,从而使得目标得到某种程度的优化。2.2遗传算法的主要流程遗传算法的这种思维模式来源于达尔文的生物进化论和孟德尔的遗传变异理论。它通过模拟生物世界的自然进化过程来解决这个问题[8];遗传算法如下所示:第一步:根据所要求解问题的性质,选择合适的编码方法。因为遗传算法是利用生物进化理论实现的,所以必须将实际问题转化为遗传算法操作流程中的某种形式(遗传空间中基因型串序列结构的数据)进行遗传过程所需的遗传算法处理的染色体发生变化[9]。第二步:产生初始种群。能必须要根据解决问题的难度来决定种群的大小。如果所要求解的问题过于复杂,还可以通过增加算法的搜索空间,用来防止算法早熟,如果所要求解的问题比较简单,可以用少量初始种群达到最优解,并且能够更迅速地收敛。第三步:计算染色体适合度。这需要应用适应度函数对其展开计算,并且适应度值决定了它在遗传过程中被选择的可能性。第四步:执行选择算子,挑选父代染色体然后对其进行交叉,首先要计算个体的适合性,再分析个体所对应的适应度比例,并通过它表示个体被选择的可能性。在这种选择的方法中,在个体对群体的适应性完全不同的情况下,最好的个体会提前满足整个群体,并且使得种群多样性快速的降低,但是遗传发展能力会提前丧失[10]。第五步:交叉操作。一般情况下用生成的一个随机数来决定是否小于所给的交叉率来进行交叉操作执行判别。如果满足上述条件,就可以对选出的父代染色体进行交叉操作;如果不满足前述条件,就不再对其进行交叉操作。基本的交叉算子有单点交叉,两点交叉和加入交叉算子模型。第六步:变异操作。通过变异条件对种群中染色体上的基因进行判断。就一般来说,是否进行变异操作是通过产生随机数和变异概率的下大小来决断的。在满足变异的条件的情况下,继续进行变异操作;若是不满足变异的条件,就不进行变异操作。由于变异是对染色体上的基因串进行操作,所以由于染色体编码的方式的不同,这会导致变异算法也会不尽相同。常用的变异算法有二进制变异和实数变异。第七步:用遗传算子操作产生的子染色体替换原群体中不良适应度染色体,形成新的子群体。第八步:判断是否满足结束条件。若满足,则表示找到了最佳解,算法就结束;若不满足,就返回第三步继续操作。2.3遗传算法的实现遗传算法流程的实现如图2所示:图2遗传算法的实现如图2所示,遗传算法可以归纳为以下的具体的步骤:步骤1:编码。对于问题空间的参数编码而言,其主要指代的是遗传空间所对应的染色体。步骤2:在经过初始化之后,可以得到全新的种群。在对种群大小N、最大迭代次数tmax、交叉概率、变异概率等进行初始化之后,可以将其次数记作1,即。步骤3:个体评价。其主要是结合目标问题要求的函数对,所有个体的适应度展开分析。步骤4:分析其是否符合迭代次数的要求。假如其符合标准,此时,那么最佳适应度的个体作为问题的最佳解或满意的解被输出;如果不满足条件,即,则可以开始后续的遗传操作。步骤5:进行多样性的遗传操作,从而得到新的群体。步骤6:通过公式,来计算个体适应度,然后再返回步骤3按照流程图继续进行操作。3.对遗传算法主要编码机制的分析从遗传算法的基本步骤可以看出编码机制是实现遗传算法的必要条件。除此之外,因为该算法无法对问题空间的信息展开处理,因此需要将其转换为算法能够按照某些转换规则处理的数据。这个转换操作被称之为编码。在遗传算法中,因为不同的编码方法,所以导致的遗传算子的实现和性能有很大的差异。所以,必须根据需要解决的问题来选取最为适用的编码机制。可供选择的机制较多,其中比较典型的包括十进制编码、实数编码、矩阵编码和树编码。对它们进行的相关的研究和讨论如下:3.1二进制编码二进制编码机制是最早被使用也同时是被使用过程最频繁以及应用度最普遍的编码方案,其主要通过符号集实现二进制编码,利用此类机制得出的染色体是由一些0和1的组成的符号串[11]。因此,求解这个问题的精度直接决定了二进制编码染色体的长度。尽管二进制代码直观易懂,在求解一些简单的问题的时候往往能够求出比较满意的结果,但是,与此同时它本身也存在着很大的缺陷:(1)基于二进制编码的遗传算法在解决高维度、精度要求高的函数优化问题的时候,局部搜索能力比较差,两个相邻染色体二进制编码的汉明距离可能较大,降低算法的搜索效率和计算精度;(2)二进制编码的遗传算法在进化过程中需频繁执行编、解码,增加算法的计算时间,与此同时在这个复杂的过程中会出现转换的误差;(3)最终解的精度取决于二进制码的长度,因此为了得到更高的计算精度,需要使用更长的代码长度,这需要更多的存储空间,这会导致算法的效率变得更低[12]。3.2十进制代码十进制编码就将意味着问题中所涉及到的参数讲以十进制(0、1、...9)的形式来进行编码[13]。十进制代码比二进制代码更容易理解,更加的符合人们所理解的标准,而且它也没有复杂的编码和解码的过程,这就使得算法分辨率可以得到进一步的提高。十进制系统中的每个数字都是由四个二进制数字来表示,每个二进制数字有固定的权值。因此,它被称之为有权码或者加权码。8421码各位的权值从高位到十:,与4位二进制数对应的1位十进制数D写为:。代码8421所表示的各个十进制数与普通二进制数相同,换言之,各个十进制数对应的二进制数就是对应于该十进制数相同值的二进制数。因此,8421码有6个代码,即为1010、1011、1100、1101、1110、1111不可能出现,这六个代码也被称为非法的8421码。随便一个十进制数要被写成8421代码的时候,只需要用8421代码写入十进制数即把这个十进制数的各位数字各自转换成所对应的8421码就行了;相反地,随便的8421码所表示成的十进制数,就可以轻松地将之转换为普通的十进制代码。3.3实数编码实数编码构成染色体的基因用实数表示,染色体的长度就等于实数的个数[14]。如:2.101、-3.452、5.793就表示长度为3的染色体;实数编码是函数优化问题的自然描述,可以用该编码方法的遗传算法来克服二进制编码可能引起的所有问题,而且还可以实现任意的求解精度。对于实数编码方式而言,其能够表现出多种特性:(1)这种方法主要通过解空间的方式实现标准化的编码,意义明确,非常容易导入特定域的信息,大幅缩短字符串长度。遗传操作不需要频繁地编码解码,很大程度上改变了遗传算法的计算复杂度,提高了算法的效率;(2)可表示大量的区域,对给定长度的二进制编码,增加区域会牺牲精度;(3)采用Euclidean距离可使遗传算法更接近问题空间[15];(4)一个实数与一个成分相对应,其精度由实数小数点以下的有效数字决定。问题的不同,会受到某些或所有组件的值的限制,可能只由计算机字长来决定,可得理想的求解精度;(5)实数编码通过使用原始参数进行遗传活动,使得优化区域可以充满可能得到最佳解的整个空间。(6)对于所求问题,易于设计遗传算子和应对相对比较繁杂的变量约束。该方法的不足之处如下:(1)不基于模式定理,交叉和变异形式化,相比二进制编码,全局搜索能力差,遗传过程不灵活;(2)计算量大、收敛速度慢、分辨率精度受编码控制等。例如:一元函数:Fxsymsf(x);x=linspace(-3,3,3000);f=x.*sin(10*pi.*x)+2;plot(f)图3函数图像可以明显看出函数图像具有很多个局部最优解,因此适合运用遗传算法求解。从人类染色体结构得到的灵感,规定只有0和1两种碱基,用一条链把他们按一定顺序串联在一块,由于每个部分都能表达出1bit的信息量,所以一条足够长的染色体就能够刻画出一个个体所有的特征,这就是所谓的二进制编码。一定长度的二进制编码序列只能表示一定精度的浮点数,因为给定区间的长度为6,为了保证精度,至少把区间分为3000等份,所以编码的二进制串至少有22位。把一个二进制串(a1第一步:将一个二进制串代表的二进制转换为十进制数:(a1∙∙∙a20第二步:对应区间的实数:x=−1+3.4矩阵编码矩阵编码是编码个体的形式通用矩阵表现出来。一维向量是矩阵的特殊情况,一维码是矩阵码的特殊情况。矩阵编码系统的主要优点是:(1)遗传算法的矩阵编码用简单直接的方法表示不同的组合,扩大了求解的范围。该算法只需要运行一次,就能够从全部的足额和方案中选出满足要求的最优方案,该方法有效地克服了一维遗传算法编码方法里的一次只能表示一条路径,多路径时需进行多次编码和运行的局限性[16]。矩阵编码比一维编码容易得到更好的解;(2)矩阵比一维数据结构有更大表现空间。矩阵编码个体以灵活多样的方式繁殖新个体;(3)非矩阵编码遗传算法受其维数限制,交叉和变异算子类型有限。但是矩阵代码可以用于设计更多样化的基因运算符以提高其算法的检索能力[17]。矩阵编码的主要缺点是:(1)矩阵编码生成表示任意组合的个体的能力,以及除了遗传算法固有的随机性外,还可能会导致在交叉或者变异操作中出现的新个体是不符合实际或者说是不合理的(即无效个体);(2)如果使用矩阵编码,则算法的空间扩大和进化规则会变得复杂;(3)比一维遗传算法编码占有更多的存储空间。遗传算法的矩阵编码非常适用于解决日常生活中的非线性、非凸甚至没有数学模型的函数优化问题,特别是在解决比较大型的复杂的问题、大型数值优化问题或具有大量子对象的多目标优化问题的时候。就目前而言,尽管遗传算法矩阵编码的研究取得了一定程度上的进展,但是与此同时明显还存在很多还未解决的问题,这需要专家以及学者的进一步研究。例如:根据特定的变量的代码长度,查找可以节省存储空间的数组。遗传算法矩阵编码的收敛性检验基于矩阵编码的算子,没有固定的选择交叉或变异算子的标准来提供更好的结果[18]。3.5树型编码许多问题的自然表现形式是树和图,特别是二叉树。用树形码表示这种问题更加地方便[19]。树型编码系统的每个个体对应一棵树,所有个体的遗传位置与特定的节点相对应,各节点存储源自子节点的数据。基于树的编码系统的主要优点是:(1)其所有具有数据结构的树都可以用于描述每个编码树的结构,其中概率型、序列型、并发型、周期型等等不同的组合以及多个种类的组合具有较强的表示能力,缩小算法编码和搜索空间,编码操作得到简化;(2)树形编码得到的个体可以生成结构化的语义信息,在优化过程中,无需解码就能利用父子关系信息和节点间的分支信息来搜索,可通过交叉和变异策略来存储适应度计算的中间值,降低算法适应性的计算量,加快了算法的进程,提高了求解的速度。树编码系统的主要缺点有:(1)由于树编码结构的特殊性,遗传算法的交叉和变异操作必须使得子树结构不变来避免获得无效个体。树码遗传算法的交叉和变异是比一维码更复杂的结构。若树结构深度不受限制,那么编码空间就是无限的,搜索最优解非常困难,算法分析更困难[20]。Web服务选择、配电网优化等等的组合优化问题用树形编码遗传算法来解决是非常合适的,这些问题可以用树和图的形式表示。树以及森林和二叉树之间有对应关系即每个森林或树可以唯一地对应一个二叉树,每个二叉树可以唯一地对应一个森林或树,可相互转换。在树或森林的情况下,通过遗传活动得到的结果可通过对应二叉树遗传操作得到;反之亦然,结论将遗传算法的二叉树结构代码的收敛性推广为含遗传算法的树结构代码。3.6自然数编码对于此类编码而言,针对长度等于p的染色体,每位在1到p中间取彼此存在差异的值,下文可以对其模式的阶进行界定(在不致引起混淆的情况下,仍称模式和模式的阶)。针对模式H来讲,确定位可以通过Pi∈[1,p]进行具体表示,不确定位主要利用通配符*进行替换。假如染色体S在确定位与模式H完全一致,那么此时可以称S为模式H所涵盖的典型例子。例如:优点:自然数编码在计算机中易于存储并便于各种操作,且编码简单直观。4.遗传算法代码的应用实例4.1案例分析这个问题是F公司冷链物流配送的一环,配送中心根据店铺和超市的需要,向一个城市的30家店铺和超市配送产品。由于该公司运送的是肉类熟食产品,所以在运送过程需要实时监控车辆内的温度,设定该类肉食产品的运送温度为0-4摄氏度。4.1.1客户的相关信息配送中心的配送时间主要是上午4:00-7:00。车辆从4点开始在配送中心工作,配送后返回配送中心。对于客户的地理位置而言,其重点是从地图中获取所需的坐标数据。除此之外,需求量用一个月的平均客户需求计算。事先知道时间窗,用司机的卸货效率和客户需求量计算卸货时间。数据如表4.1所示:表4.1客户配送信息本研究中对象的分布以城市道路网为例。配送中心与客户所存在的间距以及各类客户的距离难以通过直线距离展开分析,而且有必要对其交通的便利性进行分析。所以,本文先在地图上设置两点,比较推荐路径下的配电路径、最短路径和百度地图上的非高速路径。在进行对比的过程中,可以将行驶时间的极小值充当标准,此时可以考虑路径上的信号数。大量的信号灯会导致增加运送时间。在信号灯具有相同数量的时候选择具有较小距离的路线。4.1.2配送车辆信息F公司用于产品配送的冷藏车为同型号、同条件的,均为梁式冷藏车,其整体质量达到4495kg公斤。该企业可以通过5辆冷藏车去配送30个客户所在地。每辆车辆的最大行驶路程为250~300公里。车辆的速度因道路的限速以及路面情况而稍有不同;因此,本文可以将平均速率设置为60km/h。此外,对于车辆成本而言,其重点涵盖折旧费和驾驶员薪水以及以十四万购买冷藏车辆的成本。设定该种冷藏车规定使用年限是5年,残值率用2%来计算,而且根据有关规定,计算平均寿命的年折旧率计算方法为,每月折旧率2286元,每日折旧率76元,司机日平均工资为233元,通过调查得知,该种冷藏车的百里耗油为13升,油价根据市场价展开运算,那么一公里的油费大概为0.935元,因为受到一些不可控因素的影响,本文假定运输成本为两块钱每公里;根据公司之前运输过程中的损坏情况以及司机的卸货速度,计算出货物运输途中损失率为1%,卸货时货物损失率为1.5%,车辆装卸效率为30kg/min。相关参数如表4.2所示:表2相关参数表4.2遗传算法设计一般来讲,可以通过该算法对配送路径优化模型展开分析,从而更好地与求解问题进行适配,最后获得最优解。首先,可以先对运行参数种群规模进行明确,并界定变异概率以及各类主要的终止条件,另外,在经过编码、选择、交叉等一系列操作之后获得最优解。4.2.1编码操作编码是该算法求解分布问题的第一步。在本研究中,有30个客户需要来解决配送问题。为了有效增加计算效率,防止出现无效解,本研究重点采用自然数编码,并通过0对配送中心进行具体表示。换而言之,车辆以配送中心为起始点,在其结束任务之后再返回到配送中心。例如,0、30、27、26、29、28、0、4、12、11、3、1、2、0、5、6、7、13、8、10、9、18、19、17、16、14、15、0、21、22、23、24、25、20、0,并且各子路径上的客户点数顺序不可互换,否则就会影响目标函数值。解决配送路径问题,先用随机函数生成30个客户的随机数组,然后将序列的开始和结束加0,再在序列添加0。两个0表示车辆传递的分布路径。如果某个子路径的顾客总需求超过车辆的最大载重,则该子路径结束,在所有顾客都满足之前,还需要重新开始下一个子路径的搜索。4.2.2初始种群的生成初始种群生成是之后步骤的基础。因为初始种群的大小通常在30~200之间,因此有必要选取适用的种群。本文首先把种群规模界定为200。将Randperm函数维持在1~30之间,建立随机序列、染色体和分布途径方案。除此之外,因为本文的种群规模达到200个,所以其最开始发生的种群涵盖200条染色体。4.2.3个体的适应度评价本研究的目标函数总成本最低,经过转换,目标函数选择的逆函数为拟合函数Fi=1z主要代表的是搜索时实际获得的目标函数值,它和第i条染色体的实际成本彼此对应,在此处主要代表的是适应度函数值。4.2.4遗传算子的设计(1)选择操作选择操作即为达尔文法则,优胜劣汰,保留能适应环境的,淘汰不能适应环境的。本文先对所有染色体的适应值展开计算,在经过迭代分析之后,可以计算所有适应值的总和,最后计算单个个体占据群体适应值的比例之和,用来表示单一染色体的可能性:(4.2)主要代表的是个体适应度值,在此处主要代表的是群体适应度之和。(2)交叉操作此环节相当于基因重组,和染色体之间的基因片段交换,形成后代。本研究将求解过程中的交叉概率设置为0.6,从编码基因的Int(n/3)位置到Int(2n/3)位置。此研究重点采用匹配相交的方法。对于此类方法而言,可以先选取主染色体A和B,在这之后坠遗传片段进行交换,从而生成和。然后,复制到交换基因片段位置之外的基因根据彼此对应的方式进行替换,从而得到后代和。例如:父代父代在对基因片段进行互换之后,可知:根据既定的原则:6——4;4——2;2——1;5——9得到的后代为:子代子代(3)变异操作假如通过新基因替换某位点对应的一个基因,变异概率一般在0.001~0.05范围内。本文首先把界定为0.03。可供选择的变化方式较多,其中比较典型的包括逆转变异、均匀变异等。本文重点选用逆转变异。比如,亲A为389165472,其形成的突变点为(4,6),突变第4位和第6位基因产生的后代为389561472。在发生突变时,两代都有必要参与适应度评析。如果后代的适应度评价比亲代高,就接受此次变异,不然该变异就无法进行。4.2.5结束条件对于此类算法而言,它与精确算法存在显著差异,无法获得具有足够精确度的最优解,只有通过迭代搜索才能接近最优解,为了避免其反复循环,有必要对结束条件进行具体设置。通常来讲,可供选择的结束条件包括两类,第一类以重复次数为结束条件,反复达到一定数量时,结束了行动;另一个是评价适应度函数值,当适应度函数值发生改变,此时可以停止搜索。本文中如果重复次数累积到200次,那么就不再进行搜索。4.3模型求解及优化结果分析在对客户和配送车辆的信息进行收集之后,可以通过Matlab对目标算法进行设计,然后进行编码求出近似最优解,最后对优化结果展开分析。结合该结果能够发现,通过它可以大幅度减小配送距离,并使配送成本得到有效控制。结合优化流程图能够发现,可将遗传算法与模型进行有效衔接。4.3.1模型的解决结果基于上述算法,可以通过Matlab对目标模型进行分析,在经过200次迭代之后,可以获得近似解,在随后的分销链优化中使用了4辆车进行分销,每辆车的具体分销库存如表4.3所示。表4.3最优运送路径该模型的目标是使总成本最小化。重复200次后,得到近似最优8650解。与总成本10581元进行对比,其整体成本大概减少了1931元,实际优化的情况参考下表:表4.4优化结果对比表指标固定成本(元/天)变动成本(元/天)惩罚成本(元/天)制冷成本(元/天)货损成本(元/天)总成本(元/天)初始成本154553578921520126710581优化成本12364461676121010678650降低成本率2016.724.220.415.718.2遗传算法的优化和迭代过程中的最佳解决方案。图形线由200个点组成,纵坐标表示成本,横坐标表示迭代次数,刚开始迭代的时候,成本下降的很缓慢,但是再107次迭代以后图像陡然下降,成本迅速减少。每个点都是每个迭代的结果。实际上,200、300、500、800、1000的最终迭代测试次数介于8000和9000之间。因此,本文最后选择最低成本8650作为近似最优方案。4.3.2优化结果分析针以上解决方案的结果从以下三点进行分析:(1)提高装配速度。F公司优化后,可以调配4辆汽车对其进行配送。与之前的方案进行对比,可以将企业的固定成本控制在适宜水平,以此增加载重率。另外,在购买冷藏车方面需要投入相对较多的资金。为了有效降低成本,各车辆必须尽可能满载。优化后的4辆车平均载重率为94.6%,载重率分别为99.6%、92.3%、93.6%、92.9%。(2)降低引进成本。从表4.4可以看出,车辆改造的最高总成本最低和最高的燃料消耗成本,是为了避免在搜索中因延迟而导致的罚款成本变高,各车相对较长的距离要搜索最佳路径。但与以前的5357元相比,可变优化成本为896元,因此优化后的配送里程相对减少。固定费用也减少20%,最佳的运送车辆数为4辆。由于F企业配送的肉类要求进行冷藏处理,从而确保其产品质量符合要求,所以其必然会衍生一定的冷却成本。在对其进行优化之后,总共减少了310元,如此就使这方面的成本减少了20.4%。(3)遗传算法找最优解趋势明显。程序在进行迭代的时候持续搜寻近似解,以最开始的最优解26727作为起点,持续搜索更小的解。它在107次之前下降的趋势很慢。迭代达到107次后,图像突然下降,下一次迭代继续维持解决方案。所以,8650属于近似最优解。图像能够体现遗传算法自动优化特点。在本文中收敛于最优解的过程也表现出问题构建模型的可行性和合理性。5.结论对于编码而言,它是遗传算法中要解决的首要问题,是遗传工程的重要环节,这将直接影响遗传算法的选择、交叉和变异等等的遗传算子的设计,进而影响遗传算法的收敛性、复杂性和有效性。现有的遗传算法代码是包含二值编码(代码符号结构为{0,1})和非二值编码。常用的编码方式包括二进制编码、实数编码、矩阵编码、树编码。几乎所有的编码方案都存在着自己的优点以及缺点,选择的编码方式在很大程度上依赖于问题性质和遗传算子设计,在具体的应用中需要根据具体问题使用恰当的编码系统,取其精华,去其糟粕,从而能够更快的获得更精确的最优解。由此可见,遗传算法帮助人类在实际生活中很好的解决了很多难题,但是目前人类对于遗传算法的研究还远远没有结束,对于遗传算法的完善还需要一代一代的学者和研究人员的不断努力。现代科学技术的发展十分迅速而且有一个很明显的特点,那就是生命科学和工程科学之间的相互影响,相互完善;而遗传算法的出现与之密不可分,如此看来,遗传算法的出现并不是一个偶然的结果。遗传算法作为二十一世纪在智能计算方面最重要的技术之一,解决了生活中很多复杂困难的实际问题,得到了国内外学者以及研究人员的热情追捧。科学技术是第一生产力,在日新月异的今天,为了人类能够更好的生存在这个世界上,人类需要大力发展科学技术,不论是遗传算法还是其他的一些科学技术人类都应该尽最大的能力去研究发展它们。参考文献:[1]张群,颜瑞.基于改进模糊遗传算法的混合车辆路径问题[J].中国管理科学,2012,20(002):121-128.[2]徐攀,肖曙红,付志斌.改进遗传算法在LED贴片机优化中的应用[J].机械设计与制造,2015(04):108-111.[3]任海艳,陈飞翔.自适应遗传算法的改进及在曲线化简中的应用[J].计算机工程与应用,2012,48(11):152-155.[4]于莹莹,陈燕,李桃迎.改进的遗传算法求解旅行商问题[J].控制与决策,2014,000(008):1483-1488.[5]董文欣.改进蚁群算法在函数优化及无线传感器网络中的应用[D].西安电子科技大学,2017[6]闫春,厉美璇,周潇.基于改进的遗传算法在函数优化中的应用[J].计算机应用研究,2019(10):5-6[6]杨从锐,钱谦,王锋,孙铭会.改进的自适应遗传算法在函数优化中的应用[J].计算机应用研究,2018,35(4):1042-1045[7]Gacem,Abdelmalek,andDjilaniB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论