1、第六章 最优化数学模型1 最优化问题11 最优化问题概念12 最优化问题分类13 最优化问题数学模型2 经典最优化方法 21 无约束条件极值22 等式约束条件极值23 不等式约束条件极值3 线性规划31 线性规划32 整数规划4 最优化问题数值算法41 直接搜索法42 梯度法43 罚函数法5 多目标优化问题51 多目标优化问题52 单目标化解法53 多重优化解法54 目标关联函数解法55 投资收益风险问题第六章 最优化问题数学模型1 最优化问题11 最优化问题概念(1)最优化问题在工业、农业、交通运输、商业、国防、建筑、通信、政府机关等各部门各领域的实际工作中,我们经常会遇到求函数的极值或最大
2、值最小值问题,这一类问题我们称之为最优化问题。而求解最优化问题的数学方法被称为最优化方法。它主要解决最优生产计划、最优分配、最佳设计、最优决策、最优管理等求函数最大值最小值问题。最优化问题的目的有两个:求出满足一定条件下,函数的极值或最大值最小值;求出取得极值时变量的取值。最优化问题所涉及的内容种类繁多,有的十分复杂,但是它们都有共同的关键因素:变量,约束条件和目标函数。(2)变量变量是指最优化问题中所涉及的与约束条件和目标函数有关的待确定的量。一般来说,它们都有一些限制条件(约束条件) ,与目标函数紧密关联。设问题中涉及的变量为 ;我们常常也用 表示。nx,21 ),(21nxX(3)约束条
3、件在最优化问题中,求目标函数的极值时,变量必须满足的限制称为约束条件。例如,许多实际问题变量要求必须非负,这是一种限制;在研究电路优化设计问题时,变量必须服从电路基本定律,这也是一种限制等等。在研究问题时,这些限制我们必须用数学表达式准确地描述它们。用数学语言描述约束条件一般来说有两种:等式约束条件 miXgi ,21,0)(不等式约束条件 rhi 或 ii ,)(注:在最优化问题研究中,由于解的存在性十分复杂,一般来说,我们不考虑不等式约束条件 或 。这两种约束条件最优化问题最优解的存0)(Xh)(在性较复杂。(4)目标函数在最优化问题中,与变量有关的待求其极值(或最大值最小值)的函数称为目
4、标函数。目标函数常用 表示。当目标函数为某问题的效益函数),()21nxfXf时,问题即为求极大值;当目标函数为某问题的费用函数时,问题即为求极小值等等。求极大值和极小值问题实际上没有原则上的区别,因为求 的极小值,)(Xf也就是要求 的极大值,两者的最优值在同一点取到。)(Xf12 最优化问题分类最优化问题种类繁多,因而分类的方法也有许多。可以按变量的性质分类,按有无约束条件分类,按目标函数的个数分类等等。一般来说,变量可以分为确定性变量,随机变量和系统变量等等,相对应的最优化问题分别称为:普通最优化问题,统计最优化问题和系统最优化问题。按有无约束条件分类:无约束最优化问题,有约束最优化问题
5、。按目标函数的个数分类:单目标最优化问题,多目标最优化问题。按约束条件和目标函数是否是线性函数分类:线性最优化问题(线性规划) ,非线性最优化问题(非线性规划) 。按约束条件和目标函数是否是时间的函数分类:静态最优化问题和动态最优化问题(动态规划) 。按最优化问题求解方法分类:解析法(间接法) 图 克 定 理库 恩极 大 值 原 理有 约 束 古 典 变 分 法古 典 微 分 法无 约 束数值算法(直接法) 随 机 搜 索 法单 纯 形 法方 向 加 速 法步 长 加 速 法坐 标 轮 换 法多 维 搜 索 法 插 值 法黄 金 分 割 法斐 波 那 西 法一 维 搜 索 法数值算法(梯度法)
6、 复 形 法 法法化 有 约 束 为 无 约 束梯 度 投 影 法可 行 方 向 法有 约 束 梯 度 法 变 尺 度 法共 轭 梯 度 法拟 牛 顿 法最 速 下 降 法无 约 束 梯 度 法 SWIFTUM多目标优化方法 目 标 关 联 函 数 法多 重 目 标 化 方 法单 目 标 化 方 法网络优化方法13 最优化问题的求解步骤和数学模型(1)最优化问题的求解步骤最优化问题的求解涉及到应用数学,计算机科学以及各专业领域等等,是一个十分复杂的问题,然而它却是需要我们重点关心的问题之一。怎样研究分析求解这类问题呢?其中最关键的是建立数学模型和求解数学模型。一般来说,应用最优化方法解决实际问
7、题可分为四个步骤进行:步骤 1:建立模型提出最优化问题,变量是什么?约束条件有那些?目标函数是什么?建立最优化问题数学模型:确定变量,建立目标函数,列出约束条件建立模型。步骤 2:确定求解方法分析模型,根据数学模型的性质,选择优化求解方法确定求解方法。步骤 3:计算机求解编程序(或使用数学计算软件) ,应用计算机求最优解计算机求解。步骤 4:结果分析对算法的可行性、收敛性、通用性、时效性、稳定性、灵敏性和误差等等作出评价结果分析。(2)最优化问题数学模型最优化问题的求解与其数学模型的类型密切相关,因而我们有必要对最优化问题的数学模型有所掌握。一般来说,最优化问题的常见数学模型有以下几种:无约束
8、最优化问题数学模型由某实际问题设立变量,建立一个目标函数且无约束条件,这样的求函数极值或最大值最小值问题,我们称为无约束最优化问题。其数学模型为:目标函数),(min21nxf例如:求一元函数 和二元函数 的极值。(fy),(yxfz又例如:求函数 的极值和取3231212321321 464),( xxxxf 得极值的点。有约束最优化问题数学模型由某实际问题设立变量,建立一个目标函数和若干个约束条件(等式或不等式) ,这样的求函数极值或最大值最小值问题,我们称为有约束最优化问题。其数学模型为:目标函数),(min21nxf约束条件mixgi ,210, 有约束最优化问题的例子:求函数 在约束
9、条件条件nxxf3121),(下的最大值和取得最大值的点。nixxxin ,2831 线性规划问题数学模型由某实际问题设立变量,建立一个目标函数和若干个约束条件,目标函数和约束条件都是变量的线性函数,而且变量是非负的,这样的求函数最大值最小值问题,我们称为线性最优化问题,简称为线性规划问题。其标准数学模型为:目标函数nn xcxcxf 2121),(min约束条件0,i iimi mbaa矩阵形式: 目标函数XCfT)(n约束条件0BA其中 , ,TnxX),(21Tnc),(21TmbB),(21mnmnaaA 212在线性规划问题中,关于约束条件我们必须注意以下几个问题。注 1:非负约束条
10、件 ,一般来说这是实际问题要求的需要。),1(0ixi 如果约束条件为 ,我们作变量替换 ;如果约束条件为iid0iiidxz,我们作变量替换 。iidx0iiixz注 2:在线性规划的标准数学模型中,约束条件为等式。如果约束条件不是等式,我们引入松驰变量,化不等式约束条件为等式约束条件。情况 1:若约束条件为 ,引入松驰变量inimii bxaxa21 0iiiiiz原约束条件变为 。iinimii zxx21情况 2:若约束条件为 ,引入松驰变量iiii baa 0)(21nimiiii xxbz原约束条件变为 iiniii zx21在其它最优化问题中,我们也常常采取上述方法化不等式约束条
11、件为等式约束条件。实际问题中,我们经常遇到两类特殊的线性规划问题。一类是:所求变量要求是非负整数,称为整数规划问题;另一类是所求变量要求只取 或 ,称为010-1 规划问题。例如:整数规划问题 213minxz。且 为 整 数0,85421xts又例如:0-1 规划问题 32153maxxz。10,644. 321321 或xts非线性规划问题数学模型由某实际问题设立变量,建立一个目标函数和若干个约束条件,如果目标函数或约束条件表达式中有变量的非线性函数,那么,这样的求函数最大值最小值问题,我们称为非线性规划最优化问题,简称为非线性规划问题。其数学模型为:目标函数),(min21nxf约束条件
12、mixgi ,210, 其中目标函数或约束条件中有变量的非线性函数。例如:非线性规划问题 yxyf2)1(,min。0),(21g上述最优化问题中,目标函数是非线性函数,故称为非线性规划问题。前面介绍的四种最优化数学模型都只有一个目标函数,称为单目标最优化问题,简称为最优化问题。多目标最优化问题数学模型由某实际问题设立变量,建立两个或多个目标函数和若干个约束条件,且目标函数或约束条件是变量的函数,这样的求函数最大值最小值问题,我们称为多目标最优化问题。其数学模型为:目标函数sixfni ,21),(mn21 约束条件mxgi 0, 上述模型中有 个目标函数, 个等式约束条件。s例如:“生产商如
13、何使得产值最大而且消耗资源最少问题” “投资商如何使得投资收益最大而且风险最小问题”等都是多目标最优化问题。2 经典最优化方法经典最优化方法包括无约束条件极值问题和等式约束条件极值问题两种,不等式约束条件极值问题可以化为等式约束条件极值问题。经典的极值理论:首先,根据可微函数取极值的必要条件确定可能极值点;其次,根据函数取极值的充分条件判断是否取极值?是极大值?还是极小值?这种方法已经几百年的历史了。21 无约束条件极值设 元函数 ,求 的极值和取得极值的点。这是n),()21nxfXf)(Xf一个无约束条件极值问题,经典的极值理论如下。定理 1(极值必要条件):设 元函数 具有偏导数,则),
14、()21nxff在 处取得极值的必要条件为:)(f*。nixfXi ,210|* 定理在此不给出证明,读者可自己参看有关资料。注 1:对于一元函数上述定理当然成立,只是偏导数应为导数;注 2:定理只是在偏导数存在的前提下的必要条件。如果函数在某一点偏导数不存在,那在这一点处仍然可能取得极值;注 3:如果函数在某一点偏导数存在,且偏导数都等于零,那么函数在这一点处也不一定取得极值。例如,函数 在点 处偏导数不存在,但在这一点处函23),(yxf)0,(数仍然取得极小值零。函数 在点 处偏导数存在,且偏导数53),(f ),(都等于零,但在这一点处函数不取极值。定理 1 的作用在于,求出函数的可能
15、极值点,然后,我们再研究这些点是否取得极值。对于许多实际问题来说,函数一定能够取得极大值或极小值,而函数的可能极值点(满足必要条件的点)又只有一点,则这一点当然是函数取得极大值或极小值的点。对于一般函数而言,我们怎样判定函数在某点是否取极值?是极大值?还是极小值?我们有下面的极值的充分条件定理。定理 2(极值充分条件):设 元函数 具有二阶偏导数,n),()21nxfXf则 在 处取得极值的充分条件为:)(Xf*(1) ;nixfXi ,320|* (2)黑塞矩阵 在 处正定或负定;221222121nxn nxfff fff xx *X(3)黑塞矩阵在 处正定时,函数取极小值;负定时,函数取
16、极大*X值。本章内容简要讲解理论,注重实际应用,对于许多经典的定理都不进行证明,读者可自己参看有关资料。例 1:求函数 的极值。321232132146),( xxxxf 解:(1)根据极值存在的必要条件,确定可能取得极值的点:, ,214xf 312xf 238xf令 ,解得 。0321ff )0,(),(321x(2) 根据极值存在的充分条件,确定 是否是极值点:,321计算 , , ;421xf122xf83xf, , ;21xf031xf23xf函数的黑塞矩阵为 82014),(2f因为 , , ;04412032所以黑塞矩阵负定,故函数在 处取得极大值 。)0,(),(321x),0
17、(f22 等式约束条件极值下面我们研究的是有若干个等式约束条件下,一个目标函数的极值问题,其数学模型为:目标函数),(min21nxf约束条件migtsi ,210. 拉格朗日(Lagrange) 乘数法 :(1)令 ),(),( 21121 niinxgxfL 称为上述问题的拉格朗日乘数函数,称 为拉格朗日乘数。i(2)设 和 均可微,则得到方程组),(21nxf ),(21nixg nixgLjxniimijijj ,210),( ,21 (3)若 是上述方程组的解,则点 可能,2121mnx ),(21nx为该问题的最优点。拉格朗日(Lagrange) 乘数法的本质是:将求有约束条件极值
18、问题转化为求无条件极值问题;所求得的点,即是取得极值的必要条件点。拉格朗日乘数法没有解决极值的存在性问题,但是,如果拉格朗日乘数函数具有二阶连续偏导数,我们也可以应用黑塞矩阵来判定函数是否取得极值。在具体问题中,点 是否为最优点通常可由问题的实际意义决定。),(21nx例 2:求表面积为定值 ,而体积为最大的长方体的体积。2a解:设长方体的三棱长为 ,体积为 ;zyx,V建立数学模型如下: m0,2.zyxats构造拉格朗日乘数函数 ,则有)2(),( axzyxL0)(2yxzLzyyzx解得 , 为所求。ayx636maV23 不等式约束条件极值对于不等式约束条件极值问题:目标函数),(i
19、n21nxf约束条件migtsi ,210. 我们有与拉格朗日乘数法密切相关的方法库恩图克定理。定理 3(库恩图克定理):对于上述不等式约束条件极值问题,设和 均可微,令 ),(21nxf ),(21nix ,21121 nimingfL 假设 存在,则在最优点 处,必满足下述条件:i*X),(21nx(1) ;mijijj jxgfx1 ,0(2) ;migni ,21),(21 (3) ;xi 0 (4) 。0i根据库恩图克定理我们可以求解许多不等式约束条件极值问题,值得注意的是应用库恩图克定理求解不等式约束条件极值问题,定理并没有解决最优解的存在性问题,因此,我们必须另行判断。例 3:求
20、解最优化问题(最优解存在)yxyf2)1(,min0),(21g解:构造函数 ,)()2()1(,(12 yyxxzyL根据库恩图克定理则有 0,)2(0211yxL解得: ;所求最优解为 ,最优值为 。,0,121yx )0,1(,yx03 线性规划31 线性规划设线性规划标准数学模型为:目标函数nn xcxcxf 2121),(min约束条件imbaatsi inimi ,10. 矩阵形式: 目标函数XCfT)(n约束条件0BA其中 , ,TnxX),(21Tnc),(21TmbB),(21线性规划问题的求解有一整套理论体系,一般来说,应用单纯形法求解。此方法尽管比较复杂,然而在计算机上实
21、现并不困难。解线性规划问题的单纯形法已在许多数学计算软件中实现,我们求解线性规划问题可根据需要,应用数学计算软件求解即可。在此,我们不系统研究其理论,只是简单介绍线性规划的穷举法和单纯形法的基本思想。3.2 线性规划的穷举法(1)穷举法基本原理和步骤步骤 1:将线性规划问题化成矩阵的标准形式,设系数矩阵的秩 ,则mAR)(对应线性方程组的基础解系自由变量的个数为 个。mn步骤 2:穷举法求解:令 ,解得对应线性方程组一组解0)(21iii xx为;对应目标函数值为 。),(21nx inff),(21从 个变量 中选 个作为自由变量,令它们的值为 0,可得到m组解。mnC步骤 3:确定最优解:
22、如果最优解存在,则上述求解得到的对应 个目mnC标函数值中,最小者(或最大者)即为所求最小(或最大)最优值,对应的解为最优解。步骤 4:证明解为最优解:将最优解对应的自由变量看成参数 ;解对应线性方程组得 )(21,mntt。ibtbxmniiii ,)(210 将对应线性方程组解 nitbtxmniiii ,21,)(210 代入目标函数得: 。)(210 mndtdf 如果 ,则所求为最小值最优解;否则,线性规划问题无nidi ,2,最小值最优解。如果 ,则所求为最大值最优解;否则,线性规划问题无ii ,1,0最大值最优解。例 1:目标函数: 321)(maxxXf5,4321,0.521
23、3ixtsi解:约束条件的增广矩阵为:, ;101A)(AR令 ,解得 ;21x 5)(,45,(XfX令 ,无解;3令 ,解得 ,不满足非负条件,舍去;041x)1,05(X令 ,解得 ;5 7(24Xf令 ,解得 ;32x 0),(令 ,解得 ,不满足非负条件,舍去;04501X令 ,无解;52x令 43,解得 ;235)(,2(Xf令 ,解得 ,不满足非负条件,舍去;05x0345X令 ,解得 ;4 19)(,(f所以 ,最优解为 。19)(maf ,2证明:令 解得 sxt54,目标函数 ;5,1,02321ixsti stXf19)(因为 非负,所以 ,故最优解存在。t54 )(ma
24、xf(2)单纯形法基本原理和步骤将线性规划问题化成矩阵的标准形式,设系数矩阵的秩 ,则对应mAR)(线性方程组的基础解系的个数为 个,即有 个自由参数变量。nn选取 个非基变量(自由参数变量),不妨假设为 ;mn njx,1,解得线性规划问题的典式njxmixfixjnmjjjjiii ,210)(,1定理 1:如果线性规划问题的上述典式中所有 ;njj ,1,0则 为最优解。)0,(21 mX定理 2:如果线性规划问题的上述典式中存在某个 ,且对应0km;则线性规划问题无最优解。mikmi ,1,0)(由定理 1 和定理 2 知,如果我们选择适当的 个非基变量,就可以根据n所求得的典式判断最
25、优解的存在与否,从而求解该线性规划问题。单纯形法的思想是:选择适当的基变换(进基和退基) ,不断地变换典式,使得典式中目标函数值不断下降,从而求得最优解。其核心为如何选择进基和退基。进基规则和退基规则进基规则正检验数最小下标规则,即选取 ,由此确0|minjs定 为进基。sx退基规则:选取这样的下标 ( 表示第 个基变量的下标)rJii0|minisi 0,|minisisrJ由此确定 离基。rJx单纯形法的基本步骤:步骤 1:化线性规划问题为标准形式。步骤 2:确定基变量,求得基本可行解和典式;是否满足最优解定理或最优解不存在定理的条件?判断最优解的情况。步骤 3:根据进基规则和退基规则,选
26、择进基和退基,进行基变换,求得对应典式。重复进行基变换,直到求出最优解或判断出无最优解为止。例 2:解线性规划问题21minxf5,4321,06.3ixxtsi解:(1)约束条件的增广矩阵为:, ;1026A3)(AR所以非基变量个数为两个。(2)选取 作为非基变量, 作为基变量,解得典式为21,x543,x5,1,02min651423xxfx不满足最优解定理和最优解不存在定理的条件,故必须进行基变换。(3)进行基变换选取进基: ,0,21根据 得 为进基。|minjs1x选取退基: ,6,15根据 , 得 为离基。0|inisi0,|minisisrJ5x进行基变换,求新基的典式:5,1
27、,037min62147322515ixxfxxi判断:不满足最优解定理和最优解不存在定理的条件,故继续进行基变换。(4)继续进行基变换选取进基: ,根据 得 为进基。320|minjs2x选取退基: ,4921,8in根据 , 得 为离基。0|iisi0,|inisisrJ3x进行基变换,求新基的典式:5,1,0423min4123935135ixxfxxi满足最优解定理的条件,根据定理最优解为。4in),2,491(fX32 整数规划设纯整数线性规划数学模型为:目标函数nn xcxcxf 2121),(min约束条件imbaatsii inim,1,0. 为 整 数这一类问题与一般线性规划
28、比较起来,似乎是变简单了,但实际上恰恰相反,由于解集是一些离散的整数点集,使得单纯形法失去了应用的基础,求解变得困难而复杂。整数线性规划目前还缺乏统一的解法,这里只介绍分枝定界法,它是目前求解纯整数线性规划和混合整数线性规划最常用的方法,计算机求解整数线性规划的大多数程序也是以它为基础的。分枝定界法:考虑上述纯整数线性规划问题,(1)解对应线性规划问题目标函数nn xcxcxf 2121),(min约束条件imbaatsi inimi ,10. 若无最优解,则原纯整数线性规划问题无最优解;若有最优解,最优点 ,目标函数最优值 。),(21nx ),(210nxfz若最优点 全为整数,则为原纯整
29、数线性规划问题的最优解;),(21nx若最优点 不全为整数,则进行下一步。(2)定界和分枝定界: 0210),(minmzxfMn其中 取原纯整数线性规划问题中,满足约束条件的某一整数可行解所对应的目标函数值。原纯整数线性规划问题的最优解必须满足定界条件。分枝:选取 中一个不为整数所对应的 分枝,),(21nx kx1Rnix mbaai inimik ,21021 2 ixxi inimik ,21 和 称为对应线性规划问题的两枝,也是两个新线性规划问题的约束条1R2件。显然,原纯整数线性规划问题的最优解满足 或 。1R2(3)对 和 进行剪枝和分枝12解 对应的线性规划问题,对其进行剪枝和
30、分枝:R若无最优解,则原纯整数线性规划问题在 内无最优解。不需要对该区域1R继续讨论剪枝。若有最优解,最优点 ,目标函数的最优值 。),(21nx ),(21nxfz若 ,则原纯整数线性规划问题在 内无最优解。021),(Mxfzn 1R不需要对该区域继续讨论剪枝。若最优点 全为整数,则可能为原纯整数线性规划问题的最优),(21n解,定界:记 ,则 ,本0,xf 0211),(minmxfn分枝求解结束。若最优点 不全为整数,对 继续进行分枝。),(21nx 1R完全类似,解 对应线性规划问题,对其进行剪枝和分枝。R依此类推,对所有分枝进行求解,剪枝,分枝,定界;直至求得最优解。(4)最优解的
31、确定若某 ,则为最优解,求解结束。0mMk若所有分枝求解结束,则最后的上界 即为最优解。kM例 3:应用分枝定界法,求解整数线性规划问题213minxz且 为 整 数0,85421xts解:设原整数线性规划问题目标函数的最优值为 ,*z(1)求解线性规划问题: 213minxz0,2853421xts得最优解为 ; 。82x51.7inz记约束区域 为 。0,534221xR(2)对 进行分枝:选取最优解中不是整数的变量,例如 ,将 分成两个子R 1xR区域 。 , 21,0,285341.9:12x0,285342.:11xR(3)定界:确定最优值 的上下界。由(1)中求得的最优值知 ;而*
32、z 51.7*z的上界可由 内的任意一个可行解确定,例如, 即为一个可*zR 4,721行解。故 。从而, 。1995.7(4)在 内求最优解,得 ; 。3.,21x39.8minz(5)在 内求最优解,得 ; 。2 18627(6)因为 内最优解不全是整数,因而必须继续对 分枝:1R1R0,285342.9:1121xx0,285342.9:1121xxR(7)显然 内无解,剪枝。2R在 内求最优解,得 ; ;为整数可行解。1R4,921x21minz但因 ,而 ,故剪枝。*5.7z(8)因为 内最优解不全是整数,因而必须继续对 分枝:2 2R0,2853421.:12xxR0,285342
33、1.:1xx(9)显然 内无解,剪枝。2在 内求最优解,得 ; 。21R4,7.621xx7.8minz(10)因为 内最优解不全是整数,因而必须继续对 分枝:21 21R0,2853421.:121xxR0,2853421.6:121xxR(11)在 内求最优解,得 ; 。2R5.,621x.9minz因 大于 的上界,故剪枝。5.9minz*z(12)在 内求最优解,得 ; 。21 4,721 1i所求原整数规划问题的最优解为: ; 。x9nz4 最优化问题数值算法最优化问题的数值算法很多,常用的算法多为搜索法,本节只介绍搜索法的基本思想、无约束最优化问题的最速下降法(梯度法)和有约束最优
34、化问题的罚函数法。41 搜索算法考虑无约束最优化问题: ),(min21nxf我们已经讨论了这类问题的最优解条件,这必须用到函数的解析性质。我们的方法是,先利用必要条件求出平稳点,再应用充分条件判断是否是极值点。但是,我们必须求解一个 个变量 个方程的方程组,并且常常是非线性的。n这只有在特殊的情况下,才能求出它的精确解。在一般情况下,都不能用解析法求得精确解。更何况许多实际问题中,函数的解析表达式很难得到。因此,我们必须寻求一些切合实际问题的行之有效的数值解法。搜索算法就是我们常用的方法。(1)搜索算法的基本思想:假定目标函数 极小值问题。首先,确定)(Xf目标函数 的初始点 ;然后,按照一
35、定规则产生一个点列 ,这种规)(Xf0 kX则称为算法;规则必须满足(1)点列 收敛;(2)点列 收敛到目标k函数 的极小值点。)(f(2)搜索算法的基本步骤:选定初始点 (越接近最优点越好) ,允许误差 ,令 。0X0k假定已得非最优点 ,则选取一个搜索方向 ,满足:kkS目标函数 下降,或 。)(f 0)(kXgradf选定搜索步长 , ,满足:0kk1。)()()(1 kkfSfXf判断 是否是最优点或是满足要求的近似解。1k假定给定精度要求为 ,常用确定求近似解搜索结束的方法有:0梯度模确定法;|)(|1kgradf目标函数差值绝对误差法;|X相邻搜索点绝对误差法。|1kk如果 满足给
36、定精度要求,则搜索完成,近似最优点为 ;1*kX如果 不满足给定精度要求,令 返回(2)继续搜索。1kX1k注意 1:我们的搜索算法一般得到的都是局部最优解。注意 2:确定求近似解搜索结束的方法还有目标函数差值相对误差法;|)(|1kXf相邻搜索点相对误差法。|1kX(3)搜索算法的关键因素:从搜索算法的基本步骤中,我们知道,搜索算法的关键因素为:一是搜索方向,二是搜索步长。搜索方向的选择,一般考虑既要使它尽可能的指向极小值点,又要不至于花费太多的计算量。搜索步长的选择,既要确保目标函数的下降性质,又要考虑近似解的精度要求,还要考虑算法的计算量,问题十分复杂。常用方法有,固定步长法,最优步长法
37、和变步长法。固定步长法(简单算法)是选取 为固定值。方法简单,但是有时不0k能保证目标函数的下降性质。最优步长法(一维搜索算法)是选取 使得,k)(min)(kkk SXfSXf 这是一个关于单变量 的函数求极小值问题,这样确定的步长称为最优步长。变步长法(可接受点算法)是任意选取 ,只要使得 即可。k )()(1kkXff这种选取步长的方法,确保了目标函数的下降性质,尽管每次选取的步长不是最优的,但实践证明,方法能达到更好的数值效果。总之,当搜索方向确定以后,步长就是决定最优化算法好坏的重要因素,因此,我们必须特别注重步长的选取问题。(4)搜索算法的收敛性:搜索算法的收敛性是指,由某算法得到
38、的点列能够在有限步骤内收敛到目标函数 的最优点或能够在有限步骤内达kX)(Xf到满足精度要求的目标函数 的最优点的近似值。显然,只有具有收敛性质)(f的算法才有意义。搜索算法的收敛速度:作为一个好的算法,还必须要求它以较快的速度收敛于最优解。阶收敛定义:对于收敛于最优解 的序列 ,若存在与 无关的数*Xkk和 ,当 从某个 开始时,有01k0成立,|*|Xkk则称序列 收敛的阶为 ,或称 阶收敛。当 时,称迭代序列 为线性收敛;当 时,称迭代序列1k 21为超线性收敛;当 时,称迭代序列 为二阶收敛。kX2kX一般来说,线性收敛是比较慢的,而二阶收敛则是很快的,超线性收敛介于二者之间。如果一个
39、算法具有超线性以上的收敛速度,我们就认为是一个好的算法了。42 无约束最优化问题的梯度法无约束最优化问题),(min21nxf的计算方法很多。无约束最优化问题的计算方法分为两大类:一类是解析法,包括经典最优化方法,最速下降法(梯度法) ,共轭梯度法,牛顿法和变尺度法等。另一类是直接法,包括坐标轮换法,步长加速法,方向加速法和单纯形法等。所谓解析法就是在方法的计算过程中,应用到了函数的解析性质(可导性质等) ;所谓直接法就是在方法的计算过程中,仅仅涉及目标函数值的计算,而不涉及函数导数等解析性质。我们在这里只介绍最速下降法(梯度法) 。最速下降法理论根据:早在 1847 年,法国著名数学家 Ca
40、uchy 就曾提出,从任意给定点出发,函数沿哪个方向下降最快的问题。这个问题已从理论上解决了,即沿着函数在该点的负梯度方向前进时,函数下降最快。这就是最速下降法的理论根据。最速下降法的搜索步骤:步骤 1:选定初始点 (越接近最优点越好) ,允许误差 ,令 。0X0k步骤 2:假定已得非最优点 ,计算梯度 ,k )(kXgradf选取搜索方向 )(kkfS步骤 3:选定搜索步长 , ,满足:0SX1。)(min)(kkkfXf步骤 4:判断 是否是最优点或是满足要求的近似解。1根据精度要求,检验是否满足收敛性判断准则:或 或 |)(|1kgradf |)()(|1kkXff |1kkX如果 满足
41、给定精度要求,则搜索完成,近似最优点为 ;X 1*k如果 不满足给定精度要求,令 返回(2)继续搜索。1k k例 1:应用最速下降法求解 。215)(minxXf解:(1)选定初始点 ,允许误差 ,置2,0.0:k收敛判断准则 。|)()(|1kkXff(2)计算梯度 ,选取搜索方向kgrad )(kkXgradfS,kXkxXrf|50,2)(1 kx|50,221第一点搜索计算: ,,4)(0rf ,4(3)选定搜索步长 , ,满足:kkkkS1)(min)(0kXfSXf第一点搜索计算:求最优步长 2200 )10(5)4()(i f解得 。2.(4)判断 是否是最优点或是满足要求的近似
42、解。1kX第一点搜索计算: )0,9.1(验证收敛判断准则 ,不满足,继续搜索。02.31.| Xff依次类推,直到搜索到最优解或满足精度要求为止。搜索计算列表如下:搜索步长 k搜索方向 kS 搜索点 kX函数值 )(kXf)2,(010402.1,40,9.169.35.1,8.31S)(2X2为最优解0,43 罚函数法对于约束最优化问题也有许多种方法,本段只介绍把约束最优化问题转化为无约束最优化问题的一种求解方法罚函数法。分为等式约束最优化问题和不等式约束最优化问题两种情况讨论。(1) 等式约束最优化问题的罚函数法首先,考虑等式约束最优化问题)(minXfmigtsi ,210. 假定上述
43、等式约束最优化问题的最优解存在。若记 ,,)(|ni RXiXD构造辅助函数 罚函数miigMfT12)(,其中 (罚因子)是一个充分大的正数。0M定理 1:若对于某确定数 ,无约束最优化问题0miiXgfXT12)()(,(min的最优解 ,则 必为原等式约束最优化问题的最优解。D*证明:设无约束最优化问题 miiXgMfT12)()(,(in的最优解 ,则有: X*Xgi ,0)而当 时,D(),(fMT所以 *)(),min)i fTf即 为原等式约束最优化问题的最优解。*X定理 2:设 和 均为连续函数,)(f miXgi ,21,0)(若对于任意正数 ,无约束最优化问题iiXgMfT
44、12)()(,(min的最优解 ,且 ,DX)*l则 为原等式约束最优化问题的最优解。(liM定理 2 的证明请参看有关参考资料。根据定理 1 和定理 2,我们就可以将通过构造罚函数的方法化为无约束最优化问题求解,这种方法称为罚函数法。罚函数法的步骤:(等式约束最优化问题罚函数法)步骤 1:构造罚函数 ,miiXgMfXT12)()(,(选定 ,允许误差 ,令 ;01M0:k步骤 2:求无约束问题 的最优解 ;),(ink*k步骤 3:判断 是否是最优点或是满足要求的近似解。*kX根据精度要求,检验是否满足收敛性判断准则:migki ,21,|)(|*或 mikiX12*如果满足收敛性判断准则
45、,则 ,结束搜索;*kX否则,令 ,取 ,返回(2) ,继续搜索。:k01kM下面我们通过一个简单的例子来说明等式约束最优化问题的罚函数法。例 2:应用罚函数法求解非线性规划问题 21)(minxXf0.2xts解:构造罚函数: 221)1(),(xMxTkk求罚函数的最优解:应用解析法, 12x)(22k令上述两式等于零,解得 kMx1,021令 得 为所求最优解。kM,21x(2) 不等式约束最优化问题的罚函数法对于,不等式约束最优化问题)(minXfmigtsi ,210. 假定上述不等式约束最优化问题的最优解存在。由于不等式约束条件 等价于等式约束条件iXgi ,0)(miXgi ,21,0)(,mn因而,上述不等式约束最优化问题可以转化为问题)(ifigtsi ,210,n. 类似问题(1)构造罚函数miiXgMXfT12)(,n)(,(则将上述等式约束最优化问题的求解转化为下面无约束最优化问题的求解:miif12)(,0)(,(min定理 3:若对于某确定数 ,无约束最优化问题miiXgMXfT12)(,n)(,(i的最优解 ,则 必为原不等式约束最优化问题的最优解