您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 现代机械设计概论-优化设计
——优化设计机电工程学院机械设计系1优化设计基础优化设计(OptimalDesign)是20世纪60年代随着计算机的广泛使用而迅速发展起来的一门新的学科。它为工程及产品设计提供了一种重要的科学设计方法,使得在解决复杂设计问题时,能从众多设计方案中寻得尽可能或最适宜的设计方案。1.1优化设计基础所谓优化设计,是根据最优化原理和方法,利用电子计算机作为计算工具,从众多的设计方案中寻找到最为适宜的设计方案的一种先进设计方法。优化设计问题一般主要包含两个方面的内容(1)将设计中的物理模型抽象为数学模型。其中包括建立评选设计方案的目标函数,考虑这些设计方案是否为工程所接受的约束条件以及确定哪些参数参与优选等;(2)数学模型的求解。根据数学模型的性质,选用合适的优化方法,并利用计算机进行数学模型的求解,得到优化设计方案。1.2优化设计的数学模型数学模型是对实际问题的描述和概括,是进行优化设计的基础。数学模型能否严密而准确的反映优化问题的实质,是优化设计成败的关键。优化设计数学模型的标准形式表达为:1.3优化设计的主要类型根据数学模型的结构特点不同,可以有不同的优化设计类型。根据优化问题的数学模型是否含有设计约束,可将优化问题分为约束优化问题和无约束优化问题。绝大多数工程优化设计问题都是约束优化问题。无约束优化问题的目标函数如果是一元函数,则称之为一维优化问题;如果是二元或二元以上函数,则称之为多维无约束优化问题。对于约束优化问题,可按其目标函数与约束函数的特性,分为线性规划问题和非线性规划问题。如果目标函数和所有的约束函数都是线性函数,称之为线性规划问题;否则,则称之为非线性规划问题。对于目标函数是二次函数而约束函数都是线性函数这一类问题,一般称之为二次规划问题。如果目标函数和约束函数都是凸函数,则称为凸规划问题。凸规划的一个重要性质就是,凸规划的任何局部极小解一定是全局最优解。线性规划和非线性规划是数学规划中的两个重要分支,在工程设计问题中均得到了广泛应用。另外,对于一个优化问题,如果可以用一个目标函数来衡量,称之为单目标优化问题;如果需要用两个或两个以上的目标函数来衡量,则称之为多目标优化问题。其中单目标优化是多目标优化的基础。2遗传算法遗传算法是模拟生物在自然环境下的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。它最早由美国密执根大学的Holland教授提出,起源于20世纪60年代对自然和人工自适应系统的研究。遗传算法出现后,以其简单通用、鲁棒性强、适于并行处理以及应用范围广等显著特点,得到了广泛的应用。遗传算法遗传算法概述遗传算法基本原理与方法遗传算法的应用2.1遗传算法概述遗传算法的概念遗传算法(GeneticAlgorithm,GA)起源于对生物系统所进行的计算机模拟研究。它是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说。其本质是一种高效、并行、全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最佳解。遗传算法操作使用适者生存的原则,在潜在的解决方案种群中逐次产生一个近似最优的方案。在遗传算法的每一代中,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近似解。这个过程导致种群中个体的进化,得到的新个体比原个体更能适应环境,就像自然界中的改造一样。遗传算法的特点遗传算法是一种借鉴生物界自然选择和自然遗传机制的随机搜索法。它与传统的算法不同,大多数古典的优化算法是基于一个单一的度量函数的梯度或较高次统计,以产生一个确定性的试验解序列;遗传算法不依赖于梯度信息,而是通过模拟自然进化过程来搜索最优解,它利用某种编码技术,作用于称为染色体的数字串,模拟由这些串组成的群体的进化过程。遗传算法的优点(1)对可行解表示的广泛性。(2)群体搜索特性。(3)不需要辅助信息。(4)内在启发式随机搜索特性。(5)遗传算法在搜索过程中不容易陷入局部最优,即使在所定义的适应度函数是不连续的、不规则的或有噪声的情况下,也能以很大的概率找到全局最优解。(6)遗传算法采用自然进化机制来表现复杂的现象,能够快速可靠地解决求解非常困难的问题。(7)遗传算法具有固有的并行性和并行计算的能力。(8)遗传算法具有可扩展性,易于同别的技术混合。遗传算法的缺点(1)编码不规范及编码存在表示的不准确性。(2)单一的遗传算法编码不能全面地将优化问题的约束表示出来。考虑约束的一个方法就是对不可行解采用阈值,这样,计算的时间必然增加。(3)遗传算法通常的效率比其他传统的优化方法低。(4)遗传算法容易出现过早收敛。(5)遗传算法对算法的精度、可信度、计算复杂性等方面,还没有有效的定量分析方法。遗传算法与传统方法的比较传统算法遗传算法起始于单个点改善(问题特有的)终止?结束是否起始于群体改善(独立于问题的)终止?结束是否遗传算法与启发式算法的比较启发式算法是通过寻求一种能产生可行解的启发式规则,找到问题的一个最优解或近似最优解。该方法求解问题的效率较高,但是具有唯一性,不具有通用性,对每个所求问题必须找出其规则。但遗传算法采用的是不是确定性规则,而是强调利用概率转换规则来引导搜索过程。遗传算法与爬山法的比较爬山法是直接法、梯度法和Hessian法的通称。爬山法首先在最优解可能存在的地方选择一个初始点,然后通过分析目标函数的特性,由初始点移到一个新的点,然后再继续这个过程。爬山法的搜索过程是确定的,容易产生局部最优解;而遗传算法是随机的。其主要差别为:(1)爬山法的初始点仅一个,由决策者给出;遗传算法的初始点有多个,是随机产生的。(2)爬山法由上一个点产生一个新的点;遗传算法在当前的种群中经过交叉、变异和选择产生下一代种群。对同一问题,遗传算法花费的机时少。遗传算法与穷举法的比较穷举法就是对解空间内的所有可行解进行搜索,但是通常的穷举法并不是完全穷举法,即不是对所有解进行尝试,而是有选择地尝试,如动态规划法、限界剪枝法。对于特殊的问题,穷举法有时也表现出很好的性能。但一般情况下,对于完全穷举法,方法简单可行,但求解效率太低;对于动态规划法、限界剪枝法,则鲁棒性不强。相比较而言,遗传算法具有较高的搜索能力和极强的鲁棒性。遗传算法与盲目随机法的比较与上述的搜索法相比,盲目随机搜索法有所改进,但是它的搜索效率仍然不高,并且只有解在搜索空间中形成紧致分布时,它的搜索才有效。而遗传算法作为导向随机搜索方法,是对一个被编码的参数空间进行高效搜索。经上面的探讨,可以看到遗传算法与传统优化方法在本质上有着不同之处,主要有以下几点:(1)遗传算法搜索种群中的点是并行的,而不是单点。(2)遗传算法并不需要辅助信息或辅助知识,只需要影响搜索方向的目标函数和相应的适应度。(3)遗传算法使用概率变换规则,而不是确定的变换规则。(4)遗传算法工作使用编码参数集,而不是自身的参数集(除了在实值个体中使用)。2.2遗传算法基本原理及方法遗传算法的基本思想遗传算法是依据生物进化中的“适者生存”规律的基本思想设计的,它把问题的求解过程模拟为群体的适者生存过程,通过群体的一代代的不断进化(包括竞争、繁殖和变异等)出现新群体,相当于找出问题的新解,最终收敛到“最适应环境”的个体(解),从而求得问题的最优解或满意解。遗传算法在求解优化问题时,都是将实际问题的求解空间按一定的编码方式表现出来,即对解空间中的各个解进行编码。所谓解的编码就是把各个解用一定数目的字符串(如“0”和“1”)表示。字符串中的每一位数称为遗传基因,每一个字符串(即一个解的编码)称为一个染色体或个体。个体的集合称为群体。遗传算法的寻优过程就是通过染色体的结合,即通过双亲的基因遗传、变异和交配等,使解的编码发生变化,从而根据“适者生存”的规律,最终找出最优解。表1列出了生物遗传的基本概念在遗传算法中的体现。生物遗传的基本概念个体和群体染色体和基因适者生存种群交配和变异遗传算法中的应用解和解空间解的编码和编码字符串中的元素具有最好适应度值的解将有最大可能生存根据适应度函数选定的一组解一种遗传算子,产生新解的方法表1生物遗传与求解优化问题的对应关系遗传算法一般由编码与解码、适应度函数、遗传算子和控制参数等四个部分组成。1)由设计空间向遗传算法编码空间的映射称为编码;由编码空间向设计空间的映射称为解码。用遗传算法求解优化问题时,必须先建立设计变量与染色体之间的对应关系,即确定编码和解码的规则。这样在遗传算法中,其优化问题求解的一切过程都通过设计解的编码与解码来进行。2)适应度函数是用以描述个体适应环境的程度,也是生物进化中决定哪些染色体可以产生优良后代(适者生存)的依据。一般是,个体的适应度函数值越大,则个体性能越好,生存可能性越大;反之,若个体的适应度函数值越小,则个体的性能越差,越有可能被淘汰。3)遗传算子包括复制(或选择)算子、交配算子和变异算子。复制算子是根据个体的优劣程度决定在下一代是被淘汰还是被复制(即个体继续存在,子代保持父代的基因)。交配是指两个相互配对的染色体按某种方式相互交换其部分基因而生产两个新的个体。变异是将个体编码字符中的某些基因用其他等位基因来替换,从而生成一个新的染色体。这三个算子一般都按一定的种群复制(或选择)概率、交配概率和变异概率随机地进行,造成遗传中的子代和父代的差异。4)算法的控制参数包括种群的规模M、交配率Pc和变异率Pm。遗传算法的计算步骤用遗传算法求解工程优化设计问题的基本步骤如下:1)确定寻优参数,进行编码。编码时先要设置编码长度;2)随机产生一组初始解(即个体)组成初始种群。初始种群中个体的数目称作初始种群的规模;3)计算种群中各个个体的目标函数值及其相应的适应度函数值;4)形成匹配集。根据种群中各个染色体的适应度函数值,采取一定的选择方法,从种群中选出适应值较大的个染色体(其中有些染色体是重复的),称这个染色体的集合即为匹配集。这一过程即为选择操作。5)按某种复制规则进行繁殖。由匹配集中的个染色体繁殖产生个新的染色体,得到一个新的种群。繁殖方法主要有两种:交叉和变异。6)若遗传代数(迭代次数)达到给定的允许值或其它收敛条件已满足时停止遗传,否则返回步骤3)。上述遗传算法的计算过程可用下图表示遗传算法流程图目前,遗传算法的终止条件的主要判据有以下几种:1)判别遗传算法进化代数是否达到预定的最大代数;2)判别遗传搜索是否已找到某个较优的染色体;3)判别各染色体的适应度函数值是否已趋于稳定、再上升否等。遗传算法实现的几个技术问题编码编码是应用遗传算法时要解决的首要问题,同时编码方法在很大程度上决定了如何进行群体的遗传进化运算以及遗传进化运算的效率。因此编码是设计遗传算法时的一个关键步骤。1)编码方法由于遗传算法应用的广泛性,迄今为止人们已经提出了很多不同的编码方法。总的来说,这些编码方法可以分成三大类:二进制编码方法、浮点数编码方法和符号编码方法。二进制编码方法是遗传算法中最常用的一种编码方法,它使用的编码符号集是由二进制符号0和1所组成的符号集{0,1},它所构成的个体基因是一个二进制编码符号串。二进制编码方法编码、解码操作简单易行,交叉、变异等操作便于实现。例如:对于可以用5位长的二进制编码来表示该参数,编码串X=01101就可以表示一个个体,其对应的参数值x=13。缺点:高维搜索时,二进制编码串非常长,使得算法的搜索效率很低。求解精度确定后难以调整,缺乏微调的功能。0,31x所谓浮点数编码方法,是指个体的每个基因值用某一范围内的一个浮点数来表示,个体的编码长度等于设计变量的个数。因为这种编码方法使用的是设计变量的真实值,所以浮点数编码方法也叫真值编码方法。与二进制编码法相比,浮点数编码方法更适合表示范围较大的数和较大空间的遗传搜索。而且便于遗传算法与经典优化方法的混合使用,改善了遗传算法的计算复杂性,提高了运算效率。用浮点数编码时应注意:保证
本文标题:现代机械设计概论-优化设计
链接地址:https://www.777doc.com/doc-134923 .html