MATLAB寻最优解的优化后屏幕出现刷新字样如下字样,是不是就是说优化成功,最优解找到了?

机械优化设计课件(新)-海文库
全站搜索:
您现在的位置:&>&&>&工学
机械优化设计课件(新)
机械优化设计授课教师:张华 授课时间: 2013年10月 教学目标?掌握机械优化设计的基础知识,熟练掌握 MATLAB优化工具箱的使用方法,掌握基 于导数和非导数的优化方法并能选择运用, 掌握智能优化算法及其应用,能够运用 MATLAB进行工程优化。 主要内容?优化设计建模、优化设计数学基础、 MATLAB优化工具箱,基于导数的优化算 法、基于非导数的优化算法、智能优化算 法的原理及其MATLAB实现、机械优化设 计实例。 难点与重点? ?难点:优化算法的MATLAB实现; 重点:各种优化算法的合理选用及具体应 用。 授课方式?理实结合、教学做一体。 考核要求? ? ? ? ? ? ?对上学期完成的机械原理机械设计综合设计中的减速器进 行参数优化。 要求: (1)对该问题进行分析,写出该问题的物理模型; (2)将物理模型转化为优化模型(包括设计变量、目标 函数、约束条件); (3)将优化模型转化为matlab程序(m文件); (4)利用matlab软件求解该优化问题,写出最优解。 (5)用A4打印纸,写出问题和上述4个过程,条理清晰。 1.问题分析2.优化模型3.matlab程序4.最优解和结果分 析 学习参考书? ? ? ? ? ? ?陶栋材.现代设计方法.中国石化出版社(教材)龚纯 ,王正林.精通MATLAB最优化计算孙靖民. 机械优化设计. 机械工业出版社 陈立周. 机械优化设计方法. 冶金工业出版社刘惟信. 机械最优化设计. 清华大学出版社陈秀宁.机械优化设计.杭州:浙江大学出版社 田福祥.机械优化设计理论与应用. 冶金工业出版社.?…… 目? ? ? ? ? ?录绪论 第一节 第二节 第三节 第四节 第五节优化设计概述 优化设计数学基础 基于导数的优化算法 基于非导数的优化算法 基于MATLAB优化工具箱的优化设计 绪 论一、优化相关概念 二、机械的传统设计到优化设计 三、机械优化设计的发展四、机械优化设计的应用概况五、机械优化设计的作用 优化是万物演化的自然选择和趋势?来源:优化一语来自英文Optimization,其本意是寻优 的过程,最优化可简写为Opt; ?优化过程:是寻找约束空间下给定函数取极大值或极小 值的过程。f例如, 在右图中,求得一维函 数 f(x) 最小值的条件为:若 x取 x*,则 f(x) 取得最小值 f(x*)。 目的是为了在完成某一任务时 所作的努力最少、付出最小, 而使其收益最大、效果最好。f(x)f(x*) 0 x* x 例如,要求设计一个如右 下图所示的防洪堤坝。为 了能防洪水,高度必须足 以保证洪峰到来时,洪水 不会漫入堤岸;堤坝的强 度足以保证巨浪不会冲垮 堤坝。同时希望得到一个 省时省力省经费的设计方 案。bh H获得设计方案的过程是一个决策的过程,也是优化的过程。优化过程就是求解一个付出最小、获得效益最大的方案。 优化方法?实际问题表达成的函数类型很多:确定型、不确定型函数; 线形、非线形(二次、高次、超越)函数。?变量类型也很多:连续、离散、随机变量等等。?产生很多的优化算法:无约束优化、约束优化: 单目标函数优化、多目标函数优化; 连续变量优化、离散变量优化、随机变量优化。 机械设计方法?传统设计方法基于手工劳动或简易计算工具。方法低效,一般只能获 得一个可行的设计方案。 传统机械设计理论与方法包括疲劳寿命理论、强度理论、 振动理论…… 常凭经验、试算、校核等方法。?现代优化方法基于计算机的应用,设计过程包括: ① 从实际问题中抽象出数学模型; ② 选择合适的优化方法求解数学模型。 特点:以人机配合或自动搜索方式进行,能从“所有的” 的可行方案中找出“最优的”的设计方案。 传统设计到优化设计人工试凑和定性分析的比较过 程,被动的重复分析产品的性 能――经验设计、近似计算、 一般的安全寿命可行设计。 设计问题数学模型最优的设 计方案是最 优 ?否方案分析优化途径,优选设计参数设计方案图2: 优化设计过程框图利用电子计算机主动的 设计产品参数,获得最 优方案――理论设计、 精确计算、优化设计 优化设计的一般过程 1)建立确切反映问题实质并适合于优化计算的优 化设计数学模型; 2)选择恰当的优化方法,编写计算机语言程序; 3)求得数学模型的最优解。机械优化设计是使某项机械设计在规定的各种设计限 制条件下,优选设计参数,使某项或几项设计指标获 得最优值。工程设计上的“最优值”(Optimum)或“最佳值” 系指在满足多种设计目标和约束条件下所获得的 最令人满意和最适宜的值。 工程案例1、利用一化工优化系统,对一化工厂进行设计。根据给定数据,在 16小时内,进行16000个可行性设计的选择,从中选择一成本 最低、产量最大的方案,并给出必须的精确数据。 传统设计:一组工程师,一年时间,仅仅3个方案,且并非最优。 2、美国BELL飞机公司利用优化方法解决450个设计变量的大型结 构优化问题。一个机翼质量减轻35%。 3、波音公司,在747的机身设计中收到了减轻质量、缩短生产周 期、降低成本的效果。 4、武汉钢铁公司从德国引进的1700薄板轧机,经该公司自主优化 后,就多盈利几百万马克。 优化设计的作用(优点):? ? ? ? ?使传统机械设计中,求解可行解上升为求解最优解成为可能; 使传统机械设计中,性能指标的校核可以不再进行; 使机械设计的部分评价,由定性改定量成为可能; 大大提高了产品的设计质量,从而提高了产品的质量; 提高生产效率,降低产品开发周期;?…… 机械优化设计的发展1、古典优化思想: 17世纪,利用微分学和变分学的解析 解法。 ――仅能解决简单的极值问题 2、经典优化方法:20世纪40年代,数学规划方法 ―― 可求解包含等式约束和不等式约束的复杂优化问题。 线性规划、非线性规划、几何规划、动态规划和混合离 散规划等。优化设计从无约束→有约束优化问题;连续 变量→离散变量;确定型→随机型模型;单目标优化→ 多目标优化。 3、现代优化设计: 20世纪80年代出现许多现代优化算法:模拟退火算法、 遗传算法、人工神经网络算法、蚁群优化算法等。 并从狭义优化设计(零部件参数)转向广义优化设计 (面向产品的全系统、设计全过程、全寿命周期)。例如, 针对涉及多领域复杂系统的多学科设计优化。 ?优化设计:优化原理与方法,在科学、工程和社会的实际 问题中的应用,即为优化设计。 机械优化设计:即把机械设计与优化设计理论及方法相结 合,借助电子计算机,自动寻找实现预期目标的最优设计 方案和最佳设计参数。? 机械优化设计的应用概况在机械设计方面的应用较晚,从国际范围来说, 是在上世纪60年代后期才得到迅速发展的。 机构运动参数的优化设计是机械优化设计发 展较早的领域。国内近年来才开始重视,但发 展迅速,在机构综合、机械的通用零部件的设 计、工艺设计方面都得到应用。优化设计本身存在的问题和某些发展趋势主 要有以下几方面: 1、目前优化设计多数还局限在参数最优化这种数值 量优化问题。结构型式的选择还需进一步研究解决; 2、优化设计这门新技术在传统产业中普及率还不高; 3、把优化设计与CAD、专家系统结合起来是优化设 计发展的趋势之一。优化设计的思想广泛的应用于工业、农业、商 业和国防等各部门,解决诸如生产规划、经济管 理、能源利用、产品设计、工艺过程设计、控制 系统等方面的最优化问题,它是促进技术进步和 国民经济发展的一种有效方法。 第一节 优化设计概述一、优化设计问题引例 二、优化设计问题的数学模型 三、优化设计问题的基本解法 一、引例货箱的优化设计现用薄板制造一体积为100m3,长度不小于5m的无上盖的 立方体货箱,要求该货箱的钢板耗费量最少,试确定货箱的长、 宽、高尺寸。分析:(1)目标:用料最少,即货箱的表面积最小。 (2)设计参数确定:长x1 、宽x2 、高x3; (3)设计约束条件: (a)体积要求 (b)长度要求 数学模型设计参数:x1 , x2 , x3设计目标: min S ? x1 x2 ? 2( x2 x3 ? x1 x3 ) 约束条件:g1 ? x1 ? 5 g 2 ? x2 ? 0 g 3 ? x3 ? 0 h1 ? x1 x2 x3 ? 100 直齿圆柱齿轮副的优化设计已知:传动比i,转速n,传动功率P,大小齿轮的材料,设 计该齿轮副,使其重量最轻。分析: (1)目标:圆柱齿轮的体积V或重量w最小;(2)设计参数确定:模数m、齿宽b、齿数z1 (3)设计约束条件: (a)大、小齿轮满足弯曲强度要求; (b)齿轮副满足接触疲劳强度要求; (c)齿宽系数要求; (d)最小齿数要求 数学模型设计参数: 设计目标:m, z1 , bmin W ??4?b[( mz1 ) ? (miz1 ) ]2 2约束条件: ? F 1 ? [? ]F 1 ? 0? F 2 ? [? ]F 2 ? 0 ? H ? [? ]H 1 ? 0 b ? ?d m z1 ? 0(?d ? 齿宽系数)17 ? z1 ? 0 二、优化设计问题的数学模型优化设计的数学模型是描述实际优化问题的设计 内容、变量关系、有关设计条件和意图的数学表达 式,它反映了物理现象各主要因素的内在联系,是 进行优化设计的基础。 优化设计数学模型的三大要素: ? 设计变量 ? 约束条件 ? 目标函数 1、设计变量 一个设计方案可以用一组基本参数的数值来表 示,这些基本参数可以是构件几何量(如尺寸、 位置等),也可以是物理量(如质量、频率等), 还可以是应力、变形等表示工作性能的导出量以 及非物理量(如寿命、成本等)。 在设计过程中进行选择并最终必须确定的各项 独立的基本参数,称作设计变量,又叫做优化参 数。在优化设计过程中设计变量是不断修改、调 整,一直处于变化状态。 设计变量的全体实际上是一组变量,可用一个列 向量表示。设计变量的数目称为优化设计的维数, 如n个设计变量,则称为n维设计问题。? x1 ? ?x ? ? 2 ? ? ?x , x , ? , x ?T x? 1 2 n ??? ? ? ? xn ? 只有两个设计变量的二维设计问题可用图1中(a) 所示的平面直角坐标表示;有三个设计变量的三维设计 问题可用图1中(b)所表示的空间直角坐标表示。图1 设计变量所组成的设计空间 (a)二维设计问题 (b)三维设计问题 当设计点连续时, R1 为直线; R 2为平面; R 3为立体空间; R n (n ? 4) 为超越空间. 设计空间的维数表征设计的自由度,设计变量愈多,则 设计的自由度愈大,可供选择的方案愈多,设计愈灵活, 但难度亦愈大,求解亦愈复杂。小型设计问题:一般含有2~10个设计变量;中性设计问题:10~50个设计变量; 大型设计问题:50个以上的设计变量。 目前已能解决200个设计变量的大型最优化设计问题。 如何选定设计变量?任何一项产品,是众多设计变量标志结构尺寸的综 合体。变量越多,可以淋漓尽致地描述产品结构,但会 增加建模的难度和造成优化规模过大。所以选择设计变 量时应注意以下几点: ? 抓主要,舍次要 对产品性能和结构影响大的参数可取为设计变量, 影响小的可先根据经验取为试探性的常量,有的甚至 不考虑; ? 根据要解决的设计问题的特殊性来选择设计变量。 2、约束条件设计空间是所有设计方案的集合,但这些设计方案有些 是工程上不能接受的。如一个设计满足所有对它提出的要 求,就称为可行设计。 一个可行设计必须满足某些设计限制条件,这些限制条 件称作约束条件,简称约束。分类① 根据约束性质分: 性能约束――针对性能要求而提出的限制条件。如选择某 些结构必须满足受力的强度、刚度或稳定性要求等; 侧面约束(边界约束)――针对设计变量的取值 范围加以限制的约束。如允许机床主轴选择的尺寸范围,对 轴段长度的限定范围等。 ② 根据数学表达式的形式分: 等式约束:h? X ? ? 0不等式约束: g ? X ? ? 0③ 显式约束和隐式约束 约束函数有的可以表示成显式形式,即反映设计变量之间明显 的函数关系,有的只能表示成隐式形式,如复杂结构中的性能约束 函数(变形、应力、频率等),需要通过有限元等方法计算求得。 可行域:凡满足所有约束条件的设计点,它在设计空间 的活动范围。(对应不可行域) 如右下图所示满足两项约束 条件的二维设计问题的可行域D 为ABC涵盖区域,包括线段AC和 圆弧ABC在内。 约束条件:2 g1 ( x) ? x12 ? x2 ? 16 ? 0g 2 ( x) ? 2 ? x2 ? 0 一般情况下,设计可行域可表示为:D ? ?x g u ( x) ? 0 h j ( x) ? 0 u ? 1,2,?l j ? 1,2,?, m?不可行域: D ?可行点和不可行点 D内的设计点为可行点,否则为不 可行点(外点)。 ?边界点与内点 约束边界上的可行点为边界点,其 余可行点为内点。 ?起作用的约束与不起作用的约束 * 满足 gu ( X ) ? 0 的约束为起作用约束,否则为不起 作用的约束.(等式约束一定是起作用约束) 3、目标函数为了对设计进行定量评价,必须构造包含设计变量 的评价函数,它是优化的目标,称为目标函数。用它 可以评价设计方案的好坏,所以它又被称作评价函数。 记作: f ( X ) ? f ( x1, x2 , x3 ,...xn ) 通常f ( x) ? min在优化过程中,通过设计变量的不断向f(x)值改善的 方向自动调整,最后求得的f(x)最好或最满意的x值。在 构造目标函数时,应注意目标函数必须包含全部设计变 量。在机械设计中,可作为参考目标函数的有: 最小体积,最轻重量,最高效率,最大承载能力,最小 振幅或噪声,最小成本,最高利润等等。 在最优化设计问题中,可以只有一个目标函数称为单目标函数。 当在同一设计中要提出多个目标函数时,这种问题称为多目标函数的 最优化问题。在一般的机械最优化设计中,多目标函数的情况较多。 目标函数愈多,设计的综合效果愈好,但问题的求解亦愈复杂。在实际工程设计问题中,常常会遇到在多目标的某些 目标之间存在矛盾的情况,这就要求设计者正确处理各目 标函数之间的关系。 目前处理多目标设计问题常用的方法 是组合成一个复合的目标函数,如采用线性加权的形式, 即f ( x) ? W1 f1 ( x) ? W2 f2 ( x) ? ... ? Wq f q ( x) 目标函数的等值线(面) 目标函数是n维变量的函数,它的函数图形只能在n+1维 空间中描述出来。为了在n维设计空间中反映目标函数的变 化情况,常采用目标函数等值线(面)的方法。 目标函数的等值线(面)的数学表达式为:f ( x) ? cc为一系列常数,代表一族n维超曲面。如在二维设计 空间中,f(x1,x2)=c代表x1-x2设计平面上的一族曲线。 对于具有相等目标函数值的设计点构成的平面曲线或曲面 称为等值线或等值面。 如上图表示目标函数f(x)与两个设计变量x1和x2所构成 的关系曲面上的等值线,它是由许多具有相等目标函数值 的设计点构成的平面曲线。当给目标函数以不同值时,可 得到一系列的等值线,它们构成目标函数的等值线族。在 极值处目标函数的等值线聚成一点,并位于等值线族的中 心。当目标函数值的变化范围一定时,等值线愈稀疏说明 目标函数值的变化愈平缓。利用等值线的概念可用几何图 形形象地表现出目标函数的变化规律。 函数2 f ( x1, x2 ) ? 60 ?10x1 ? 4x2 ? x12 ? x2 ? x1x2的等值线图。从等值线上,可以清楚地看到函数值的变化情况。其中f=40的等 值线就是使 f ( x1 , x2 ) ? 40 各点所组成的连线。等值线 等值(线)面:等值线的“心”(以二维为例) ?一个“心”:是单峰函数的极(小)值点,是全局极(小)值点。?没有“心”:例,线性函数的等值线是平行的,无“心”,认为极值点在无穷远处。?多个“心”:不是单峰函数,每个极(小)值点只是局部极(小)值点,必须通过比较各个极值点和“鞍点”(须正确判别)的值,才 能确定极(小)值点。 4、优化设计问题的一般数学形式求设计变量向量 使目标函数X ? ? x1 , x2 , ??? xn ?Tf ( X ) ? min满足约束条件hk ( X ) ? 0 (k ? 1, 2,3, ???, l )g j ? X ? ? 0 ( j ? 1, 2,3, ???, m)设可以同时满足上述约束条件的设计点的集合为R, 则可简化为求X使 min f ( X )x?R 最优化设计的目标函数通常为求目标函数的最小值。若目 标函数的最优点为可行域中的最大值,则可以看成是[-f(x)] 的最小值,当然也可看成是求1/f(x)的极小值。对于复杂的问题,要建立能反映客观工程实际的、完善的数学模型往往 会遇到很多困难,有时甚至比求解更为复杂。这时要抓住关键因素,适当 忽略不重要的成分,使问题合理简化,以易于列出数学模型,这样不仅可 节省时间,有时也会改善优化结果。 建立优化设计问题的数学模型的一般步骤??? ?根据设计要求,应用专业范围内的现行理论和 经验等,对优化对象进行分析; 对设计问题各参数进行分析,以确定设计的原 始参数、设计常数和设计变量; 根据设计要求,确定并构造目标函数和相应的 约束条件,有时要构造多目标函数; 必要时对数学模型进行规范化,以消除各组成 项间由于量纲不同等原因导致的数量悬殊的影 响。 5、优化设计数学模型的分类(1)按有无约束条件分: 无约束优化问题 约束优化问题 (2)按约束条件和目标函数是否同时为线性分: 线性规划问题 非线性规划问题(居多) (3)按问题规模的大小分: 大型:设计变量和约束条件的个数在50以上 中型:设计变量和约束条件的个数在10~50 小型:设计变量和约束条件的个数在10个以下 三、优化设计问题的基本解法1、解析解法:根据函数极值的必要条件和充分条件求得其最 优解析解的求解方法,适用于目标函数比较简单的情况。 2.数值的近似解法:又称为数值迭代方法,它是根据目标 函数的变化规律,以适当的步长沿着能使目标函数值下降 的方向,逐步向目标函数值的最优点进行探索,逐步逼近 到目标函数的最优点或直至达到最优点。数值解法是优化 设计问题的基本解法,其中也可能用到解析解法。 数值解法更能适应计算机的工作特点: 1)数值计算而不是数学分析; 2)具有简单逻辑结构并能进行反复的同样的算术计算; 3)最后得到的是逼近精确解的近似解。 优化设计的两类方法:优化准则法,数学规划法数值迭代法的基本思路:搜索、迭代、逼近 即进行反复数值计算,寻求目标函数值不断下降的可行计算点,直到最后获 得足够精度的最优点。该方法的求优过程可归纳为以下步骤:1)首先初选一个尽可能靠近最小点的初始点X(0),从初 始点出发按照一定的原则寻找可行方向和初始步长, 向前跨出一步,达到X(1); 2)得到新点X1后再选择一个新的使函数值迅速下降的方 向及适当步长,从X(1)点出发再跨出一步,达到X(2)点。 以此类推,一步一步地向前探索并重复数值计算,最 终达到目标的最优点。 数值迭代法的迭代格式? (0) s (0)X ( 0)X (1)? ? ? ? g ?X ? ? ? ? 0( j ? 1,2,3,?, m)f X ?k ?1? ? f X ?k ?k ?1 jX ( k ?1) ? X ( k ) ? ? ( k ) S ( k )其中:X(k ), k ? 1,2,...X ( 2)----第k步迭代计算所得到的点。称为第 k步迭代点,亦第k步设计方案。S(k )----第k步迭代计算的搜索方向。 ----第k次迭代计算的步长。? (k ) 每次迭代所得新点的目标函数值应满足函数值下降的要求:f ( x k ?1 ) ? f ( x k )收敛:lim x k ? x?k ??数值迭代法关键要解决的问题: 1)怎样确定搜索方向 2)如何确定迭代步长X ( k ?1) ? X ( k ) ? ? ( k ) S ( k )3)如何判断是否找到最优点,以终止迭代 迭代计算的终止准则1)点距准则X k ?1 ? X k ? ?1( xi( k ?1) ? xi( k ) ) 2 ? ? 1. ?i ?1 n即2)函数值下降量准则f X ?k ?1? ? f X ?k ? ? ? 2?? ??-- 绝对下降量或3)梯度准则f ( X ( k ?1) ) ? f ( X ( k ) ) ? ? 2 -- 相对下降量 ( k ?1) f (X )?f X ?k ?1? ? ? 3?f ?x2 ?f ? ... ? ?xn ?T??? ?f ?f ( X ) ? ? ? ?x1 采用哪种收敛准则,可视具体问题而定。可取? i ? 10 ~ 10 (i ? 1,2,3)?2 ?5上述准则都在一定程度上反映了逼近最优点的 程度,但都有一定的局限性。在实际应用中,可取 其中一种或多种同时满足来进行判定。 第2节 优化设计的数学基础4.2.1 基本概念 ? 函数的方向导数一个二元函数 F ( x1 , x2 ) , 0 在点 X 0 ( x10 , x2 ) 处沿某一方向 S 的 方向导数(即变化率)可定义如下:0 0 ?F ( X 0 ) F ( x10 ? ?x1 , x2 ? ?x2 ) ? F ( x10 , x2 ) ? lim ? ?0 ?S ? 二元函数 F ( x1 , x2 ) ,在点 X ( x1 , x2 ) 处的 偏导数(即沿坐标轴方向的变化率,或称坐标轴 方向的方向导数)如下:0000 0 ?F ( X 0 ) F ( x10 ? ?x1 , x2 ) ? F ( x10 , x2 ) ? lim ?x1 ?0 ?x1 ?x10 0 ?F ( X 0 ) F ( x10 , x2 ? ?x2 ) ? F ( x10 , x2 ) ? lim ?x2 ?0 ?x2 ?x2 方向导数与偏导数之间的数量关系 二元函数 F ( x1 , x2 )?0 0 ?F ( X 0 ) F ( x10 ? ?x1 , x2 ? ?x2 ) ? F ( x10 , x2 ) ? lim ? ?0 ?S ? 0 0 0 0 F ( x10 ? ?x1 , x2 ) ? F ( x10 , x2 ) ?x1 F ( x10 , x2 ? ?x2 ) ? F ( x10 , x2 ) ?x2 ? lim ? ? lim ? ? ?0 ? ?0 ?x1 ? ?x2 ??F ( X 0 ) ?F ( X 0 ) ? cos?1 ? cos? 2 ?x1 ?x2三元函数 F ( x1 , x2 , x3 )?F ( X 0 ) ?F ( X 0 ) ?F ( X 0 ) ?F ( X 0 ) ? cos?1 ? cos? 2 ? cos?3 ?S ?x1 ?x2 ?x3 n元函数 F ( x1 , x2 ,?, xn )?F ( X 0 ) ?F ( X 0 ) ?F ( X 0 ) ?F ( X 0 ) ? cos?1 ? cos? 2 ? ? ? cos? n ?S ?x1 ?x2 ?xn ?F ( X 0 )      ? ?   cos? i ?xi i ?1n式中, cos? i 为S方向与坐标轴方向xi 夹角的余弦。 ?函数的梯度函数F(X)在某点X 方向导数表明函数沿某一方向 S的变化率。一般说来,函数在某一确定点沿不同方 向的变化率是不同的。 为求得函数在某点X 方向导数为最大的方向,引 入梯度的概念。 以二元函数为例?F ( X ) ?F ( X ) ?F ( X ) ? ?F ( X ) ?F ( X ) ? ? cos ?1 ? ? cos?1 ? cos? 2?? ? ?cos ? ? ?x2 ? ? 2? ?S ?x1 ?x2 ? ?x1方向S的单位向量函数F(X)在点X处的梯度F(X), 可记作grad F(X)? ?F ( X ) ?F ( X ) ? ? ? ?x1 ?F ( X ) ? ? ?x2 ?TS ? ?cos?1 cos?2 ?S ?1 n元函数 F ( x1 , x2 ,?, xn ) 的梯度:? ?F ( X ) ?F ( X ) ?F ( X ) ? ?F ( X ) ? ? , , ?, ? ?x2 ?xn ? ? ?x1 分析:?F ( X ) T ? ??F ( X )? ? S ? ?F ( X ) ? S ? cos( ?F ( X ), S ) ?S 函数F(X)沿S方向的方向导数等于向量 F(X)在S 方向上的投影。 当cos(
F(X) , S )=1时,即S 与
F(X) 方向相同时,向量 F(X) 在 S 方向上的投影最大, 其值为 ?F (X )说明:梯度 F(X) 是一个向量,梯度方向是函数具有最大变 化率的方向(方向导数最大的方向),即: ?梯度 F(X)方向是函数F(X) 的最速上升方向; ?负梯度- F(X)方向是函数F(X) 的最速下降方向。 ?凸集?凸函数F (X )A  设D为E n中 一 凸 集 , ( X )为 定 义 在 上 的 F D 一 个 函 数 , 若 对 于 任 实 数? (0 ? ? ? 1)和 何 D内 任 意 两 点 1和X 2 , 恒 有 X F (?X 1 ? (1 ? ? ) X 2 ) ? ?F ( X 1 ) ? (1 ? ? ) F ( X 2 ) 则F ( X )为D上 的 凸 函 数 ; 若 式 中 不 等 号 反 向 , F ( X )为 凹 函 数 。 则aK'BKX2 b X X1 X* 凸函数的几何意义 ?凸规划对于约束优化问题     min F ( X ),  X ? R n      s.t. g u ( X ) ? 0, u ? 1,2, ? , m 式 中 , 若 ( X )、g u ( X )、u ? 1,2, ? , m均 为 凸 函 数 , F 则称此问题为凸规划。凸规划的性质:1)可 行 域 ? ?X g u ( X ) ? 0, u ? 1,2, ? , m?为 凸 集 。 D 2)上 述 凸 规 划 问 题 的 任 局 部 最 优 解 都 是 全 局 优 解 。 何 最 3)若F ( X )可 微 , 则 *为 上 述 凸 规 划 问 题 的 优 解 的 X 最   充 分 必 要 条 件 是 : 于X ? D, 都 满 足 对       (X ) (X ? X *) ? 0 ?F*??T 4.2.2 最优点性质?局部及全局最优点概念 最优设计点可分为:局部最优点、全局最优点。?Y=G(X) ★3★1 ★2? ?●1●2 a●3 X b目标函数Y=G(X), 设计变量X, 取值区间[a,b]即 优化问题的可行区域 D={XOa≤X≤b}。★3和●3分别为闭区间上设计端点; ★2为开区间内极大点(或称局部极值点或局部最优点); ★1为可行区域D内全局最大点(全局最优点); ●1为开区间内极小点; ●2为可行区域D内全局最小点。 ?局部及全局最优点性质讨论?全局最优点一定也是局部最优点,而局部最优点不一定是全局最优点。判断是否全局、局部最优点的依据和最实用方法是高等 数学中的极值原理(开区间上讲极值,闭区间上讲最值)。?全局最优求解方法最优化问题常要求求解全局最优点,然而由于优化算法 本身结构、优化问题本身的复杂性等原因,传统优化算法 (如黄金分割法或0.618法,单纯形法、复合形法、最小二 乘法等)以及新发展的模糊优化法、神经网络优化法都很难 直接求出全局最优点。 目前,求解全局最优点的有效方法主要有:遗传优化法、 多个局部最优点比较综合法。 ? 遗传优化法GA(genetic algorithm)GA总能解决传统优化法难以解决的问题。 ? 当优化问题存在若干个“山峰或极值点”(即多极值问 题)时,传统优化法很容易陷入或收敛于局部最优点, 而GA则不然。? GA最擅长于求解大型且复杂的优化问题,求解简单优化问题反而效率不高(此时还不如选用传统优化法)。? GA法不存在如何选择搜索初始点问题,总能搜索到全局最优点附近。 ?多个局部最优点比较综合法先取若干个相距较远的初始点,再从各个初始点出发 用选择的优化算法来求出最优点。 全局最优点的判断: 在上述基础上,观察求解结果是否趋向同一点? ? 若从不同初始点出发搜索的结果是同一个最优点,则 认为所得点是全局最优点;?若从不同初始点出发搜索的结果不是同一个点,则需 要进一步比较这些结果值,从中找出目标函数值最小 或最大的那个作为全局最优点。 4.2.3 最优化算法的类型*优化算 法名称 优化算法细分类 说 明解析法无约束时古典微分法 古典 变分 法 库恩-图克 定理 一维搜索问题有约束时极大值原理 数值计算 迭代法仅用于目标、约束函数均是设计 变量的显函数情况。采用求导数 法或变分法求出泛函或目标最优 的必要条件得到一组方程或不等 式组,再求解方程组或不等式组, 得到最优解。广泛用于目标或泛函复杂或无法 区间消元法(如0.618法或黄金分割 改写成设计变量的显函数形式情 况。选用直接搜索法经过若干次 法);多项式插值法 迭代计算而得到最优点。一般, 一维搜索问题(即单个设计变量 多维搜索问题 的极值问题)可用区间消元法、 爬山法:坐标轮换法、步长加速法、 多项式插值法;多维搜索问题 方向加速法、单纯形法、随机搜索 (即多个设计变量的极值问题) 法 可用爬山法。 优化算 法名称优化算法细分类说明网络优化法基于梯度的数 值计算法 无约束梯度法 有约束梯度法 有约束变成无约束问题法 模糊优化法 神经网络优化数学模型为网络图形,采用图论 法求解。包括:最速下降法、拟牛顿法、共 轭梯度法、变尺度法等 可行方向法、梯度投影法 SUMT法、SWIFT法、复合形法如基于最小二乘原理的模糊(fuzzy)线性回归等 如BP神经网络优化法、径向基网络优化法等。遗传优化法GA法总能解决普通优化法难以解决的问题。当优化问题存在若干个 “山峰或极值点”时,普通优化法很容易陷入或收敛于局部最优点, 而GA则不然。GA最擅长于求解大型且复杂的优化问题,求解简单优 化问题反而效率不高(此时还不如选用普通优化法)。GA法不存在 如何选择搜索初始点问题,总能搜索到全局最优点附近。 第三节 基于导数的最优化方法§ 4.3.1 最速下降法(梯度法) 问题: 在点 xk 处, 沿什么方向 d k , f ?x ? 下降最快?T 分析: f ?xk ? ?dk ? ? f ?xk ? ? ?gk dk ? o?? dk ? ?? ? 0? T 考查: g k d k ? g k d k cos?问题提出 教:T 显然当 cos? ? ?1 时, k d k 取极小值. g 因此: d k ? ? g k结论: 亦即最速 负梯度方向使 f ?x ? 下降最快, 下降方向. 最速下降法算法Step1: 给出 x0 ? R ,0 ? ? ?? 1, k :? 0 Step2: 计算?f ?xk ?, 如果 ?f ?xk ? ? ? , 停.nStep3: 计算下降方向 d k ? ? g k . Step4: 计算步长因子? k . Step5: 令 xk ?1 ? xk ? ? k d k , 转步2. 学:算法的MATLAB实现? ? ? ? ? ? ? ? ? ? ? ?function [x,minf] = minFD(f,x0,var,eps) if nargin == 3 eps = 1.0e-6; tol = 1; gradf = - jacobian(f,var); while tol&eps v = Funval(gradf,var,x0); tol = norm(v); y = x0 + l*v; yf = Funval(f,var,y); [a,b] = minJT(yf,0,0.1); xm = minHJ(yf,a,b); x1 = x0 + xm*v; x0 = x1; end x = x1; minf = Funval(f,var,x);?? ? ? ? ? ? ? ? ? ? 做:算法举例? ? ? ? ? ? ? ?最速下降法求解无约束多维极值问题实例。用最速下降法 x 求函数 f (t, s) ? (t ? 4) 2 ? (s ? 2) 2 ?1的极小值,初始点取 0 ? (1,?3). 解:在MATLAB命令窗口中输入: && &&f=(t-4)^2+(s+2)^2+1 &&[x,mf]=minFD(f,[1 -3],[t s]) 所得结果为: X=4.0 Mf=1 最速下降法优点(1) 程序设计简单,计算量小,存储量小, 对初始点没有特别要求. (2) 有着很好的整体收敛性,即使对一般的 目标函数,它也整体收敛. 最速下降法缺点(1) 最速下降法是线性收敛的,并且有时是 很慢的线性收敛. 原因: d k ? ? g k 仅反映 f ?x ? 在 xk 处 ① 的局部性质. T g k ?1d k ? 0 , 相继两次迭代中搜索 ② 方向是正交的. 小结(1) 最速下降法是基本算法之一,而非有效 的实用算法. 最速下降法的本质是用线性函数来近似 目标函数, 要想得到快速算法,需要考 虑对目标函数的高阶逼近. § 4.3.2 牛顿法牛顿迭代法也称为牛顿-拉夫森(NewtonRaphson)迭代法,它是数值分析中最重要的方 法之一,它不仅适用于方程或方程组的求解, 还常用于微分方程和积分方程求解。 基本思想 教:利用目标函数 f ?x ? 在点 xk 处的二阶Taylor 展开式去近似目标函数, 用二次函数的极小点 去逼近目标函数的极小点. Newton迭代法的基本思想?设 X 是f(x)=0的一个近似根,把f(x)在K?f ? ( xk ) f ( x) ? f ( xk ) ? f ?( xk )( x ? xk ) ? ( x ? xk ) 2 ? ? 2! 若取前两项来近似代替f(x)(称为f(x)的线性化),则得近似的线性方程设X K 处作泰勒展开? ? ?f ( x) ? f ( xk ) ? f ?( xk )( x ? xk ) ? 0 f ?( xk ) ? 0 ,令其解为 xk ?1 ,得x k ?1 f ( xk ) ? xk ? f ?( x k )(1)这称为f(x)=0的牛顿迭代格式。 它对应的迭代方程为 x ? x ? 故其迭代函数为f ( x) 显然是f(x)=0的同解方程, f ?( x)f ( x) ?( x) ? x ? ( f ?( x) ? 0) f ?( x) 在 f(x)=0的根 ? 的某个邻域 R( x ? ? ? ?) 内, f ( x) ? 0??( x) ? f ??( x) ? f ( x) ? L ?1? f ?( x)?2在 ? 的邻域R 内,对任意初值 x 0 ,应用由公式(1)来解方程的方法就称为牛顿迭代法。它是解代数方程和超越方程的有效方法之一. 牛顿法的几何意义?由(1)式知xy ? f ( xk ) ? f ?( x k ) x ? xkk ?1是点 xk , f ( xk )) 处y ? f (x) 的切线 ( 与X轴的交点的横坐标(如图)。也就是说,新的近似值 x k ?1 是用代替曲线y=f(x)的切线 与x 轴相交得到的。继续取点 ( xk ?1 , f ( xk ?1 )) ,再做切线 与x轴相交,又可得xk ? 2 ,?? 。由图可见,只要初值取 的充分靠近? ,这个序列就会很快收敛于 ? 。?Newton迭代法又称切线法 y 牛顿迭代法的步骤?步一、准备。选定初始近似值 x ,计算0f 0 ? f ( x0 )f 0? ? f ?( x0 )?步二、迭代。按公式 x1 ? x0 ? f 0值 x ,计算 f1 ? f ( x1 ), f1? ? f ?( x1 ) 1?f 0?迭代一次,得到新的近似步三、控制。如果 x1满足 ? ? ?1。则终止迭代,以作为所求的根;否则转步四。此处 x1是允许误差, ?1 而? x1 ? x0 ,当.. x1 ? c时;。其中c是取绝对值或相对误差 ?x ?x ??? 1 0 ,当... x1 ? c时。 ? x ? 1的控制常数,一般可取c=1。 步四、修改。如果迭代次数达到预定指定的次数N,或者 代替( x0 , f 0 , f 0?)转 f1? ? 0 则方法失败;否则以 ( x1 , f1 , f1?) 步二继续迭代。 牛顿迭代法的优缺点1、优点:牛顿迭代法具有平方收敛的速度,所以在迭代 过程中只要迭代几次就会得到很精确的解。这是牛顿迭代 法比简单迭代法优越的地方。 2、缺点:选定的初值要接近方程的解,否则有可能得不 到收敛的结果。再者,牛顿迭代法计算量比较大。因每次 迭代除计算函数值外还要计算微商值。 判别Newton 法收敛的充分条件设?(x )在有根区间 (a,b)上存在二阶导数,且满足 (1)?(a)?(b)&0; (2)?`(x)?0,x?(a,b); (3)?``(x)不变号,x?(a,b); (4)初值x0 ?(a,b);且使?(x0)?``(x0)&0。 则牛顿迭代序列{xi}收敛于 ?(x)=0 在 (a,b) 内唯一的根。 学:牛顿迭代法的MATLAB实现?? ? ? ? ??? ? ? ? ?function [x,minf] = minNT(f,x0,var,eps) if nargin == 3 eps = 1.0e-6; end tol = 1; x0 = transpose(x0); gradf = jacobian(f,var); jacf = jacobian(gradf,var);while tol&eps v = Funval(gradf,var,x0); tol = norm(v); pv = Funval(jacf,var,x0); p = -inv(pv)*transpose(v); p = double(p); x1 = x0 + x0 = x1; end x = x1; minf = Funval(f,var,x);?? ? ? ? ??? ? ? ? 做:算法举例? ? ? ? ? ? ?牛顿法求解无约束多维极值问题实例。用牛顿法求函数 解:在MATLAB命令窗口中输入: && &&f=(t-4)^2+(s+2)^2+1 &&[x,mf]=minNT(f,[0 0],[t s]) 所得结果为: X=4.0 Mf=1f (t, s) ? (t ? 4) 2 ? (s ? 2) 2 ? 1 的极小值,初始点取 0 ? (0,0). x? 练习 1 用牛顿迭代法求方程 x ? x ? x ? 1 ? 0 在3 2x ? 0.5 附近的近似根,误差不超过10-3 。牛顿迭代法的迭代函数为:f ( x) x3 ? x 2 ? x ? 1 g ( x) ? x ? ' ? x? 2 f ( x) 3x ? 2 x ? ?1相应的matlab代码为: x=0.5; for i=1:3 x=x-(x^3+x^2+x-1)/(3*x^2+2*x+1) end 可算得迭代数列的前三项0.7,0.5437。经 三次迭代就大大超了精度 练习2 用牛顿迭代法求方程 x ? a(a ? 0) 的正根。2牛顿迭代法的迭代函数为1 a g ( x) ? ( x ? ) 2 x如果取初值为 xe x ?,相应的MATLAB代码为 1f ( x) xe g ( x) ? x ? ' ? x ? x f ( x) ( x ? 1)ex0 ? 0x clear x=0; for i=1:6 x=x-(x*exp(x)-1)/((x+1)*exp(x)) end 可得迭代数列前6项为1.0000 ,0.6839, 0.1,0.5671,说明迭代实收敛的。 如果取初值为10,相应的MATLAB代码为 x=10.0; for i=1:20 x=x-(x*exp(x)-1)/((x+1)*exp(x)) y(i)=x; end0.5672, 可算得迭代数列的前20项为9.0909 ,8.19007.2989 , 6.4194 , 5.5544 , 4.4 , 3.0933 , 2.9 , 1.1195 , 0.2 0.5676 , 0.5671 ,0.5671 , 0.5671 , 0.5671, 0.5671 , 0.5671,说明迭代是收敛的。如果取初值 x0 ? ?1 或 x0 ? ?1.5 ,可算得迭代数列是发散 的,根据函数图形分析原因。 练习3 求方程 x ? e x 在 x ? 0.5 附近的根,精确到10-5先直接使用 g ( x) ? e 的迭代格式,相应的MATLAB代码为 n=0;esp=1.05e-5;x=0.5; while abs(x-exp(-x))&esp x=exp(-x);n=n+1; end x,n 结果为x=0.5671,n=17,说明迭代17次后达到精度要求。?x 为加快收敛速度,用 h( x) ? ? g ( x) ? (1 ? ? ) x 构造迭代格式,由 1 实验的预备知识中可知,取 ? ? ? 0.625 相应的MATLAB代码为 n=0;eps=1.0e-5; x=0.5; while abs(x-0.625*exp(-x)-0.375*x)&eps x=0.625*exp(-x)+0.375*x;n=n+1; end x,n 结果为0.5671,n=3,说明迭代三次后达到精度要求。 练习4 对练习中方程 x ? e? x ,用加快后的迭代格式1 ? g ' (0.5)g ( x) ? xg ' ( x) h( x ) ? 求x=0.5附近的根,精确到10-5 ' 1 ? g ( x) 代码为 n=0;eps=1.0e-5;x=0.5; while abs(x-(x+1)*exp(-x)/(1+exp(-x)))&eps x=(x+1)*exp(-x)/(1+exp(-x));n=n+1; end x,n 结果为x=0.5671,n=2,说明迭代2次后达到精度要求。g ( x) ? xg ' ( x) ( x ? 1)e? x ? 计算 可得 h( x) ? ,相应的MATLAB ' ?x 1 ? g ( x) 1? e § 4.3.3 共轭梯度法 算法特点 教:(1)建立在二次模型上,具有二次终止性. (2)有效的算法,克服了最速下降法的慢 收敛性,又避免了牛顿法的计算量大和局部收 性的缺点. (3)算法简单,易于编程,需存储空间小等 优点,是求解大规模问题的主要方法. 共轭梯度法取: 记:d0 ? ? g0 d k ? ? g k ? ? k ?1d k ?1T T 左乘 d k ?1G ,并使 d k ?1G d k ? 0,得:? k ?1T g k Gdk ?1 ? T (Hestenes-Stiefel公式) d k ?1Gdk ?1 共轭梯度法基本性质定理3: 对于正定二次函数, 采用精确线搜索 的共轭梯度法在 m ? n 步后终止, 且对 1 ? i ? n 成立下列关系式:diT Gd j ? 0 , j ? 0,1,?, i ? 1, (共轭性) g g j ? 0 , j ? 0,1,?, i ? 1,T i(正交性) (下降条件)g d j ? 0 j ? 0,1,?i ? 1,T id gi ? ? g giT i T i, 系数的其他形式(1)FR公式? k ?1T gk gk ? T g k ?1 g k ?1(1964)(2)PRP公式? k ?1T g k ? g k ? g k ?1 ? ? (1969) T g k ?1 g k ?1 FR共轭梯度法算法Step1: 给出 x0 ? R ,0 ? ? ?? 1, k :? 0 Step2: 计算 g k ? ?f ?xk ?, 如果 g k ? ? ,停.nStep3: d k ? ? g k ? ? k ?1d k ?1? k ?1T ? gk gk ? T ? ? g k ?1 g k ?1 ?0 ?k ?1k ?1 Step4: 由精确线搜索求 ? k .Step5: xk ?1 ? xk ? ? k d k , k ? k ? 1, 转Step2. 学:共轭梯度法的MATLAB实现? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?function [x,minf] = minGETD(f,x0,var,eps) if nargin == 3 eps = 1.0e-6; end x0 = transpose(x0); n = length(var); gradf = jacobian(f,var); v0 = Funval(gradf,var,x0); p = -transpose(v0); k = 0; while 1 v = Funval(gradf,var,x0); tol = norm(v); if tol&=eps x = x0; endy = x0 + l*p; yf = Funval(f,var,y); [a,b] = minJT(yf,0,0.1); xm = minHJ(yf,a,b); x1 = x0 + xm*p; vk = Funval(gradf,var,x1); tol = norm(vk); if tol&=eps x = x1; end if k+1==n x0 = x1; else lamda = dot(vk,vk)/dot(v,v); p = -transpose(vk) + lamda*p; k = k+1; x0 = x1; end end minf = Funval(f,var,x); 做:共轭梯度法求解无约束多维极值问题举例? ? ? ? ? ? ?用共轭梯度法求函数f (t, s) ? (t ? 3)2 ? s 2的极小值,其中初始值 x0 ? (?2,6). 取??解:在MATLAB命令窗口中输入: && &&f=(t-3)^2+s^2 &&[x,mf]=minGETD(f,[-2 6],[t s]) 所得结果为: x=3.0 mf=2. 第四节基于非导数的优化方法一般工程实际优化问题绝大多数属于约束非线性 规划问题,其一般数学模型如下:    min f ( X ),  X ? R      s.t . gu ( X ) ? 0  ( u ? 1,2,? , m )           v ( X ) ? 0  (v ? 1,2,? , p ? n)  h  求解上述问题的方法称为约束优化方法。n(6-1) 根据约束条件处理方法的不同,约束优化方法可分为以下类型: ?直接法 ? 即直接从可行域中寻找它的约束最优解。如: 约束坐标轮换法、随机方向搜索法、复合形法及可行方向法等等。 ? 特点: ? 优点:算法简单、直观性强、对函数无特殊要求。?缺点:计算量大、收敛慢,因而效率低。 适用场合:维数低、函数复杂、精度要求不高的问题。??间接法 ?即将复杂的原优化问题转化为一系列简单的容易解决的子问题,用 这一系列子问题的解去逼近原问题的解。如: 简约梯度法、惩罚函数法等等。 本章主要介绍几种常用的约束优化方法: 随机方向搜索法、复合形法。 4.4.1 约束随机方向搜索法?基本原理约束随机方向搜索法是解决小型约束最优化问题的一种常用的 直接求解方法。其基本原理如下:? 在约束可行域内,选取 一个初始点X 0 ; ?以一初始定步长 ? ? 0 ?沿随机方向S 1 (以某种形式 产生的随机方向,求得 ) 探索点X ? X 0 ? ? 0 S 1 ;? 检验该点是否满足下降 性 ( f ( X ) ? f ( X 0 ))和可行性图4.1约束随机方向搜索法基本原理(g u ( X ) ? 0)要求。 ? 若不能同时满足,则应 弃去该方向 1 , 重新产生 S 另一随机方向进行探索 ;? 若能同时满足,则表示 点探索成功,然后以它 X 为 新的起始点,即 0 ? X , 在S 1方向上继续探索新的 X 成功点,直到所探索的 点不能同时满足下降性 和 可行性要求时停止。这 时放弃该点,并将前一 个 成功点作为S 方向的最终成功点,记 X 。 为1 1? 而后以X 1为新的起点X 0 ? X 1 , 然后再产生另一随机 方向S 2 ,以原定步长?重复上述过程,得最终 成功点X 2。  经过若干次循环, {X (k ? 1,2,?)}必最终逼近 点列k约束最优点 。 X*  当在某个转折点(如 4.1中的X 2点),沿N max个随机方向 图 以步长?进行探索均失败时(即 不能同时满足下降性和 可行性 要求),可将步长减半,以 ? 0.5?进行探索?? ? 直至?已缩减到预定精度 以下(即? ? ?),且沿N max个随机 ? 方向都探索失败时。? 以最后一个成功点(如 图中的X 3点)为所求的最优约束 点。 说明:N max为预先给定的某个转折 点处产生随机方向的 最大数目,一般 max ? 50 ~ 500. 对目标函数 N 性态不好的,应选较大 的值,以提高解题的成功率。 ?约束随机方向搜索法中的两个关键问题?初始点的选择  随机方向搜索法的 初始点X 0必须是一个可行点,即 必须满足 全部约束条件:     g u ( X ) ? 0    ? 1,2,? , m)    (u?当约束条件比较简单时 ,可在约束可行域内人 为地确定一个 初始点。 ?当约束条件比较复杂时 ,则采取随机选择方法 ,即利用 计算机产生的伪随机数 来选择可行初始点 0。 X 需要输入设计变量的估 计上下限:          i ? xi ? bi   ? 1,2,?, n) a (i 则初始点的各分量为         i0 ? ai ? ri (bi ? ai )   ? 1,2, ?, n) x (i 即可调用随机函数 RND(0)。(4-2)式中,ri为[0,1]区间内服从均匀分布的 伪随机数,如用 BASIC 语言这样产生的初始点还必 须经过可行性条件的检 验,若不满足, 则应重新随机选取初始 点。?随机搜索方向的产生  利用计算机产生0,1]区间内的伪随机数i (i ? 1,2, ? , n)后, [ r 可按下式          i ? 2ri ? 1   y 将其转换为 ?1,1]区间内的伪随机数 i (i ? 1,2, ?, n)。 [ y(4-3)其原因分析如下:   以图4.2所示的二维问题为例, 若y1、y2是在[0,1]上的两随机数, 则以它们分别作为 1、x2坐标轴 x 上的分量所构成的向量 只可能 S 分布在第 象限内,而不可能在 1 整个象限(第 至第4象限)内 1 均匀分布,从而限制了 随机向量 在整个圆周上取值的可 能,致使图4.2 二维随机向量约束优化问题因随机方 向限制而 找不到最优解。   对于二维问题,设 1、y2是在区间 ?1,1]上均匀分布的两个伪随 y [ 机数, 则其随机单位向量为      e ? 1 y12 ? y2? y1 , y2 ?T 2  这个随机单位向量 的端点位于单位圆的圆 e 周上。    对于三维问题, 的端点应位于以单位长 e 度为半径的球面上;     在n维的情况下, 个n维随机方向单位向量可 N 用下式表示为      e' ? 1 ( y 'i ) 2 ?i ?1 n? y'1 , y'2 ,?, y'n ?T(4-4)      1,2,?, j ? 1,2,?, N ) (i ? 式中,y '1 , y '2 ,?, y 'n 为形成第j个随机单位向量在?1,1]区间内的n个 [ 随机数。 ?迭代步骤(1)给定设计变量数目 , 初始变量估计的上下限 i、bi n a (i ? 1,2, ? , n), 初始步长? 0 , 步长收敛精度 ,产生 ? 随机方向最大次数 N(2)随机产生初始点:随机 产生初始点X 0的分量 x ? ai ? ri (bi ? ai )得X ? x , x ,?, x0 i 0 0 1 0 2?0 T n? ,检验X 的0可行性条件,若满足所 有的约束条件,则转3); ( 否则重新随机产生初始 X 0,直至可行为止; 点(3) X ? X 0 , f0 ? f ( X ),? ? ?0 ;(4)置k ? 1, jj ? 0(5)在[?1,1]区间随机产生随机数 i (i ? 1,2,?, n), 按式(6 ? 4) y 得单位随机向量 ,沿e方向迭代得迭代新点 ? X 0 ? ? ? e X (6)检验新点X的可行性,若满足 u ( X ) ? 0(u ? 1,2,?, m), g 则转(7),否则转(9);(7)检验新点X的下降性: ? f ( X ),若f ? f 0 , 则转(8),否则转(9); f(8) X 0 ? X , f 0 ? f , 置jj ? 1(标志e方向找到了成功点, ) 继续沿e方向迭代得新点 ? X 0 ? ? ? e, 然后转(6); X(9)若jj ? 0(标记转折点,则置k ? k ? 1, 转(10); ) 否则转(4);(10)若k ? Nmax , 则转(11);否则转(5);(11)若? ? ? , 则输出最优解: * ? X , f ( X * ) ? f ( X ), X  可终止迭代;否则, 将步长减半,即 ? 0.5? , ?  再转(4), 继续迭代。 4.4.2 复合形法?基本原理  n维空间的可行域中选取 个设计点 通常取n ? 1 ? k ? 2n) ?在 k ( 作为初始复合形(多面 体)的顶点。? 然后比较复合形各顶点 目标函数值的大小,其 中目标函数值 最大的点为坏点,以坏 点之外其余各点的中心 (即形心) 为映射中心,寻找坏点 的映射点,一般来说此 映射点的目标 函数值总是小于坏点。?以映射点替换坏点,并 与原复合形除坏点之外 其余各点构成 k个顶点的新的复合形。 如此反复迭代计算, 在可行域中不断以目标 函数最小的新点代替 目标函数值最大的坏点 ,构成新复合形,从而 使复合形不断向最优点 移动和收缩,直至收缩 到复合形的各顶点与形 心非常接近,满足迭代 精度要求时为止。最后 输出复合形各顶点中的 目标函数值最小的顶点 作为近似最优点。 现以图4.3所示的二维约束优化问 题为例,来进一步说明 。? 在可行域内,先选定 1、X 2、 X X 3、X 4 4个点(k ? 2n ? 4) 作为初始复合形的顶点 ; ? 计算这4个点的目标函数值,并作比较。可以确定: 函数值最大的坏点 H ? X 1 , X 函数值最小的好点 L ? X 3; X ?以X 2、X 3和X 4 3点的形心X C为映射中心,寻找坏点 X H的映射点X R: X R ? X C ? ? ( X C ? X H)(4-5)式中,?为映射系数,一般? ? 1, 通常取? ? 1.3。图4.3 复合形法的基本原理 ? 检查映射点 R的可行性和下降性:   X  X R在可行域之内,且 ( X R) ? f ( X H)时,则用点X R ?若 f 替换X H点,并组成新的复合形 (图中虚线所示), 完成一次迭代。   ? 若上述两条件得不到满 足,则应将映射系数减 半, 即? ? 0.5? ,    &若已满足,则用 R替换X H构成新的复合形; X   &反之,则继续将 减半,当减至很少 ? (如:? ? 10?5)时, 仍然达不到上述要求, 则用次坏点X 2 代替X H进行映射, 组成新的迭代过程。      如此,可使复合形 向着目标函数值减小的 方向移动和收缩,仍按式(4 ? 5)迭代,重新取新的 R,再检查是否满足上述条 X 件。直至逼近最优解。 ?初始复合形的产生 初始复合形的全部 个顶点都必须在可行域 k 内。  ? 对于维数较低、不很复 杂的优化问题,可人为 地先按实际情况 决定k个可行设计点作为初始 复合形的顶点;  ? 对于维数较高的优化问 题,则多采用随机方法 产生初始复合形。 现将随机方法产生初 始复合形的过程简介如 下:   确定一个可行点 1作为初始复合形的第一 (1) X 个顶点。1    在区间 ai , bi ]上给定一个点 1 ? [ x1 , x1 , ?, x1 ]T, 或调用 0,1]区间内 [ X [ 2 n 服从均匀分布的随机 数列ri j 在 i , bi ]区间产生第一个随机点 1的分量: [a X        ij ? ai ? ri j (bi ? ai )     ? 1, i ? 1,2, ?, n) x (j    检验X 1是否可行。若非可行点 ,则调用随机数,重新 产生随机  点X 1,直到X 1为可行点。    ( 产 生 其 他 k ? 1)随 机 点 。 继 续 调 用 随 数ri j, 产 生 随 机 点 2 , X 3 , 2) ( 机 X(4-6)     ?, X k , 其 分 量 为        ij ? ai ? ri j (bi ? ai )   ( j ? 2,3,?, i ? 1,2,?, n) x        检 验 1是 否 可 行 。 若 非 可 行 , 则 调 用 随 机 数 , 重 产 生 随 机 X 点 新  点X 1, 直 到 1为 可 行 点 。 X  )将非可行点调入可行域 (3 ,构成初始复合形。依 次检查 X 2 , X 3 ,?, X k 是否在可行域内。检查 过程中若X 2 , X 3 ,?, X q 依次都在可行域内,它 们均作为初始复合形的 顶点; 若第q ? 1个点X q ?1不在可行域内,则应首 先将X q ?1点调入 可行域,其步骤为:    图4.4 非可行点如何调入可行域示意图   1)求出已在可行域内 q个点的点集中心 : X XDD1 q ?  X ? q j ?1j(4-7)  2)将 点X q ?1向X D点 推 进 , 移 到 q ?1与X D的 中 点 , 即 按 下 式 产 新 的   X 生    X q ?1点 :    X q ?1 ? X D ? 0.5( X q ?1 ? X D )(4-8) 图6.4 非可行点如何调入可行域示意图  如果推移后的 q ?1已进入可行域 图4.4a所示),则将X q ?1 X ( 作为初始复合形的第 ? 1个顶点;否则继续按式4 ? 8)再次推移 q ( (图6.4b所示), 产生新的X q ?1点,直到X q ?1成为可行点为止。    3)继续依次检查 q ? 2 ,?, X k , 一旦遇到可行点,即作 X 为初始复合形   的顶点;一旦遇到 不可行点则按上述方法 处理,将其调入可行域 ,   直到全部成为可行 点,从而构成了可行域 内的初始复合形。?迭代步骤  对于n个设计变量、仅有不等 式约束的非线性最优化 问题,采用 复合形法的具体步骤为 :   给定设计变量维数 , 变量界限范围 i , bi (i ? 1,2,?, n),复合形顶点 (1) n a数目k,精度要求 ,?;   ?   )产生初始复合形,得 个顶点X j ( j ? 1,2,?, k );    (2 k  )计算复合形各顶点的目 (3 标函数值,找出其中的 最坏点X H和 最好点X L:   X L:f ( X L   X H:f ( X H ) ? max f ( X j )( j ? 1,2,?, k )j? ) ? min?f ( X? )( j ? 1,2,?, k )? 然后,转(8); 1 k   )计算除坏点 外其余各顶点 (4 X 的中心X : X ? X j    ? H ) (j ? k ? 1 j ?1    检查X C点的可行性。 (5)H C C? 若X C 不在可行域内,则可行 可能是一个非凸集图4.5); 域 ( 这时为了将X C点移进可行域内,可在以X L点和X C点为界的超立 方体中(二维则为长方形),重 新 利用伪随机数产生 个新的顶点, k 构成新的复合形。此时 变量的 上下限改为:  若 xL ? xC ? 1,2, ?, n) i i (i图4.5 可行域是非凸集的情况?ai ? xL i  则取?   ? 1,2,?, n) (i C ?bi ? xi否则相反。然后转向步 (2); 骤? 若X C 在可行域内,则转6)。 ( R   )求映射点X (按式(4 ? 5)),并检查X R点是否在可行域内。 (6  若X R在可行域内,则转 7);否则将映射系数 减半,即 ( ?   ? ? 0.5? , 继续计算X R,直至X R满足全部约束条件为止 ;  )计算X R点的目标函数值,若 ( X R ) ? f ( X H ),则用X R替换 (7 f   最坏点X H,即X H ? X R, 构成新的复合形。完成 一次迭代,   并转(3);否则将步长减半,即 ? 0.5? , 转(6)。如果经过 ?   若干次减半 值的计算并使 值已缩小到给定的一个 ? ? 很小   的正数? (通常? ? 10?5 ), 仍不能使映射点优于最 坏点,则   说明该映射方向不 利,可将最坏点 H换成次坏点X SH, X   即   然后返回 4); (    X SH:f ( X SH ) ? max f ( X j )   ? 1,2, ?, k , j ? H ) (j??   (8)检 查 是 否 满 足 迭 代 终 条 件 。 常 用 各 顶 点 与 点 的   止 好   目标函数值之差均方根值小于误差限为终止迭代 的 作   条件,即 ?1 k ? j L 2          ? f ( X ) ? f ( X ) ? ? ? ? ? k j ?1 ?   若满足该条件,将最后复合形的好点为最优点 可 作1 2??   X * ? X L, f ( X * ) ? f ( X L), 并 输 出 最 优 解 , 结 束 代 ; 迭     否 则 返 回 ), 继 续 进 行 下 一 次 迭 。 (4 代 关于优化问题4.4.3遗传算法传统的优化方法(局部优化) 共轭梯度法、拟牛顿法、单纯形方法 全局优化方法 漫步法(Random Walk)、模拟退火法、GA比较:传统的优化方法1)依赖于初始条件。 2)与求解空间有紧密关系,促使较快地收敛到局部 解,但同时对解域有约束,如可微或连续。利用 这些约束,收敛快。 3)有些方法,如Davison-Fletcher-Powell直接依 赖于至少一阶导数; 共轭梯度法隐含地依赖于梯 度。 全局优化方法1)不依赖于初始条件; 2)不与求解空间有紧密关系,对解域,无可微或连 续的要求。求解稳健,但收敛速度慢。能获得全局 最优。适合于求解空间不知的情况 遗传算法基本原理模拟自然界优胜劣汰的进化现象,把搜索空间映射为遗传 空间,把可能的解编码成一个向量――染色体,向量的每个 元素称为基因。 通过不断计算各染色体的适应值,选择最好的染色体,获 得最优解。遗传算法的基本运算 ⑴ 选择运算 ⑵ 交换操作 ⑶ 变异 ●选择运算――从旧的种群中选择适应度高的染色体,放入匹配集(缓冲 区),为以后染色体交换、变异,产生新的染色体作准备。 选择方法――适应度比例法(转轮法) 按各染色体适应度大小比例来决定其被选择数目的多少。 某染色体被选的概率:PcPc ?f ( xi )? f ( xi )xi 为种群中第i个染色体, 具体步骤1)计算各染色体适应度值 2)累计所有染色体适应度值,记录中间累加值S - mid 和最后累加值 sum = ∑f(xi)3) 产生一个随机数 N,0〈 N 〈 sum 4) 选择对应中间累加值S - mid 的第一个染色体进入交换集 5) 重复(3)和(4),直到获得足够的染色体。举例:⒈具有6个染色体的二进制编码、适应度值、Pc累计 值。 染色体的 适应度和所占的比例用转轮方法进行选择 ⒉10个染色体种群按比例的选择过程 染色体被选的概率染色体编号12345678910适应度被选概率 适应度累计80.1 820.02 101727734236124811597663697760.22 0.09 0.02 0.16 0.14 0.09 0.03 0.09被选的染色体个数随机数所选染色 体号码23 349 776 1013 31 127 57 3 7 ●交换操作复制不能创新,交换解决染色体的创新 方法:随机选择二个染色体(双亲染色体),随机指定一点或多 点, 进行交换,可得二个新的染色体(子辈染色体).新的子辈染色体: A’ B’ ●变异11110模拟生物在自然界环境变化,引起基因的突变.在染 色体二进制编码中,1变成0;或0变成1.突变产生染色 体的多样性,避免进化中早期成熟,陷入局部极值点, 突变的概率很低. GA的流程 简单遗传算法(GA)的基本参数①种群规模 P: 参与进化的染色体总数. ②代沟G: 二代之间不相同的染色体数目,无重叠G = 1;有重叠 0 & G &1③选择方法: 转轮法,精英选择法,竞争法. ④交换率: Pc 一般为60~100%. ⑤变异率: Pm 一般为0.1~10% 举例: 变异概率取0.001 初始种群和它的适应度值染色体的交换操纵 举例:14 步骤1)编码:确定二进制的位数;组成个体(染色体)qmax ? qmin ? qmax ? qmin ? N ?1 n 二进制位数取决于运算 精度 ? ? , ?? q ? ? ? 2 ? bn ? qmin n n 2 ?1 ? 2 ? 1 ? n ?0 q 是x 或 y, qmax 和qmin 是q的最大值和最小值。 qmax 和qmin 分别为8和0。 bn 是相应于 q的第 n位的二进制的值,步骤2)选择种群数P 和初始个体,计算适应度值, P = 20; 步骤3)确定选择方法;交换率PC;变异率Pm。选择方法用竞争法; PC = 0.7, Pm = 0.05 计算结果:① 8代后,f(x,y) =0.998757, ② 41代后,f(x,y) =1.00000, x =3.000290, y =2.999924. ③160次适应度计算,达到最优值。遗传算法的基本数学问题一个重要的定理――图式定理 什么叫图式?――描述种群中染色体相似性的字符串。
? ? ? 染色体子集
? ? 1 * *1* *1*10 ― 图式Q ? ?k ? 1?L(*为通配符)Q为图式数目k ― 字符集元素数目 L ― 染色体长度A ?
H2 H3 H4 ? *1 * * * *0 ? ? * * *10 * *? ? ? 图式 ? 0111000 ? ? * * * * * * *? ? 图式的描述: ⑴ 定义长度?(H)――H左右二端有定义位置之间的距离; ⑵ 图式的阶次(或固定长度)O(H)――H中非*位(有定义位) 的个数。图式定理的推导 ①图式在选择过程中的增加. 经过选择,在t+1代,图式H的数量m(H,t+1)为:m( H , t ? 1) ? ni , hi ?P ? H? ps (hi ) ?i , hi ?P ? H n n i ?1? f (hi )? f ( xi ))? fi (n是种群中染色体的个数 ? m( H , t ) f ( H ) / ? f i / n? m( H , t ) f ( H ) n / ? m( H , t ) f ( H ) / f , (f是种群平均适应度) ②图式在交换中的破坏③图式在变异中的破坏经过选择、交换、变异后在t+1中,图式H的数量:f (H ) ? (H ) m( H , t ? 1) ? m( H , t ) [1 ? Pc ? O( H ) Pm ] L ?1 f图式定理:在选择、交换、变异的作用下,阶次低、定 义长度短、适应度高的图式(模块)将按指数增长的规 律,一代一代地增长。 遗传算法在应用中的一些基本问题 1)知识的编码 二进制和十进制的比较:二进制有更多图式和更大的搜索范 围;十进制更接近于实际操作。U max ? U min 精度 Q ? 2l ? 1U max 和 U min 分别为变量的最大和最 小值。 l 是二进制的长度2)适应度函数。 a) 适应度函数值必须非负。根据情况做适当的处理
b)为保持种群的多样性,防止“超级”染色体“统治”种群。f ? ? af ? b ? f avg ? f avga 和 b 的选择满足以下条件: ? f max ? Cm f avgC m ? 1.2 ~ 2.0Cm 是最好种群数目情况下 ,所希望的复制的数目 。3)全局最优和收敛性。 根据图式定理,对于具有“欺骗性”函数,GA有可 能落入局部最优点。 欺骗性函数图式划分:指引相互之间竞争的定义位为同一集合的一组图式。 如#表示定义位,则H1=*1*0*,H2=*0*1* ,H3=*1*1*, H4=*0*0* 同属于划分*#*#*。 总平均适应度(OAF):对一个给定图式,OAF即为其成员 的平均适应度。 欺骗性函数――包含全局最优的图式其OAF不如包含局部 最优的OAF,这种划分称为欺骗划分,它会使GA陷入局部最 优。如最高阶欺骗函数有k个定义位,则此函数称k阶欺骗。 举例:3位欺骗函数 ●高级GA算法1)操作的改进选择方法改进:精英法(竞赛法)、置换式和非置换式 随机选择法,排序法。 交换方法的改进:多点交换;重组运算 重组运算:解决染色体分布过于集中问题。把适应度函数做进 一步处理。f s ( xi ) ? f ( xi ) /? s(d ( xi , x j ))j ?1ns(d ) 是共享度函数2)算法的改进 微种群遗传算法(?GA) 双种群遗传算法(DPGA) ?GA算法终止条件:1)达到预定指标;2)达到预定代数。 双种群算法( DPGA)基本思想:利用人类社会分工合作的机理。 分成:全局种群――粗搜索,寻找可能存在的最优区域; 局部种群 ――精搜索在全局划定的区域内,寻找最优点。 测试函数:2 f 1 ? 100 ( x1 ? x 2 ) 2 ? (1 ? x1 ) 2? 2.048? x1 , x 2 ? 2.048 f s ? 0.002? ?j?1 251 j? ( x i ? a ij ) 6 ?j ?1 2? 65.536 ? x1 , x 2 ? 65.536 f 3 ? 0 .5 ? sin2 2 x1 ? x 2 ? 0.5 2 [1.0 ? 0.001 x1 ? x 2 )]2 ( 2? 100 ? x1 , x 2 ? 1002 2 2 2 f 4 ? ( x1 ? x 2 ) 0.25 [sin(50( x1 ? x 2 ) 0.1 ) ? 1.0]? 100 ? x1 , x 2 ? 100
遗传算法的应用:1)神经网络结构参数的选择 2)滑模控制中应用 3)倒立摆控制中应用 4.5 基于MATLAB优化工具箱的优化计算4.5.1 MATLAB优化工具箱 一、常用的优化功能函数?求解线性规划问题的主要函数是linprog。??求解二次规划问题的主要函数是quadprog。求解无约束非线性规划问题的主要函数是fminbnd、fminunc和 fminsearch。? ?求解约束非线性规划问题的主要函数fmincon. 求解多目标约束非线性规划问题的主要函数是fgoalattain和 fminimax。 二、一般步骤针对具体工程问题建立优化 设计的数学模型不等式约束条件表示成g(X)≥0的形式建立目标函数文件文件内容:必须的输入参数、描述标函数表达式等 存储:以自定义的目标函数文件名存储在文件夹中建立约束函数文件文件内容:必须的输入参数、约束函数表达式等 存储:以自定义的约束函数文件名存储在文件夹中建立调用优化工具函数 的命令文件分析优化设计的数学模型,选择适用的优化工具函数 文件内容:初始点,设计变量的边界约束条件, 运算结果输出等内容 存储:以自定义的命令文件名存储于文件夹中。将优化设计的命令文件复制到MATLAB命令窗口中进行运算求解。 4.5.2 线性规划问题 一、线性规划数学模型1.主要应用对象: (1)在有限的资源条件下完成最多的任务; (2)如何统筹任务以使用最少资源。 非负数 2.数学模型形式: 决策变量 TX min f 目标函数 s.t. AX≤b (线性不等式约束条件) AeqX=beq (线性等式约束条件) 线 lb ≤X ≤ub (边界约束条件) 性约 束 条 件3.MATLAB中函数调用格式 [xopt, fopt]=linprog( f, A, b, Aeq, beq, lb, ub, x0, options)最 优 解最 优 值数变 数 目 向量 各 标 量系 维 函初 始 点可 选 项 二、例题生产规划问题:某厂利用a,b,c三种原料生产A,B,C三种产品, 已知生产每种产品在消耗原料方面的各项指标和单位产品的利润, 以及可利用的数量,试制定适当的生产规划使得该工厂的总利润 最大。 生产每单位产品所消耗的原料 现有原料数 A→x1 B→x2 C→x3 量(千克) a b 3 3x1 2 2x1 1 x1 2c单位产品利润 (万元)2x1+ 4 4x + 1 x + 3 3x + +4 + + 4x +2 2 2 22 2x3 ≤ 2 2x3 ≤ 2 2x3 ≤ 3600 400800合计 1800千克3x3 二、例题解: 1.确定决策变量: 设生产A、B、C三种产品的数量分别是x1,x2,x3,决策变量:X=[x1,x2,x3]T 2.建立目标函数: 根据三种单位产品的利润情况,按照实现总的利润最大化, 建立关于决策变量的函数: 4.编制线性规划计算的M文件 5.M文件运行结果: max2x1+4x2+3x3 f=[ - 2, -4, -3]; Optimization terminated 3.确定约束条件: A=[3,4,2;2,1,2;1,3,2]; successfully. 根据三种资料数量限制,建立三个线性不等式约束条件 b=[600;400;800]; 3x1+4x2+2x3≤600 xopt =0.0000 2x1+x2+2x3≤400 Aeq=[];beq=[]; 66.6667 lb=zeros(3,1); 166.x2+2x3≤800 x1,x2,x3≥0 [xopt,fopt]=linprog(f,A,b,Aeq,beq,lb) fopt=-766.6667[xopt, fopt]=linprog( f, A, b, Aeq, beq, lb, ub, x0, options) 4.5.3 二次规划问题 一、二次规划问题数学模型1.研究意义: (1)最简单的非线性规划问题; (2)求解方法比较成熟。 2.数学模型形式:min f (X) ?目标函数二次 函数决策变量s.t. AX≤b (线性不等式约束条件) AeqX=beq (线性等式约束条件) lb ≤X ≤ub (边界约束条件)1 T X HX ? C T X 2约 束 条 件3.MATLAB中函数调用格式 [xopt, fopt]=quadprog(H,C, A, b, Aeq, beq, lb, ub, x0, options)最 优 解最 优 值赛数 目 矩的 标 阵海 函数次 数 目 向项 的 标 量系 一 函初 始 点可 选 项
二、例题求解约束优化问题s.t.2 f (X) ? 2x1 ? 2x2 ? x2 ? 2x1x2 ? x3 2 3g( X) ? x1 ? 3x2 ? 2x3 ? 6 h( X) ? 2x1 ? x2 ? x3 ? 4解:(1)将目标函数写成二次函数的形式? x1 ? X ? ?x 2 ? ? ? ?x 3 ? ? ?? 4 ? 2 0? H ? ? ? 2 4 0? ? ? ?0 0 2? ? ?x1 , x2 , x3 ? 0f ( X) ?(2)编写求解二次规划的M文件: 结果 H=[4,-2,0;-2,4,0;0,0,2]; Aeq=[2,-1,1]; xopt=[1.500,0.0] C=[0,0,1]; beq=[4]; fopt=6.5000 A=[1,3,2]; lb=zeros(3,1); b=[6]; [xopt,fopt]=quadprog(H,C,A,b,Aeq,beq,lb) [xopt, fopt]=quadprog( H, C, A, b, Aeq, beq, lb, ub, x0, options)? 0? C ? ? 0? ? ? ?1 ? ? ?1 T ,其中: X HX ? CT X 2 4.5.4 无约束非线性规划问题 无约束非线性规划问题的MATLAB函数有fminbnd只求解单变量问题 要求目标函数为连续函数fminsearch适用于简单优化问题 可求解单变量和多变量问题fminunc可求解复杂优化问题 4.5.4.1函数fminbnd1.使用格式: [xopt,fopt]=fminbnd(fun,x1,x2,options)设置优化选项参数 迭代搜索区间 目标函数 返回目标函数的最优值 返回目标函数的最优解 4.5.4.1函数fminbnd2.例题: 求解一维无约束优化问题f(x)=(x3+cosx+xlogx/ex) 在区间[0,1]中的极小值。 解:(1)编制求解优化问题的M文件。 %求解一维优化问题 x1=0;x2=1;%搜索区间 [xopt,fopt]=fminbnd(fun,x1,x2) (2)编制一维函数图形的M文件。 ezplot(fun,[0,10]) title('(x^3+cosx+xlogx)/e^x') grid on运行结果: xopt = 0.5223 fopt = 0.3974fun=inline('(x^3+cos(x)+x*log(x))/exp(x)','x') 4.5.4.2函数fminsearch1.使用格式: [xopt,fopt]=fminsearch(fun,x0,options)设置优化选项参数 初始点 目标函数 返回目标函数的最优值 返回目标函数的最优解 4.5.4.2函数fminsearch2.例题:求解二维无约束优化问题 f(x)=(x14+3x12+x22-2x1-2x2-2x12x2 +6)的极小值。 解:(1)编制求解二维无约束优化问题的M文件。 %求解二维优化问题 fun='x(1)^4+3*x(1)^2+x(2)^2-2*x(1)-2*x(2)-2*x(1)^2*x(2)+6'; x0=[0,0]; %初始点 [xopt,fopt]=fminsearch(fun,x0)(2)讨论。 将目标函数写成函数文件的形式: %目标函数文件search.m function f=search(x) f=x(1)^4+3*x(1)^2+x(2)^2-2*x(1)-2*x(2)-2*x(1)^2*x(2)+6; 则命令文件变为: %命令文件名称为eg9_4.m x0=[0,0]; %初始点 [xopt,fopt]=fminsearch(@search,x0)运行结果: xopt = 1.0 fopt = 4.0000 4.5.4.3函数fminunc附加参数1.使用格式: [x,fval,exitflag,output,grad,hessian]=fminunc(@fun,x0,options,P1,P2…)设置优化选项参数 初始点 调用目标函数的函数文件名 目标函数在最优解的海色矩阵返回目标函数在最优解的梯度 优化算法信息的一个数据结构 返回算法的终止标志 返回目标函数的最优值返回目标函数的最优解 4.5.4.3函数fminunc2.例题: 已知梯形截面管道的参数是:底边长度c,高度h,面积 A=64516mm2,斜边与底边夹角为θ。管道内液体的流速与管道 截面的周长s的倒数成比例关系。试按照使液体流速最大确定该 管道的参数。 解:(1)建立优化设计数学模型 θ h 管道截面周长 f(X)2h s ?c? sin ?c64516 c? ? hctg ? h? x1 ? 2 ?h ? A ?? 其中设计变量: 管道截面积:X? ch ??h?ctg? ? 64516 x 2 ? ??? ? ? ?516 2 x1 ? hctg ? ? ? ? x1ctgx2 ? min s ? h sin ? x1 sin x 2x1x2 4.5.4.3函数fminunc 2.例题: f ( X) ? ? x1ctgx 2 ? x1 sin x 2 解:(1)建立优化设计数学模型 (2)编写求解无约束非线性优化问题的M文件目标函数的文件(sc_wysyh.m): function f=sc_wysyh(x) %定义目标函数调用格式 a=64516;hd=pi/180; f=a/x(1)-x(1)/tan(x(2)*hd)+2*x(1)/sin(x(2)*hd); %定义目标函数 求最优化解时的命令程序: x0=[25,45]; %初始点 [x,Fmin]=fminunc(@sc_wysyh,x0); %求优语句 fprintf(1,'截面高度h x(1)=%3.4fmm\n',x(1)) fprintf(1,'斜边夹角θ x(2)=%3.4f度\n',x(2)) fprintf(1,'截面周长s f=%3.4fmm\n',Fmin)计算结果 截面高度h x(1)=192.9958mm 斜边夹角θ x(2)=60.0005度 截面周长s f=668.5656mm[x,fval,exitflag,output,grad,hessian]=fminunc(@fun,x0,options,P1,P2…) 4.5.4.3函数fminunc2.例题: 解:(1)建立优化设计数学模型 (2)编写求解无约束非线性优化问题的M文件 (3)编写绘制一维函数图形的M文件xx1=linspace(100,300,25); xx2=linspace(30,120,25); [x1,x2]=meshgrid(xx1,xx2); a=64516;hd=pi/180; f=a./x1-x1./tan(x2*hd)+2*x1./sin(x2*hd); subplot(1,2,1); h=contour(x1,x2,f); clabel(h); axis([100,300,30,120]) xlabel('高度 h/mm') ylabel('倾斜角\theta/(^{。})')title('目标函数等值线') subplot(1,2,2); meshc(x1,x2,f); axis([100,300,30,120,600,1200]) title('目标函数网格曲面图') 序号1 2功能输出形式 解x的精度控制参数options 默认值及其含义3说明210,无中间结果输 Options(1)=1,按照表格输出结果 出 Options(1)=-1,隐藏警告信息 1e-4 Options(2)设置x解的终止条件34 5 6函数f的精度约束g的精度 选择主要算法 搜索方向算法1e-41e-6 0 0Options(3)设置函数f的终止条件Options(4)设置约束g的终止条件 Options(5)选择主要优化算法 fmin()函数为无约束优化搜索方向提供 3种算法: Options(6)=0,拟牛顿法BFGS公式 Options(6)=1,拟牛顿法DFP公式 Options(6)=2,梯度法 fmin()函数为无约束优化的步长一维搜 索提供2种算法: Options(7)=0,二次和三次混合插值法 Options(7)=1,三次多项式插值法7步长一维搜索0 序号8 9 10 11 12 13功能函数值输出 梯度检验 函数计算次数 梯度计算次数 约束计算次数 等式约束个数控制参数options 默认值及其含义 0,不检验3说明21Options(8)输出最终迭代函数值 Options(9)比较梯度 Options(10)输出函数计算次数 Options(11)输出函数梯度计算次数 Options(12)输出约束计算次数 0,等式约束为0 Options(13)输入等式约束个数1415 16 17 18最大迭代次数目标个数 差分步长 最小值 差分步长 最大值 步长100n Options(14)输入最大迭代次数 (n为变量维数)0 1e-8 0.1 Options(15)输入目标个数 Options(16) 步长的下限或变量的最小梯度值 Options(17) 步长的上限或变量的最大梯度值 Options(18) 步长参数,第1次迭代时置1 4.5.5 约束非线性规划问题 1. 数学模型形式:min f (X) s.t. AX≤b (线性不等式约束) AeqX=beq (线性等式约束) C(X)≤0 (非线性不等式约束条件) Ceq(X)=0(非线性等式约束) Lb ≤X ≤Ub (边界约束条件)约 束 条 件 返回目标函数的最优解返回目标函数的最优值2.使用格式:返回算法的终止标志 优化算法信息的一个数据结构返回目标函数在最优解的梯度目标函数在最优解的海色矩阵 [x,fval,exitflag,output, grad,hessian]= fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)附加参数 设置优化选项参数调用目标函数的函数文件名初始点无定义时以空矩阵 符号“[ ]”代替非线性约束条件的函数名 设计变量的下界和上界 线性等式约束的常数向量 线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵 序号1 2 3 4 5功能输出形式 解x的精度 函数f的精度 约束g的精度 选择主要算法控制参数options 默认值及其含义 0,无中间结果 输出 1e-4 1e-4 1e-6 0说明Options(1)=1,按照表格输出结果 Options(1)=-1,隐藏警告信息 Options(2)设置x解的终止条件 Options(3)设置函数f的终止条件 Options(4)设置约束g的终止条件 Options(5)选择主要优化算法6搜索方向算法0fmin()函数为无约束优化搜索方向提供 3种算法: Options(6)=0,拟牛顿法BFGS公式 Options(6)=1,拟牛顿法DFP公式 Options(6)=2,梯度法fmin()函数为无约束优化的步长一维搜 索提供2种算法: Options(7)=0,二次和三次混合插值 法 Options(7)=1,三次多项式插值法7步长一维搜索0 序号8 9 10 11 12 13功能函数值输出 梯度检验 函数计算次数 梯度计算次数 约束计算次数 等式约束个数控制参数options 默认值及其含义 0,不检验说明Options(8)输出最终迭代函数值 Options(9)比较梯度 Options(10)输出函数计算次数 Options(11)输出函数梯度计算次数 Options(12)输出约束计算次数 0,等式约束为0 Options(13)输入等式约束个数1415 16 17 18最大迭代次数目标个数 差分步长 最小值 差分步长 最大值 步长100n Options(14)输入最大迭代次数 (n为变量维数)0 1e-8 0.1 Options(15)输入目标个数 Options(16) 步长的下限或变量的最小梯度值 Options(17) 步长的上限或变量的最大梯度值 Options(18) 步长参数,第1次迭代时置1 案例某二级斜齿圆柱齿轮减速器,高速级输入功率P1=6.2kW,转速 n1=1450r/min;总传动比i=31.5,齿轮宽度系数ψa=0.4,齿轮材料 和热处理:大齿轮45号钢正火187~207HB,小齿轮45号钢调质 228~255HB,工作寿命10年以上。要求按照总中心距a∑最小来确 定齿轮传动方案。 解:(1)建立优化设计的数学模型①设计变量: 将涉及总中心距a∑齿轮传动方案的6个独立参数作为设计变量 X=[mn1,mn2,z1,z2,i1,β]T=[x1,x2,x3,x4,x5,x6]T ②目标函数: 减速器总中心距a∑最小为目标函数? x1x 3 (1 ? x5 ) ? x 2 x4 (1 ? 31.5x5 1 ) minf ( X) ? 2 cosx6
二、例题③约束条件:含性能约束和边界约束3 g1 (X) ? cos3 x 6 ? 3.079?10?6 x1 x3x3 ? 0 3 5 2 g2 (X) ? x5 cos3 x 6 ?1.071?10?4 x3 x3 ? 0 2 4高速级齿轮接触强度条件 低速级齿轮接触强度条件5 3 2 g3 (X) ? cos2 x 6 ? 9.939?10?( ? x5)x1 x3 ? 0 1性 能 约 束 高速级大齿轮弯曲强度条件高速级齿轮副模数的下限和上限 低速级小齿轮模数的下限和上限 高速级小齿轮齿数的下限和上限2 4 g4 (X) ? x5 cos2 x 6 ?1.076?10?( .5 ? x5)x3 x 2 ? 0 低速级大齿轮弯曲强度条件 31 2 4g5 (X) ? x5[2(x1 ? 50) cosx 6 ? x1x3x5 ] ? x 2 x( .5 ? x5) 0 ? 4 31 g6 (X) ? 2 ? x1 ? 0 g8 (X) ? 3.5 ? x 2 ? 0 g10 (X) ? 14 ? x3 ? 0g12 (X) ? 16 ? x 4 ? 0大齿轮与轴不干涉g7 (X) ? x1 ? 5 ? 0 g9 (X) ? x 2 ? 6 ? 0 g11 (X) ? x3 ? 22 ? 013 4边? x界 ?约 低速级小齿轮齿数的下限和上限 束 g (X) ? 22 0g15 ( X ) ? x5 ? 7 ? 0 g17 (X) ? x 6 ?15 ? 0高速级传动比的下限和上限 齿轮副螺旋角的下限和上限g14 (X) ? 5.8 ? x 5 ? 0 g16 (X) ? 8 ? x 6 ? 0
二、例题(2)编制优化设计的M文件文件名为: Jsqyh_g.m文件名为: Jsqyh_f.m%两级斜齿轮减速器总中心距目标函数 function f=jsqyh_f(x); hd=pi/180; a1=x(1)*x(3)*(1+x(5)); a2=x(2)*x(4)*(1+31.5/x(5)); cb=2*cos(x(6)*hd); f=(a1+a2)/%两级斜齿轮减速器优化设计的非线性不等式约束函数 function[g,ceq]=jsqyh_g(x); hd=pi/180; g(1)=cos(x(6)*hd)^3-3.079e-6*x(1)^3*x(3)^3*x(5); g(2)=x(5)^2*cos(x(6)*hd)^3-1.701e-4*x(2)^3*x(4)^3; g(3)=cos(x(6)*hd)^2-9.939e-5*(1+x(5))*x(1)^3*x(3)^2; g(4)=x(5)^2.*cos(x(6)*hd)^2-1.076e-4*(31.5+x(5))*x(2)^3*x(4)^2; g(5)=x(5)*(2*(x(1)+50)*cos(x(6)*hd)+x(1)*x(2)*x(3))-x(2)*x(4)*(31.5+x(5)); ceq=[];[x,fval,exitflag,output, grad,hessian]= fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…) [ ] 二、例题(2)编制优化设计的M文件文件名为 eg9_6.mx0=[2;4;18;20;6.4;10];%设计变量的初始值 lb=[2;3.5;14;16;5.8;8];%设计变量的下限 ub=[5;6;22;22;7;15];%设计变量的上限 [x,fn]=fmincon(@jsqyh_f,x0,[],[],[],[],lb,ub,@jsqyh_g); disp ' ************两级斜齿轮传动中心距优化设计最优解*************' fprintf(1,' 高速级齿轮副模数 Mn1=%3.4fmm\n',x(1)) fprintf(1,' 低速级齿轮副模数 Mn2=%3.4fmm\n',x(2)) fprintf(1,' 高速级小齿轮齿数 z1=%3.4fmm\n',x(3)) fprintf(1,' 低速级小齿轮齿数 z2=%3.4fmm\n',x(4)) fprintf(1,' 高速级齿轮副传动比 i1=%3.4fmm\n',x(5)) fprintf(1,' 齿轮副螺旋角 beta=%3.4fmm\n',x(6)) fprintf(1,' 减速器总中心距 a12=%3.4fmm\n',fn) g=jsqyh_g(x); disp ' ==========最优点的性能约束函数值==========' fprintf(1,' 高速级齿轮副接触疲劳强度约束函数值 g1=%3.4fmm\n',g(1)) fprintf(1,' 低速级齿轮副接触疲劳强度约束函数值 g2=%3.4fmm\n',g(2)) fprintf(1,' 高速级大齿轮齿根弯曲强度约束函数值 g3=%3.4fmm\n',g(3)) fprintf(1,' 低速级大齿轮齿根弯曲强度约束函数值 g4=%3.4fmm\n',g(4)) fprintf(1,' 大齿轮顶圆与轴不干涉几何约束函数值 g5=%3.4fmm\n',g(5))[x,fval,exitflag,output, grad,hessian]= [ ],[ ], [ ], [ ], fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…) 二、例题(3) M文件运行结果 (4) 优化结果处理************两级斜齿轮传动中心距优化设计最优解************* 高速级齿轮副模数 Mn1=2.0461mm 2mm 4mm 低速级齿轮副模数 Mn2=3.6059mm 高速级小齿轮齿数 z1=18.5156mm 19 16 低速级小齿轮齿数 z2=16.0000mm 5.8 高速级齿轮副传动比 i1=5.8000mm 9.838 8 齿轮副螺旋角 beta=8.0000 减速器总中心距 a12=317.4186mm 338.292mm 340mm ==========最优点的性能约束函数值========== 高速级齿轮副接触疲劳强度约束函数值 g1=0.0000mm 低速级齿轮副接触疲劳强度约束函数值 g2=0.0000mm 高速级大齿轮齿根弯曲强度约束函数值 g3=-1.0042mm 低速级大齿轮齿根弯曲强度约束函数值 g4=-15.1854mm 大齿轮顶圆与轴不干涉几何约束函数值 g5=-761.8043mm 4.5.6 多目标优化问题 多目标优化问题的MATLAB函数有需知各分目标的单个的最优值fgoalattain需确定各分目标的加权系数fminimax目标函数的最大值逐次减小 4.5.6.1 函数fgoalattain一、多目标优化问题数学模型标量变量 分目标函数的权重 各分目标函数的目标值 min v s.t. fi(X)-wiv ≤goali i=1,2,…,t AX≤b (线性不等式约束) 各分目标函数 AeqX=beq (线性等式约束) C(X)≤0 (非线性不等式约束条件) Ceq(X)=0 (非线性等式约束) Lb ≤X ≤Ub (边界约束条件) 4.5.6.1 函数fgoalattain二、优化函数使用格式返回目标函数的最优解返回目标函数的最优值返回算法的终止标志 优化算法信息的一个数据结构返回目标函数在最优解的梯度目标函数在最优解的海色矩阵 [x,fval,exitflag,output, grad,hessian]= fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)目标函数文件名 初始点 附加参数 设置优化选项参数各分目标期望值各分目标权重无定义时以空矩阵 符号“[ ]”代替非线性约束条件的函数名 设计变量的下界和上界 线性等式约束的常数向量 线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵 4.5.6.1 函数fgoalattain三、例题设计带式输送机传动装置上的普通V带传动。已知电机额定功率P=4kW,转速 n1=1440r/min,传动比i=3,采用A型V带,每天工作不超过10小时。要求传动结 构紧凑(带的根数尽量少,带轮直径和中心距尽量小)。解:(1)建立优化设计的数学模型 ①设计变量: V带传动的独立设计变量是小带轮直径dd1和带的基准长度Ld X=[dd1,Ld]T=[x1,x2]T L ?d (i ? 1) a1 ? d ? d 1 ②目标函数: 4 82 小带轮直径: ?d d1 (i ? 1)2 minf1(X)=dd1=x1 a2 ? 8 ? 中心距: 2 min f 2 ( X ) ? a ? a1 ? a1 ? a 2 KL=0.2806 ? 带的根数: K AP 1.1?minf 3 ( X) ? z ?(P0 ? ?P0 )K ? K L拟合幂函数方程P0=(0.0.112879)(kW)0.17kW拟合 双曲 ? 线方K ? 程 ? 0.549636? ? 80.395144 4.5.6.1 函数fgoalattain三、例题③约束条件:含性能约束和边界约束小带轮直径&=推荐的A型带轮最小直径g1 ( X) ? ddmin ? dd1 ? 100? x1 ? 0g 2 ( X) ??d d1n1 ?d n ? v max ? d1 1 ? 25 ? 0 性 能 约 束最大带速&25m/s2x ? ? dd1(i ? 1) ? ? g 3 ( X) ? ?min ? ?1 ? ?min ? 180?1 ? ? 120? 180? 1 ? 1 ? ? 0 ?? ? ?? ? ? ? ? 小带轮包角&120°g4 ( X) ? 0.7dd1 (i ? 1) ? a ? 2.8x1 ? a ? 0 g 5 ( X) ? 80 ? x1 ? 0 g6 ( X) ? x1 ? 100 ? 0带传动的中心距要求 小带轮基准直径的下限和上限g 7 ( X) ? 630? x2 ? 0 g8 ( X) ? x2 ? 4000? 0边 界 约 束 带基准长度的下限和上限 4.5.6.1 函数fgoalattain三、例题 解:(1)建立优化设计的数学模型 ①设计变量: X=[dd1,Ld]T=[x1,x2]T ②目标函数:小带轮直径: minf1(X)=dd1=x1 ? 中心距: min f ( X ) ? a ? a ? a 2 ? a?2 1 180~100mm2320~400mm 1~4?2 T?带的根数:minf 3 ( X) ? z ?③约束条件:(2)确定分目标和它们的权重按容限值确定权重, 以使目标函数值在 数量级上统一K AP (P0 ? ?P0 )K ? K L? w1 ? w ? ?w 2 ? ? ? ?w 3 ? ? ?T? ? 100 ? 80 ? ? ? ? ?? 2 ? ? ?? ? 10 ? 2 ? ?? 400 ? 320 ? ? 2 ? ? ? ? ?? ? ? ? ? 40 ? 2 ? 2 ? ? ?? ?1.5 ? 2 ? ?2 ? ? ? ? 4?1? ? ? ? ? ? 2 ? ? ? ? ? ? 4.5.6.1 函数fgoalattain三、例题 (3)编制优化设计的M文件%V带传动多目标优化设计的目标函数文件 function f=VDCD_3mb_MB(x) P=4;i=3;KA=1.1; %已知条件:功率,传动比,工况系数 f(1)=x(1); %f1-小带轮基准直径:目标函数1 a1=x(2)/4-pi*x(1)*(i+1)/8; a2=x(1)^2*(i-1)^2/8; a=a1+sqrt(a1^2-a2); f(2)=a; %f2,中心距:目标函数2 P0=0.02424*x(1)-1.1128789; %单根带额定功率 DP0=0.17; %功率增量 alpha=180-180*x(1)*(i-1)/pi/a; %小带轮包角 Kalp=alpha/(0.549636*alpha+80.396114); %包角系数 KL=0.20639*x(2)^0.211806; %长度系数 f(3)=KA*P/(P0+DP0)/Kalp/KL; %f3-V带根数:目标函数3[x,fval,exitflag,output, grad,hessian]= fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…) 4.5.6.1 函数fgoalattain三、例题 (3)编制优化设计的M文件%V带传动多目标优化设计的约束函数文件 function[g,ceq]=VDCD_3mb_YS(x) i=3;n1=1440; %已知条件:传动比,转速 g(1)=100-x(1); %小带轮直径&=Ddmin g(2)=pi*x(1)*n1/6e4-25 %带速范围V&=Vmax a1=x(2)/4-pi*x(1)*(i+1)/8; a2=x(1)^2*(i-1)^2/8; a=a1+sqrt(a1^2-a2); g(3)=120-180*(1-x(1)*(i-1)/a/pi); %小带轮包角&=alpmin g(4)=0.7*x(1)*(i+1)-a; %中心距范围a&=amin ceq=[];[x,fval,exitflag,output, grad,hessian]= fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…) 4.5.6.1 函数fgoalattain三、例题 (3)编制优化设计的M文件%V带传动多目标优化设计的调用命令 P=4;i=3;n1=1440;KA=1.1; %已知条件:功率,传动比,转速,工况系数 x0=[100;1250]; %初始点(小带轮直径,V带基准长度) goal=[75,280,2]; %分目标 w=[10^(-2),40^(-2),1.5^(-2)]; %分目标加权系数 lb=[80,630]; %最小带轮直径和A型V带的基准长度 ub=[100;4000]; %最大带轮直径和A型V带基准长度 [xopt,fopt]=fgoalattain(@VDCD_3mb_MB,x0,goal,w,[],[],[],[],lb,ub,@VDC D_3mb_YS)[x,fval,exitflag,output, grad,hessian]= [ ], [ ], [ ], [ ], fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…) 4.5.6.1 函数fgoalattain三、例题 (4) M文件运算结果 (5) 优化结果处理Optimization terminated successfully: Search direction less than 2*options. xopt = 100mm 1.0e+003 * dd1 0.mm Ld 1.2269 fopt = 100.6 3.5957小带 轮基 准直 径 带传 动中 心距 带 的 根 数 圆 整 4圆 整1250mm 4.5.6.1 函数fgoalattain三、例题 (4) M文件运算结果 (5) 优化结果处理%优化结果数据处理后部分参数计算 Dd1=100;Dd2=Dd1*i;z=4;Ld=1250; v=pi*Dd1*n1/6e4; a1=Ld/4-pi*Dd1*(i+1)/8; a2=Dd1^2*(i-1)^2/8; a=a1+sqrt(a1^2-a2); alpha=180-180*Dd1*(i-1)/pi/a; disp '' disp '***************计算结果*****************' fprintf(1,' 小带轮基准直径 Dd1=%3.0fmm\n',Dd1); fprintf(1,' 大带轮基准直径 Dd2=%3.0fmm\n',Dd2); fprintf(1,' V带基准长度 Ld=%3.0fmm\n',Ld); fprintf(1,' 传动中心距 a=%3.2fmm\n',a); fprintf(1,' 小带轮包角 alpha=%3.2f度\n',alpha); fprintf(1,' V带根数 z=%3.0fmm\n',z); 4.5.6.1 函数fgoalattain三、例题 (4) M文件运算结果 (5) 优化结果处理 (6) 最终方案***************计算结果***************** 小带轮基准直径 Dd1=100mm 大带轮基准直径 Dd2=300mm V带基准长度 Ld=1250mm 传动中心距 a=293.82mm 小带轮包角 alpha=141.00度 V带根数 z= 4mm 4.5.6.2 函数fminimax一、多目标优化问题数学模型各分目标函数min max {f1,f2,…,f3}s.t. AX≤b AeqX=beq (线性不等式约束) (线性等式约束)C(X)≤0Ceq(X)=0(非线性不等式约束条件)(非线性等式约束)Lb ≤X ≤Ub (边界约束条件) 4.5.6.2 函数fminimax二、优化函数使用格式返回目标函数的最优解返回目标函数的最优值返回算法的终止标志 优化算法信息的一个数据结构返回目标函数在最优解的梯度目标函数在最优解的海色矩阵 [x,fval,exitflag,output, grad,hessian]= fminimax(@fun,x0, A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)附加参数 设置优化选项参数 目标函数文件名 初始点无定义时以空矩阵 符号“[ ]”代替非线性约束条件的函数名 设计变量的下界和上界 线性等式约束的常数向量 线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵 4.5.6.2 函数fminimax三、例题已知直径为1单位长度的圆柱梁,要求将它制成矩形截面梁,满足重量最轻和强 度最大的条件,试确定矩形截面尺寸。解:(1)建立优化设计的数学模型 ①设计变量: 矩形截面的宽和高 X=[x1,x2]T}

我要回帖

更多关于 遗传算法寻不到最优解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信