当前位置:首页 > 经典书库 > 工程师实用手册

常用的优化设计方法

出处:按学科分类—工业技术 南京大学出版社《工程师实用手册》第112页(5085字)

优化设计的问题被描述成数学模型后,紧接着是如何求解的的问题。常用的基本求解方法有:

(一)极值法

优化设计中最简单的问题是利用古典微分法求极大值或极小值来求解。运用这种方法,首先分析实际问题,建立函数关系,确定函数的增减区域;然后,求导数,进而判定最大值或最小值。

1.一元函数的极值

一个变量的连续函数y=f(x)在区间(a,b)任-x0处可微分,且f′(x0)=0(或∞),并且f′(x)通过x0时变号,则f(x0)为极值。

(1)在f′(x)中,当x渐增通过x0时,由(+)变为(-)号,则f(x0)为极大值。

(2)在f′(x)中,当x渐增通过x0时,由(-)变为(+)号,则f(x0)为极小值。

因此,一元函数极值的必要吸充分条件为:f′(x0)=0,f″(x0)≠0,则f(x0)为极值。若:

f″(x0)<0时,则f(x0)为极大值;

f”(x0)>0时,则f(x0)为极小值。

2.二元函数的极值

在开区间R,z为两个独立变量x,y的函数,即二元函数极值的必要条件为:若z=f(x,y)在点P0(x0,y0)处可微分且有极值,则必各有个一偏导数为0,即,x=x0,y=y0。因此,极值的充分条件是:

当令各个二阶偏导数为:

(1)当B2-AC<0,则f(x0,y0)是极值,且当:

A<0,C<0时为极大值;

A>0,C>0时为极小值。

(2)当B2-AC>0,则f(x0,y0)不是极值。

(3)当B2-AC=0,则f(x0,y0)是否是极值不肯定。

(二)线性规划法

虽然大量的优化设计是非线性的,但由于目前对非线性规划还没有一个普遍适用的求解方法,而且解决非线性问题也大都离不开求解线性规划的方法,因此,这种方法用途最广。线性规划方法是解决满足一组由线性方程或线性不等式构成约束条件的系统进行规划、并使得由线性方程表示的目标函数达到最大值或最小值的数学方法。为叙述方便,现举某产品结构优化问题予以介绍。

某工厂生产A、B两种产品,并已知生产一件A产品所需甲、乙设备的生产时间分别为2小时和3小时,其利润为400元。而生产一件B产品则需甲、乙设备的生产时间分别为4小时和2小时,利润为600元。现每月可用于生产A、B产品的甲、乙设备生产时间分别为180小时及150小时,试问,如何制定A、B产品的生产计划,才能在现有条件下获得最大利润?

设A、B两种产品的生产量分别为x1,x2件,则可建立下述数学模型,即求一组非负数的设计变量x1,x2,满足约束条件:

使目标函数f(x)=400x1+600x2为最大。

解上述方程组不难得到x1=30件,x2=30件,此时,利润计为3万元。此组是否为最优,可在x1,x2两数值附近,采用逐步接近法进行比较,可知此组解是最优解。

求解线性规划问题的方法,除上述单纯形法外还有对偶单纯形法、改进单纯形法等等。

(三)非线性规划方法

优化设计中非线性规划也是常用的一种数学求解方法。一般的非线性规划方法,可写成下列形式:

目标函数f(x)=f(x1,x2,…,xn)

约束条件φ1(x1,x2,…,xn)≥0

φ2(x1,x2,…,xn)≥0

……………

φm(x1,x2,…,xn)≥0

当目标函数是一个二次函数,而约束条件是线性函数时,这种非线性规划又称二次规划。

设有一个工厂生产A和B两种产品,产品的利润和产量有关:

若产品A的利润f1和产量x1的关系为:f1=20+10x1

若产品B的利润f2和产量x2的关系为:f2=30+10x2

生产A1吨要使用设备甲1小时,设备乙1小时。若生产B1吨要用设备甲1小时,设备乙2小时。若设备甲每天可工作5小时,设备乙每天可工作8小时,问每天应生产A和B各多少,才能使得总利润最高?

现将上述问题写成如下数学模型。若设备每天生产A和B分别为x1和x2吨。则:

目标函数:f(x)=(20+10x1)x1+(30+10x2)x2

约束条件:{x1+x2≤5

x1+2x2≤8

x1,x2≥0

由此不难看出,目标函数f(x)是自变量的二次函数,因而它是非线性规划问题。约束条件亦含有非线性函数。

(四)无约束最优化的直接搜索法

无约束最优化的直接搜索法,是在求解过程中仅利用目标函数的数值信息去寻求最优解,即只需计算各迭代点的目标函数值,并通过分析比较,将其逐步调向最优点。根据取得最优点途径的不同,直接搜索法可分为区间消去法、函数逼近法和爬山法。

区间消去法是单变量函数无约束最优化较为有效的一种直接搜索法,它是通过区间逐步缩小来确定最优点的。常用的有成功失败法、斐波那契法与0.618法。现以0.618法为例,设目标函数f(x)是设计变量x的下单峰函数,在设计变量取值区间〔a,b〕内取两个开始点x1,x2,使:

x1=a+0.382(b-a)

x2=a+0.618(b-a)

于是便有f(x1)与f(x2)。然后根据目标函数的信息,缩小搜索区间,寻求最优解。当求极小值时,如果f(x1)<f(x2),就保留x1,极小点在〔a,x2〕之间,舍去(x2,b)段;如果f(x1)>f(x2),就保留x2,极小点在〔x1,b〕之间,舍去〔a,x1〕段,如此收缩搜索区,直到满足精度要求为止。

函数逼近法是在搜索区间的若干点上估计出目标函数值,并给出目标函数的近似曲线,再用区间消去法寻优。这也是对单变量函数较为有效的方法,常用的有顿法和抛物线插值法。其中抛物线插值法如图3-13所示。

图3-13 抛物线插值法

图中A,B,C为寻优区的三个点,过此三点作二次抛物线与g(x)来逼近目标函数f(x),然后求得g(x)的极小点。若与x0充分接近,则把作为f(x)的最优解;否则,在f(x0)与f(x)中找出大者,在保持f(x)值两头大中间小的前提下,舍弃一点,缩小区间,继续进行抛物线插值,如此反复进行,便可求得最优解。

爬山法是多变量函数的直接寻优法。它利用已有的函数信息,通过点的移动比较,逐步改变目标函数,最后达到最优点。常用的方法有坐标轮换法、步长加速法、方向加速法和单纯形法。如图3-14所示。

图3-14 坐标轮换法

坐标轮换法是轮流按坐标方向探索最优解,即在每次探索中只改变一个变量,保持其他变量为常数,直到按这个变量搜索到最优解。

(五)多目标优化问题的处理方法

在实际工程设计中,常常会遇到多目标优化。例如设计一台机器,一方面希望其成本越低越好,另一方面又希望它创造的价值越高越好,这就形成了多目标。特别是在多目标的目标之间,往往不可能直接用同一单位去度量,而且有些目标之间还可能相互矛盾。因此,如何统筹兼顾多种目标,选择合理的设计方案,就成为一个复杂的问题。

多目标优化的处理方法有很多,目前应用比较普遍的有两类,即化多目标为单目标和将多目标排序后依次寻优。

1.约束法

所谓约束法,就是当有w个目标函数时,根据需要从中选出一个目标函数作为主要目标,而对其他目标函数分别给予一定的限制值后,加到约束条件里面去。从而形成在某些约束条件下的单目标优化。

2.评价函数法

评价函数法其基本思路是人为地构造一个新的函数,通常称为“评价函数”,从而将多目标优化转变为求该评价函数的单目标优化。按不同想法,构造不同的评价函数,就形成不同的评价函数法。

(1)线性加权法。这是一种常用的重要方法。对多目标优化的w个目标函数f1(x),f2(x),…,fm(x),按其重要程度分别给权系数为a1,a2,…,am,且有,由此形成如下评价函数作为单目标优化的目标函数。

求上述的最优解作为多目标的最终解。

(2)平方和加权法。对多目标优化的各个目标函数f1(x),f2(x),…,fm(x),分别规定相应的指标,并根据各目标的重要程度确定权系数后,形成如下评价函数:

(3)乘除法。在m个目标函数中,若有k个目标是求极小值,其余(m-k)个目标是求极大值,并假定fi(x)>0(i=1,2,…,m),则可采用下面的评价函数:

3.目标规划法

它是将m个目标函数按其重要程度分成不同级别,根据规定的排列次序建立目标规划数学模型。关于求解目标规划模型的算法,也是在线性规划的单独形法的基础上建立起来的,其基本原理大致相同,是需要逐次考虑m个目标的实现。

分享到: