资源描述
最优化设计数学模型中的基本概念:
1、设计变量
在机械设计中,区别不同的设计方案,通常是以一组取值不同的参数来表示。这些参数可以是表示构件形状、大小、位置等的几何量,也可以是表示构件质量、速度、加速度、力、力矩等的物理量。在构成一项设计方案的全部参数中,可能有一部分参数根据实际情况预先确定了数值,它们在优化设计过程中始终保持不变,这样的参数称为给定参数(或叫预定参数)或设计常数。另一部分参数则是需要优选的参数,它们的数值在优化设计过程中则是需要优选的参数,它们的数值在优化计算过程中是变化的,这类参数称为设计变量,它相当于数学上的独立自变量。一个优化问题如果有个设计变量,而每个设计变量用表示,则可以把个设计变量按一定的次序排列起来组成一个列阵或行阵的转置,即写成
(8-1)
我们把定义为维欧式空间的一个列向量,设计变量为向量的个分量。以设计变量为坐标轴展成的空间称为维欧式空间,用表示。该空间包含了该项设计所有可能的设计方案,且每一个设计方案就对应着设计空间上的一个设计向量或者说一个设计点。
2、目标函数
优化设计是在多种因素下欲寻求使设计者员满意、且适宜的一组参数。“最满意”、“最适宜”是针对某具体的设计问题,人们所追求的某一特定目标而言。在机械设计中,人们总希望所设计的产品具有最好的使用性能、体积小、结构紧凑、重量最轻和最少的制造成本以及最多的经济效益,即有关性能指标和经济指标方面最好。
在优化设计中,一般将所追求的目标(最优指标)用设计变量的函数形式表达,称该函数为优化设计的目标函数。目标函数的值是评价设计方案优劣程度的标准,也可称为准则函数。建立这个函数的过程称为建立目标函数。一般的表达式为
(8-2)
它代表着某项重要的特征,例如机器的某种性能、体积、质量、成本、误差、效率等等。
目标函数是设计变量的标量函数。优化设计的过程就是通过优选设计变量使目标函数达到最优值,最优值的数学表征为最小值或最大值。按一般的规范做法,把优化问题归结为求目标函数值的最小值居多。在求解过程中,目标函数值越小,设计方案越优。对于某些追求目标函数最大值的问题,例如前述求月生产利润最大的问题或谋求设计的效率最高、寿命最长等等,可转化为求目标函数负值的最小值问题,即
(8-3)
因此,本章在后面的叙述中,一律把优化问题规范为求目标函数的最小值,表达式见式。在优化设计中,仅根据一项准则建立的一个目标函数,称为单目标函数。如前面举例中的生产调度问题中,为了实现单月生产利润最大化而建立的目标函数即属于单目标优化设计问题。若在设计中需要同时兼顾多个设计准则,则需要建立多个目标函数,这种问题即为多目标优化问题。
在解决优化设计问题时,正确选择目标函数是非常重要的,它不仅直接影响优化设计的结果,而且对整个优化计算的繁简难易也会有一定的影响。
3、约束条件与可行域
优化设计不仅要使所选择方案的设计指标达到最佳值,同时还必须满足一些附加的设计条件,这些附加的设计条件都是对设计变量取值的限制,在优化设计中叫做设计约束或约束条件。它的表现形式有两种,一种是不等式约束,即
另一种是等式约束,即
式中和分别为设计变量的函数;和分别表示不等式约束和等式约束的个数,而且等式约束的个数必须小于设计变量的个数。因为从理论上讲,存在一个等式约束就得以用它消去一个设计变量,这样便可降低优化设计问题的维数。所以,当时,即可由个方程组中解得唯一的一组值。这样,方案的选择就成为唯一的或确定的了。
在解决工程问题时,约束条件是优化设计获得工程可接受设计方案的重要条件。不等式约束及其有关概念,在优化设计中是相当重要的。每一个不等式约束(如)都把设计空间划分成两部分,一部分是满足该不等式约束条件的,即,另一部分则不满足,即。两部分的分界面叫做约束面,即由的点集构成。在二维设计空间中约束面是一条曲线或直线,在三维以上的设计空间中则是一个曲面或超曲面。一个优化设计问题的所有不等式约束的边界将组成一个复合约束边界,如图8-3表示了一个二维问题的情况。其约束边界所包围的区域(图中阴影线内)是设计空间中满足所有不等式约束条件的部分,在这个区域中所选择的设计变量是允许采用的,我们称这个区域为设计可行域或简称为可行域,记作
若某项设计中除了具有个不等式约束条件外,还应满足个等式约束条件时,即对设计变量的选择又增加了限制。如图8-3所示,当有一个等式约束条件时,其可行设计方案只允许在域内的等式函数曲线的段上选择。因此,在一般的情形下,优化问题的设计可行域可表示为
与此相反,除去可行域以外的设计空间称为非可行域。据此,在可行域内的任一设计点都代表了一个可接受的设计方案,这样的点叫可行设计点或内点,如图所示的点;在约束边界上的点叫极限设计点或边界点,如点,此时这个边界所代表的约束叫作起作用约束。点则称为外点,即非可行点,该点为不可接受的设计方案,因为该点违反了约束条件2,即。
二、优化计算的数值解法及收敛条件
最优化技术总体包含两个方面,首先是根据实际的生产或科技问题构造出优化的数学模型,再采取恰当的优化方法对数学模型进行求解。无论是无约束优化问题还是约束优化问题,其本质上都是求极值的数学问题。从理论上,其求解可用解析法,即微积分学和变分法中的极值理论,但由于实际中的优化数学模型多种多样,往往目标函数及约束函数都是非线性的,采用解析法求解变得非常复杂和困难,甚至在有些时候无法求解数学模型。因此,随着优化技术和电子计算机技术的不断发展,逐渐产生了以计算机程序计算为主的一种更为实用的求优方法—数值计算法,通常也称为求解非线性规划的最优化方法。
1、数值计算法的迭代过程
最优化方法是与电子计算机及计算技术的发展紧密相联系的,数值计算法的迭代过程也是依赖于计算机的运算特点而形成的。所以,计算过程完全有别于解析法的求解过程。优化方法的迭代特点是:按照某种人为规定的逻辑结构,以一定的格式反复的数值计算,寻求函数值逐次下降的设计点,直到满足规定的精度时才终止迭代计算,最后的设计点即为欲求的最优点,所得到的解是满足规定精度的近似解。
图8-9 二维优化问题的迭代过程
总体做法如图8-9所示,由选定的初始点出发,沿着某种优化方法所规定的搜寻方向,以一定的步长,按迭代格式产生第一个新的设计点,,且同时满足,则是优于的设计点。同理,再以为新的起点,按照相同的格式产生第二个设计点,。这样,依次得到的设计点称为计算中的迭代点,产生迭代点的一般格式为
(8-4)
式称为优化计算的基本迭代公式。其中的第次搜寻方向及步长是根据点目标函数值和约束函数值等信息依据某种算法而确定的,其最终目的是使成立。按式反复迭代计算后产生的点列各点的函数值依次下降,即很显然,迭代点必将不断向理论最优点逼近,最后必将达到满足预定精度要求的近似最优点,记作。
由迭代算法的基本迭代公式可见,优化方法的主要问题乃是解决迭代方向和迭代步长的问题,由于与的确定方法及特性的不同而构成了不同的优化方法,即最优化方法。已有的各种优化方法尽管在选取方向和步长的原则上各有不同,但有一点是共同的,就是各种方法都是以保证目标函数值稳定的下降为前提,按照基本迭代公式通过计算机进行迭代计算并最终获得理论最优点的近似解。
2、迭代计算的终止准则
数值计算采用迭代法产生设计点的点列是无穷的,但在解决实际问题的时候必须在适当的时候结束这种迭代计算,这就是迭代终止准则问题。
优化设计是要求出设计问题的最优解,从理论上,人们当然希望最终迭代点到达理论的极小点,或者使最终迭代点与理论极小点之间的距离足够小时即可终止迭代。但这在实际计算中是办不到的,因为对于一个待求的优化问题,其理论极小点在哪里是未知的。因此,只能通过迭代计算获得的点列所提供的各种信息来判断是否应该结束迭代计算,不同的判断依据就构成了不同的终止准则。
由于实际问题具有多样性,且迭代过程与目标函数的性质密切相关,所以很难建立一个统一的迭代终止准则,往往还需要根据实际计算的具体情况进行判断和选择。经常被采用的终止准则如下:
3、点距准则
若相邻的两个迭代点之间的距离已达到充分小,即满足
(8-5)
式中是给定的收敛精度,取为最优点,即。
4、函数下降量准则
由于最优点的很小邻域里函数值的变化很小,所以当相邻两次迭代点的函数值下下降量已达到充分小时,预示着已很接近最优点了
当时,采用函数值绝对下降量准则
(8-6)
当时,采用函数相对下降量准则
(8-7)
其中为收敛精度,取为最优点,即。
5、梯度准则
按函数极值理论,在极值点处函数的梯度为零。当目标函数在点处的梯度的模已达到充分小时,即
(8-8)
可以认为,是收敛精度。这一准则对凸集凸函数是完全正确的,若为非凸函数,有可能会误把鞍点当作最优点。
上述准则是无约束优化问题迭代收敛准则。由于约束优化问题与无约束优化问题的最优解的条件不同,所以迭代终止准则也不一样,但以上各终止准则对约束优化问题的求解仍然有着重要的意义。
一维优化方法
求解以为目标函数f(x)最优解的过程,称为一维优化,所使用的方法称为一维优化方法。一维优化方法是优化方法中最简单、最基本的优化方法。他不仅用来解决一维目标函数的求最优问题,而且常用于多维优化问题在既定方向上寻求最优步长的一维搜索。
对于任一次迭代计算,总是希望从已知的点出发,沿给定的方向搜索该方向上到目标函数值最小的点,即求步长因子的最优值,使
这种在确定的搜索方向上求步长因子的最优取值使得目标函数在该方向上达到极小值的过程称为一维搜索优化计算方法或称为单变量优化计算方法。
一维搜索最优化方法一般需要分两步进行:第一步是在方向上确定使得目标函数值取得最小值的步长因子所在的区间;第二步是求出该区间内的最优步长因子。
1、搜索区间的确定
所谓搜索区间就是沿给定的搜索方向上找出一个单峰区间,即在该区间内目标函数值的变化只有一个峰值,如图8-10所示。
单峰区间
对于简单的优化问题,一般其搜索区间可以根据实际情况给定。但对于多维优化问题每次一维搜索之前都人为的给定搜索区间是不现实的,因此必须建立一定的方法,使计算机在优化的过程中自动地确定搜索区间。
搜索区间的确定主要有进退法与外推法,本节介绍确定搜索区间的进退法。
为了使该算法的叙述更加简洁明了,这里直接以一维函数为例。设函数为,给定初始点,选定恰当的步长为,求其最小点。
进退法确定搜索区间
用进退法对搜索区间确定主要分为三步:
1、试探搜索
由于最小点的位置是未知的,所以首先要试探最小点位于初始点的左方还是右方,然后再确定包含在内的搜索区间。
由初始点沿轴正向到点,,分别计算两点的函数值,并 比较和值的大小,可分为两种情况,如图所示:
(1) 若,则极小点必在点右方,应继续前进搜索,以图中实线所示;
(2) 若,则极小点必在点左方,应反向,即作后退搜索,以图8-11中虚线所示。
2、前进搜索
由探索后的点,沿正向继续前进搜索,见图。令,取得前进方向的第三个点,对应的函数值,比较后两个点的函数值,有如下两种情况:
(1)若,则三个点的函数值的关系为,对应图中曲线呈高—低—高的形态,如图中虚线所示。此时函数在区间内必有极小点,于是令,从而构成了搜索区间。
(2)若,如图中实线所示,则应该继续向前搜索,令,再将步长倍增,即,构成新点并计算其函数值。比较和的值,若有则转(2),直到出现成立,转(1),确定搜索区间。
3、后退搜索
此时,需沿负方向搜索,因此令,并将和点的位置调换,即令
进行这样的处理以后,后面的步骤和前进搜索的处理完全相同,只是最后确定搜索区间时,令。图所示为进退法确定搜索区间的程序流程图。
进退法确定搜索区间流程图
在确定了搜索区间以后,一维优化的任务就在于采用某种方法将此区间逐步缩小,使其达到包含极小点在内的很小的邻域,这个邻域的大小由设计者根据实际问题而定,一般规定为一个足够小的正数,称为收敛精度或迭代精度。
主要有格点法与黄金分割法
2、格点法
格点法是一种思路极为简单的一维求优法,设函数f(x)的初始搜索区间[a , b],在此区间内取n个内等分点x 1,x 2…… x n ,并计算函数值y 1,y 2…… y n ,并比较取出最小y m=min(y i) ,i=1,2…n,并取x m左右两相邻点xm-1 ,xm+1 为新区间。判断xm+1-xm-1<精度值,若成立,则: x m → x* ,y m→ y*
若不成立则将(xm-1 ,x m+1 )作为新的初始区间继续进行。直到xm+1-xm-1<精度值。
3、黄金分割法
黄金分割法也称0.618法。本方法是通过对分割点函数值进行比较来逐次缩短区间的,属于应用序列消去原理的直接探索法。
设有目标函数,给定初始搜索区间,收敛精度为。
黄金分割法区间缩短
首先,在初始搜索区间内取两个点与,如图所示,且在区间内对称位置,两点对应的函数值分别为和,比较与的大小,有下面两种情况:
(1)若有,如图8-13(a)图所示,极小点必在区间内,此时令,实现区间的一次缩短;
(2)若有,如图所示,极小点必在区间内,此时可令,缩短后的新区间为。
黄金分割法流程图
经过对两内点函数值的比较,区间缩短一次。缩短后的新区间是原区间的一部分,即舍去阴影线部分,留下其左面或右面部分,其间保留着原两内点与当中的一个,则新的区间中只有一个内点。为了进行下一次的缩短区间,则在新区间中再以对称原则增补一个内点,重复上述函数值的比较,如此反复分割,使区间逐次地加以缩短。
黄金分割法内分点选取的原则是对称的选取,并采取每次区间缩短率都是相等的。按以上原则,其区间缩短率应该为,即其内分点的取点规则为:
用黄金分割法进行一维优化搜索,当满足迭代精度时即可停止计算,取最终收缩区间的中点为近似最优点,最优解为
图所示为黄金分割法的程序流程图。
展开阅读全文