多目标最优化数学模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章 最优化数学模型
§1 最优化问题
1.1 最优化问题概念 1.2 最优化问题分类
1.3 最优化问题数学模型 §2 经典最优化方法 2.1 无约束条件极值 2.2 等式约束条件极值 2.3 不等式约束条件极值 §3 线性规划 3.1 线性规划 3.2 整数规划
§4 最优化问题数值算法 4.1 直接搜索法 4.2 梯度法 4.3 罚函数法
§5 多目标优化问题 5.1 多目标优化问题 5.2 单目标化解法 5.3 多重优化解法 5.4 目标关联函数解法 5.5 投资收益风险问题
第六章 最优化问题数学模型 §1 最优化问题
1.1 最优化问题概念 (1)最优化问题
在工业、农业、交通运输、商业、国防、建筑、通信、政府机关等各部门各领域的实际工作中,我们经常会遇到求函数的极值或最大值最小值问题,这一类问题我们称之为最优化问题。
而求解最优化问题的数学方法被称为最优化方法。
它主要解决最优生产计划、最优分配、最佳设计、最优决策、最优管理等求函数最大值最小值问题。
最优化问题的目的有两个:①求出满足一定条件下,函数的极值或最大值最小值;②求出取得极值时变量的取值。
最优化问题所涉及的内容种类繁多,有的十分复杂,但是它们都有共同的关键因素:变量,约束条件和目标函数。
(2)变量
变量是指最优化问题中所涉及的与约束条件和目标函数有关的待确定的量。
一般来说,它们都有一些限制条件(约束条件),与目标函数紧密关联。
设问题中涉及的变量为n x x x ,,,21 ;我们常常也用),,,(21n x x x X 表示。
(3)约束条件
在最优化问题中,求目标函数的极值时,变量必须满足的限制称为约束条件。
例如,许多实际问题变量要求必须非负,这是一种限制;在研究电路优化设计问题时,变量必须服从电路基本定律,这也是一种限制等等。
在研究问题时,这些限制我们必须用数学表达式准确地描述它们。
用数学语言描述约束条件一般来说有两种: 等式约束条件 m i X g i ,,2,1,
0)(
不等式约束条件 r i X h i ,,2,1,
0)( 或 r i X h i ,,2,1,
0)(
注:在最优化问题研究中,由于解的存在性十分复杂,一般来说,我们不考虑不等式约束条件
0)( X h 或0)( X h 。
这两种约束条件最优化问题最优解的存在性较复杂。
(4)目标函数
在最优化问题中,与变量有关的待求其极值(或最大值最小值)的函数称为目标函数。
目标函数常用),,,()(21n x x x f X f 表示。
当目标函数为某问题的效益函数时,问题即为求极大值;当目标函数为某问题的费用函数时,问题即为求极小值等等。
求极大值和极小值问题实际上没有原则上的区别,因为求)(X f 的极小值,也就是要求)(X f 的极大值,两者的最优值在同一点取到。
1.2 最优化问题分类
最优化问题种类繁多,因而分类的方法也有许多。
可以按变量的性质分类,按有无约束条件分类,按目标函数的个数分类等等。
一般来说,变量可以分为确定性变量,随机变量和系统变量等等,相对应的最优化问题分别称为:普通最优化问题,统计最优化问题和系统最优化问题。
按有无约束条件分类:无约束最优化问题,有约束最优化问题。
按目标函数的个数分类:单目标最优化问题,多目标最优化问题。
按约束条件和目标函数是否是线性函数分类:线性最优化问题(线性规划),非线性最优化问题(非线性规划)。
按约束条件和目标函数是否是时间的函数分类:静态最优化问题和动态最优化问题(动态规划)。
按最优化问题求解方法分类:
①解析法(间接法)
图克定理库恩极大值原理有约束古典变分法古典微分法无约束
②数值算法(直接法)
随机搜索法单纯形法方向加速法
步长加速法坐标轮换法
多维搜索法插值法黄金分割法斐波那西法
一维搜索法
③数值算法(梯度法)
复形法法法化有约束为无约束梯度投影法可行方向法有约束梯度法变尺度法
共轭梯度法拟牛顿法
最速下降法无约束梯度法SWIFT SUMT
④多目标优化方法
目标关联函数法多重目标化方法单目标化方法
⑤网络优化方法
1.3 最优化问题的求解步骤和数学模型 (1)最优化问题的求解步骤
最优化问题的求解涉及到应用数学,计算机科学以及各专业领域等等,是一个十分复杂的问题,然而它却是需要我们重点关心的问题之一。
怎样研究分析求解这类问题呢?其中最关键的是建立数学模型和求解数学模型。
一般来说,应用最优化方法解决实际问题可分为四个步骤进行: 步骤1:建立模型 提出最优化问题,变量是什么?约束条件有那些?目标函数是什么?建立最优化问题数学模型:确定变量,建立目标函数,列出约束条件——建立模型。
步骤2:确定求解方法
分析模型,根据数学模型的性质,选择优化求解方法——确定求解方法。
步骤3:计算机求解
编程序(或使用数学计算软件),应用计算机求最优解——计算机求解。
步骤4:结果分析 对算法的可行性、收敛性、通用性、时效性、稳定性、灵敏性和误差等等作出评价——结果分析。
(2)最优化问题数学模型
最优化问题的求解与其数学模型的类型密切相关,因而我们有必要对最优化问题的数学模型有所掌握。
一般来说,最优化问题的常见数学模型有以下几种: ①无约束最优化问题数学模型 由某实际问题设立变量,建立一个目标函数且无约束条件,这样的求函数极值或最大值最小值问题,我们称为无约束最优化问题。
其数学模型为: ),,,(min 21n x x x f ——目标函数
例如:求一元函数)(x f y 和二元函数),(y x f z 的极值。
又例如:求函数3231212322
21321242643),,(x x x x x x x x x x x x f 的极值和取得极值的点。
②有约束最优化问题数学模型
由某实际问题设立变量,建立一个目标函数和若干个约束条件(等式或不等式),这样的求函数极值或最大值最小值问题,我们称为有约束最优化问题。
其数学模型为: ),,,(min 21n x x x f ——目标函数
m i x x x g n i ,,2,10
),,,(21 ——约束条件
有约束最优化问题的例子:求函数n x x x x x x f 31321),,( 在约束条件条件
n i x x x x i n ,,2,1,0,
200831 下的最大值和取得最大值的点。
③线性规划问题数学模型
由某实际问题设立变量,建立一个目标函数和若干个约束条件,目标函数
和约束条件都是变量的线性函数,而且变量是非负的,这样的求函数最大值最小值问题,我们称为线性最优化问题,简称为线性规划问题。
其标准数学模型为:
n n n x c x c x c x x x f 221121),,,(m in ——目标函数
,,2,12211 i i
n im i i x m
i b x a x a x a ——约束条件
矩阵形式: X C X f T )(m in ——目标函数
X B
AX ——约束条件
其中 T n x x x X ),,,(21 ,T n c c c C ),,,(21 ,T m b b b B ),,,(21
在线性规划问题中,关于约束条件我们必须注意以下几个问题。
注1:非负约束条件),,2,1(0n i x i ,一般来说这是实际问题要求的需要。
如果约束条件为i i d x ,我们作变量替换0 i i i d x z ;如果约束条件为i i d x ,我们作变量替换0 i i i x d z 。
注2:在线性规划的标准数学模型中,约束条件为等式。
如果约束条件不是等式,我们引入松驰变量,化不等式约束条件为等式约束条件。
情况1:若约束条件为i n im i i b x a x a x a 2211,引入松驰变量 原约束条件变为 i i n im i i b z x a x a x a 2211。
情况2:若约束条件为i n im i i b x a x a x a 2211,引入松驰变量 原约束条件变为 i i n im i i b z x a x a x a 2211
在其它最优化问题中,我们也常常采取上述方法化不等式约束条件为等式约束条件。
实际问题中,我们经常遇到两类特殊的线性规划问题。
一类是:所求变量要求是非负整数,称为整数规划问题;另一类是所求变量要求只取0或1,称为0-1规划问题。
例如:整数规划问题
且为整数
0,028*******.3..21
212x x x x x t s 。
又例如:0-1规划问题 321523m ax x x x z
10,,6
434422..32132213
21321或x x x x x x x x x x x x x t s 。
④非线性规划问题数学模型 由某实际问题设立变量,建立一个目标函数和若干个约束条件,如果目标函数或约束条件表达式中有变量的非线性函数,那么,这样的求函数最大值最小值问题,我们称为非线性规划最优化问题,简称为非线性规划问题。
其数学模型为:
),,,(min 21n x x x f ——目标函数 m i x x x g n i ,,2,10
),,,(21 ——约束条件
其中目标函数或约束条件中有变量的非线性函数。
例如:非线性规划问题 y x y x f 2)1(),(m in
0),(0
2),(2
1y y x g y x y x g 。
上述最优化问题中,目标函数是非线性函数,故称为非线性规划问题。
前面介绍的四种最优化数学模型都只有一个目标函数,称为单目标最优化问题,简称为最优化问题。
⑤多目标最优化问题数学模型
由某实际问题设立变量,建立两个或多个目标函数和若干个约束条件,且目标函数或约束条件是变量的函数,这样的求函数最大值最小值问题,我们称为多目标最优化问题。
其数学模型为: s i x x x f n i ,,2,1),,,(m in 21 ——目标函数 m i x x x g n i ,,2,10
),,,(21 ——约束条件
上述模型中有s 个目标函数,m 个等式约束条件。
例如:“生产商如何使得产值最大而且消耗资源最少问题”“投资商如何使得投资收益最大而且风险最小问题”等都是多目标最优化问题。
§2 经典最优化方法
经典最优化方法包括无约束条件极值问题和等式约束条件极值问题两种,不等式约束条件极值问题可以化为等式约束条件极值问题。
经典的极值理论:首先,根据可微函数取极值的必要条件确定可能极值点;其次,根据函数取极值的充分条件判断是否取极值?是极大值?还是极小值?这种方法已经几百年的历史了。
2.1 无约束条件极值
设n 元函数),,,()(21n x x x f X f ,求)(X f 的极值和取得极值的点。
这是一个无约束条件极值问题,经典的极值理论如下。
定理1(极值必要条件):设n 元函数),,,()(21n x x x f X f 具有偏导数,则)(X f 在*X X 处取得极值的必要条件为:
n i x f
X
X i ,,2,10|* 。
定理在此不给出证明,读者可自己参看有关资料。
注1:对于一元函数上述定理当然成立,只是偏导数应为导数;
注2:定理只是在偏导数存在的前提下的必要条件。
如果函数在某一点偏导数不存在,那在这一点处仍然可能取得极值; 注3:如果函数在某一点偏导数存在,且偏导数都等于零,那么函数在这一点处也不一定取得极值。
例如,函数232),(y x y x f 在点)0,0(处偏导数不存在,但在这一点处函数仍然取得极小值零。
函数53),(y x y x f 在点)0,0(处偏导数存在,且偏导数都等于零,但在这一点处函数不取极值。
定理1的作用在于,求出函数的可能极值点,然后,我们再研究这些点是否取得极值。
对于许多实际问题来说,函数一定能够取得极大值或极小值,而函数的可能极值点(满足必要条件的点)又只有一点,则这一点当然是函数取得极大值或极小值的点。
对于一般函数而言,我们怎样判定函数在某点是否取极值?是极大值?还是极小值?我们有下面的极值的充分条件定理。
定理2(极值充分条件):设n 元函数),,,()(21n x x x f X f 具有二阶偏导数,则)(X f 在*X X 处取得极值的充分条件为: (1)
n i x f
X
X i ,,3,20|* ;
(2)黑塞矩阵
222
21
22222212212212212n
x n n n x f x x f x x f x x f x f x
x f
x x f x x f x f
在*X X 处正定或负定; (3)黑塞矩阵在*X X 处正定时,函数取极小值;负定时,函数取极大值。
本章内容简要讲解理论,注重实际应用,对于许多经典的定理都不进行证明,读者可自己参看有关资料。
例1:求函数32212322
2132122462),,(x x x x x x x x x x f 的极值。
解:(1)根据极值存在的必要条件,确定可能取得极值的点:
21124x x x f ,31222212x x x x f ,233
28x x x f
令
03
21 x f
x f x f ,解得 )0,0,0(),,(321 x x x 。
(2) 根据极值存在的充分条件,确定)0,0,0(),,(321 x x x 是否是极值点:
计算 4212 x f ,12222 x f ,8232 x f
;
2212 x x f ,0312 x x f ,23
22 x x f ;
函数的黑塞矩阵为
8202122024
)0,0,0(2f
因为 04 ,
04412
2
24 ,03208
2
2122
24
; 所以黑塞矩阵负定,
故函数在)0,0,0(),,(321 x x x 处取得极大值0)0,0,0( f 。
2.2 等式约束条件极值
下面我们研究的是有若干个等式约束条件下,一个目标函数的极值问题,其数学模型为: ),,,(min 21n x x x f ——目标函数 m i x x x g t s n i ,,2,10
),,,(.
.21 ——约束条件
拉格朗日(Lagrange)乘数法:
(1)令 ),,,(),,,(21121n i m
i i n x x x g x x x f L
称为上述问题的拉格朗日乘数函数,称i 为拉格朗日乘数。
(2)设),,,(21n x x x f 和),,,(21n i x x x g 均可微,则得到方程组
(3)若),,,,,,,(2121m n x x x 是上述方程组的解,则点),,,(21n x x x 可能为该问题的最优点。
拉格朗日(Lagrange)乘数法的本质是:将求有约束条件极值问题转化为求无条件极值问题;所求得的点,即是取得极值的必要条件点。
拉格朗日乘数法没有解决极值的存在性问题,但是,如果拉格朗日乘数函数具有二阶连续偏导数,我们也可以应用黑塞矩阵来判定函数是否取得极值。
在具体问题中,点),,,(21n x x x 是否为最优点通常可由问题的实际意义决定。
例2:求表面积为定值2a ,而体积为最大的长方体的体积。
解:设长方体的三棱长为z y x ,,,体积为V ; 建立数学模型如下: xyz V max
构造拉格朗日乘数函数)222(),,(2a xz yz xy xyz z y x L ,则有
解得 a z y x 66
,336
6max a V 为所求。
2.3 不等式约束条件极值
对于不等式约束条件极值问题:
),,,(min 21n x x x f ——目标函数 m i x x x g t s n i ,,2,10
),,,(.
.21 ——约束条件
我们有与拉格朗日乘数法密切相关的方法库恩—图克定理。
定理3(库恩—图克定理):对于上述不等式约束条件极值问题,设),,,(21n x x x f 和),,,(21n i x x x g 均可微,令 ),,,(),,,(21121n i m
i i n x x x g x x x f L
假设i 存在,则在最优点*X X ),,,(21n x x x 处,必满足下述条件:
(1) m
i j
i i j j n j x g x f
x L 1,,2,10
;
(2)m i x x x g n i ,,2,10),,,(21 ; (3)m i x x x g n i i ,,2,10),,,(21 ;
(4)0 i 。
根据库恩—图克定理我们可以求解许多不等式约束条件极值问题,值得注意的是应用库恩—图克定理求解不等式约束条件极值问题,定理并没有解决最优解的存在性问题,因此,我们必须另行判断。
例3:求解最优化问题(最优解存在)
解:构造函数 )()2()1(),,(212y y x y x z y x L ,
根据库恩—图克定理则有 0
,000)2(0
10)1(22121211 y y x y L x x L
解得: 1,0,0,121 y x ;所求最优解为)0,1(),( y x ,最优值为0。
§3 线性规划
3.1 线性规划
设线性规划标准数学模型为:
n n n x c x c x c x x x f 221121),,,(m in ——目标函数
n
i x m
i b x a x a x a t s i i
n im i i ,,2,10
,,2,1..221
1 ——约束条件
矩阵形式: X C X f T )(m in ——目标函数
X B
AX ——约束条件
其中 T n x x x X ),,,(21 ,T n c c c C ),,,(21 ,T m b b b B ),,,(21
线性规划问题的求解有一整套理论体系,一般来说,应用单纯形法求解。
此方法尽管比较复杂,然而在计算机上实现并不困难。
解线性规划问题的单纯形法已在许多数学计算软件中实现,我们求解线性规划问题可根据需要,应用数学计算软件求解即可。
在此,我们不系统研究其理论,只是简单介绍线性规划的穷举法和单纯形法的基本思想。
3.2 线性规划的穷举法
(1)穷举法基本原理和步骤
步骤1:将线性规划问题化成矩阵的标准形式,设系数矩阵的秩m A R )(,则对应线性方程组的基础解系自由变量的个数为m n 个。
步骤2:穷举法求解:令0)(21 m n i i i x x x ,解得对应线性方程组一组解为 ),,,(21n x x x ;对应目标函数值为i n f x x x f ),,,(21 。
从n 个变量x 中选m n 个作为自由变量,令它们的值为0,可得到m n n m n C C 组解。
步骤3:确定最优解:如果最优解存在,则上述求解得到的对应m
n n m n C C 个目标函数值中,最小
者(或最大者)即为所求最小(或最大)最优值,对应的解为最优解。
步骤4:证明解为最优解:
①将最优解对应的自由变量看成参数)(21,,,m n t t t ;解对应线性方程组得
n i t b t b t b b x m n m n i i i i i ,,2,1,
)()(22110 。
②将对应线性方程组解n i t b t b t b b x m n m n i i i i i ,,2,1,)()(22110
代入目标函数得:)()(22110m n m n t d t d t d f f 。
如果n i d i ,,2,1,0 ,则所求为最小值最优解;否则,线性规划问题无最小值最优解。
如果n i d i ,,2,1,0 ,则所求为最大值最优解;否则,线性规划问题无最大值最优解。
例1:目标函数:32132)(m ax x x x X f 解:约束条件的增广矩阵为:
100100102100101A ,3)( A R ;
令021 x x ,解得5)(),4,10,5,0,0( X f X ; 令031 x x ,无解;
令041 x x ,解得)1,0,5,5,0( X ,不满足非负条件,舍去; 令051 x x ,解得17)(),0,2,5,4,0( X f X ; 令032 x x ,解得10)(),4,5,0,0,5( X f X ;
令042 x x ,解得)4,0,5,0,10( X ,不满足非负条件,舍去; 令052 x x ,无解;
令043 x x ,解得2
35
)(),23,0,0,25,5( X f X ;
令053 x x ,解得)0,3,0,4,5( X ,不满足非负条件,舍去; 令054 x x ,解得19)(),0,0,3,4,2( X f X ; 所以19)(max X f ,最优解为)0,0,3,4,2( X 。
证明:令s x t x 54,解得
5
,,1,02342232
1 i x s t x s x s
t x i 目标函数s t X f 19)(;
因为s x t x 54,非负,所以19)(max X f ,故最优解存在。
(2)单纯形法基本原理和步骤
①将线性规划问题化成矩阵的标准形式,设系数矩阵的秩m A R )(,则对应线性方程组的基础解系的个数为m n 个,即有m n 个自由参数变量。
②选取m n 个非基变量(自由参数变量),不妨假设为n m j x j ,,1, ; 解得线性规划问题的典式
定理1:如果线性规划问题的上述典式中所有n m j j ,,1,0 ;
则)0,,0,,,,(21 m X 为最优解。
定理2:如果线性规划问题的上述典式中存在某个0 k m ,且对应
m i k m i ,,2,1,0)( ;则线性规划问题无最优解。
由定理1和定理2知,如果我们选择适当的m n 个非基变量,就可以根据所求得的典式判断
最优解的存在与否,从而求解该线性规划问题。
单纯形法的思想是:选择适当的基变换(进基和退基),不断地变换典式,使得典式中目标函数值不断下降,从而求得最优解。
其核心为如何选择进基和退基。
③进基规则和退基规则
进基规则——正检验数最小下标规则,即选取}0|min{ j j s ,由此确定s x 为进基。
退基规则:选取这样的下标r J (i J 表示第i 个基变量的下标) 由此确定r J x 离基。
④单纯形法的基本步骤:
步骤1:化线性规划问题为标准形式。
步骤2:确定基变量,求得基本可行解和典式;
是否满足最优解定理或最优解不存在定理的条件?判断最优解的情况。
步骤3:根据进基规则和退基规则,选择进基和退基,进行基变换,求得对应典
式。
重复进行基变换,直到求出最优解或判断出无最优解为止。
例2:解线性规划问题 解:(1)约束条件的增广矩阵为:
100260101100111A ,3)( A R ;
所以非基变量个数为两个。
(2)选取21,x x 作为非基变量,543,,x x x 作为基变量,解得典式为 不满足最优解定理和最优解不存在定理的条件,故必须进行基变换。
(3)进行基变换
选取进基: 01,0221 ,
根据}0|min{ j j s 得1x 为进基。
选取退基:6
21
}621,15min{ ,
根据}0|min{
is is i ,}0,|min{ is is
i i r J J
得5x 为离基。
进行基变换,求新基的典式:
判断:不满足最优解定理和最优解不存在定理的条件,故继续进行基变换。
(4)继续进行基变换
选取进基: 03
1
2 ,根据}0|min{ j j s 得2x 为进基。
选取退基:4
9
}221,821,49min{ ,
根据}0|min{
is is i ,}0,|min{ is is
i i r J J
得3x 为离基。
进行基变换,求新基的典式:
满足最优解定理的条件,根据定理最优解为
4
31
min ),0,21,0,49,411( f X 。
3.2 整数规划
设纯整数线性规划数学模型为:
n n n x c x c x c x x x f 221121),,,(m in ——目标函数
n
i x x m
i b x a x a x a t s i i i
n im i i ,,2,1,0,,2,1..221
1 为整数
——约束条件
这一类问题与一般线性规划比较起来,似乎是变简单了,但实际上恰恰相反,由于解集是一些离散的整数点集,使得单纯形法失去了应用的基础,求解变得困难而复杂。
整数线性规划目前还缺乏统一的解法,这里只介绍分枝定界法,它是目前求解纯整数线性规划和混合整数线性规划最常用的方法,计算机求解整数线性规划的大多数程序也是以它为基础的。
分枝定界法:考虑上述纯整数线性规划问题, (1)解对应线性规划问题 n n n x c x c x c x x x f 221121),,,(m in ——目标函数
n
i x m
i b x a x a x a t s i i
n im i i ,,2,10
,,2,1..2211 ——约束条件
若无最优解,则原纯整数线性规划问题无最优解;
若有最优解,最优点),,,(21n x x x ,目标函数最优值),,,(210n x x x f z 。
若最优点),,,(21n x x x 全为整数,则为原纯整数线性规划问题的最优解; 若最优点),,,(21n x x x 不全为整数,则进行下一步。
(2)定界和分枝
定界:00210),,,(m in m z x x x f M n
其中0M 取原纯整数线性规划问题中,满足约束条件的某一整数可行解所对应的目标函数值。
原纯整数线性规划问题的最优解必须满足定界条件。
分枝:选取),,,(21n x x x 中一个不为整数所对应的k x 分枝,
1R 和2R 称为对应线性规划问题的两枝,也是两个新线性规划问题的约束条件。
显然,原纯整
数线性规划问题的最优解满足1R 或2R 。
(3)对1R 和2R 进行剪枝和分枝
解1R 对应的线性规划问题,对其进行剪枝和分枝:
若无最优解,则原纯整数线性规划问题在1R 内无最优解。
不需要对该区域继续讨论——剪枝。
若有最优解,最优点),,,(21n x x x ,目标函数的最优值),,,(211n x x x f z 。
若0211),,,(M x x x f z n ,则原纯整数线性规划问题在1R 内无最优解。
不需要对该区域继续讨论——剪枝。
若最优点),,,(21n x x x 全为整数,则可能为原纯整数线性规划问题的最优解,定界:记
0211),,,(M x x x f M n ,则0211),,,(m in m x x x f M n ,本分枝求解结束。
若最优点),,,(21n x x x 不全为整数,对1R 继续进行分枝。
完全类似,解2R 对应线性规划问题,对其进行剪枝和分枝。
依此类推,对所有分枝进行求解,剪枝,分枝,定界;直至求得最优解。
(4)最优解的确定
若某0m M k ,则为最优解,求解结束。
若所有分枝求解结束,则最后的上界k M 即为最优解。
例3:应用分枝定界法,求解整数线性规划问题
解:设原整数线性规划问题目标函数的最优值为*z ,
(1)求解线性规划问题:213m in x x z 得最优解为 13.3,
12.821 x x ;51.17min z 。
记约束区域
,028*******.321212x x x x x 为R 。
(2)对R 进行分枝:选取最优解中不是整数的变量,例如1x ,将R 分成两个子区域21,R R 。
0,028*******.39:2121211x x x x x x R ,
,028*******.38:2121212x x x x x x R (3)定界:确定最优值*z 的上下界。
由(1)中求得的最优值知51.17* z ;而*z 的上界可由R 内的任意一个可行解确定,例如,4,721 x x 即为一个可行解。
故19* z 。
从而,19*51.17 z 。
(4)在1R 内求最优解,得 13.3,921 x x ;39.18min z 。
(5)在2R 内求最优解,得 21.3,
821 x x ;62.17min z 。
(6)因为1R 内最优解不全是整数,因而必须继续对1R 分枝: (7)显然12R 内无解,剪枝。
在11R 内求最优解,得 4,
921 x x ;21min z ;为整数可行解。
但因19*51.17 z ,而1921 ,故剪枝。
(8)因为2R 内最优解不全是整数,因而必须继续对2R 分枝: (9)显然22R 内无解,剪枝。
在21R 内求最优解,得 4,
77.621 x x ;77.18min z 。
(10)因为21R 内最优解不全是整数,因而必须继续对21R 分枝: (11)在212R 内求最优解,得 5.4,
621 x x ;5.19min z 。
因5.19min z 大于*z 的上界,故剪枝。
(12)在211R 内求最优解,得 4,
721 x x ;19min z 。
所求原整数规划问题的最优解为:4,
721 x x ;19min z 。
§4 最优化问题数值算法
最优化问题的数值算法很多,常用的算法多为搜索法,本节只介绍搜索法的基本思想、无约束最优化问题的最速下降法(梯度法)和有约束最优化问题的罚函数法。
4.1 搜索算法
考虑无约束最优化问题: ),,,(min 21n x x x f
我们已经讨论了这类问题的最优解条件,这必须用到函数的解析性质。
我们的方法是,先利用必要条件求出平稳点,再应用充分条件判断是否是极值点。
但是,我们必须求解一个n 个变量n 个方程的方程组,并且常常是非线性的。
这只有在特殊的情况下,才能求出它的精确解。
在一般情况下,都不能用解析法求得精确解。
更何况许多实际问题中,函数的解析表达式很难得到。
因此,我们必须寻求一些切合实际问题的行之有效的数值解法。
搜索算法就是我们常用的方法。
(1)搜索算法的基本思想:假定目标函数)(X f 极小值问题。
首先,确定目标函数)(X f 的初始点0X ;然后,按照一定规则产生一个点列}{k X ,这种规则称为算法;规则必须满足(1)点列}{k X 收敛;(2)点列}{k X 收敛到目标函数)(X f 的极小值点。
(2)搜索算法的基本步骤:
①选定初始点0X (越接近最优点越好),允许误差0 ,令0 k 。
②假定已得非最优点k X ,则选取一个搜索方向
k S ,满足: 目标函数)(X f 下降,或0)( •
k k S X gradf 。
③选定搜索步长0 k ,
k k k k S X X 1,满足:
)()()(1k k k k k X f S X f X f。
④判断1 k X 是否是最优点或是满足要求的近似解。
假定给定精度要求为0 ,常用确定求近似解搜索结束的方法有:
|)(|1k X gradf ——梯度模确定法;
|)()(|1k k X f X f ——目标函数差值绝对误差法; ||1k k X X ——相邻搜索点绝对误差法。
如果1 k X 满足给定精度要求,则搜索完成,近似最优点为1* k X X ; 如果1 k X 不满足给定精度要求,令1 k k 返回(2)继续搜索。
注意1:我们的搜索算法一般得到的都是局部最优解。
注意2:确定求近似解搜索结束的方法还有
|
)(||
)()(|1k k k X f X f X f ——目标函数差值相对误差法;
|
||
|1k k k X X X ——相邻搜索点相对误差法。
(3)搜索算法的关键因素:从搜索算法的基本步骤中,我们知道,搜索算法的关键因素为:一是搜索方向,二是搜索步长。
搜索方向的选择,一般考虑既要使它尽可能的指向极小值点,又要不至于花费太多的计算量。
搜索步长的选择,既要确保目标函数的下降性质,又要考虑近似解的精度要求,还要考虑算法的计算量,问题十分复杂。
常用方法有,固定步长法,最优步长法和变步长法。
固定步长法(简单算法)是选取0 k 为固定值。
方法简单,但是有时不能保证目标函数的下降性质。
最优步长法(一维搜索算法)是选取k 使得,
这是一个关于单变量 的函数求极小值问题,这样确定的步长称为最优步长。
变步长法(可接受点算法)是任意选取k ,只要使得)()(1k k X f X f 即可。
这种选取步长的方法,确保了目标函数的下降性质,尽管每次选取的步长不是最 优的,但实践证明,方法能达到更好的数值效果。
总之,当搜索方向确定以后,步长就是决定最优化算法好坏的重要因素,因此,我们必须特别注重步长的选取问题。
(4)搜索算法的收敛性:搜索算法的收敛性是指,由某算法得到的点列}{k X 能够在有限步骤内收敛到目标函数)(X f 的最优点或能够在有限步骤内达到满足精度要求的目标函数)(X f 的最优点的近似值。
显然,只有具有收敛性质的算法才有意义。
搜索算法的收敛速度:作为一个好的算法,还必须要求它以较快的速度收敛于最优解。
阶收敛定义:对于收敛于最优解*X 的序列}{k X ,若存在与k 无关的数 0和1 ,当k 从某个0k 开始时,有
|*||*|1X X X X k k 成立,
则称序列}{k X 收敛的阶为 ,或称 阶收敛。