《高级运筹学》无约束非线性规划
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x x d (k1)
(k)
(k)
k
当方向d (k)给定,求最佳步长k, 就是求一元函数
() f (x(k) d (k) )
的极小点问题。 这一过程称为一维搜索。
二、一维搜索的方法:
1. 精确线搜索,即解方程: d() 0 d
2. 试探法;按照某种方式找试探点,通过一系列试探 点的比较确定极小点。 3. 函数逼近法:用较简单的曲线近似代替原来的曲线, 用近似曲线的极小点来估计原曲线的极小点。
(a)如f 1 > f 2, 向右前进;加大步长 h =2 h ,转step3 向前探测
(b)如f 1 < f 2, 向左后退;h=- h,转(3)向后探测, (c)如f 1 = f 2 ,极小点在[a1 a1 + h ]之间。
Step3. 产生新的探测点 a3=a1+h,f3=f(a3); Step4. 比较函数值 f2与f3:
f (x(k ) k d (k ) ) f (x(k ) )
从而确定下一个点 x(k 1) x(k ) k d (k )
(4) 检验新得到的点x (k+1)是否为最优或近似最优,若是则 停止迭代,否则继续迭代。检验方法:
|| f (x(k1) ) ||
第二节:一维搜索
一、一维搜索的定义
在求解无约束非线性规划的算法中,要进行一系列如下格式 的迭代计算:
研究生《高级运筹学》课件
无约束非线性规划
2015年5月
本章内容
第一节:最优性条件 第二节:一维搜索 第三节:最速下降法和共轭梯度法 第四节:牛顿法和拟牛顿法
第一节: 最优性条件
本章仅讨论如下无约束非线性规划问题: min f (x)
xRn
假定f(x)具有二阶连续偏导数。
一、 无约束极小化问题的最优性条件
计算函数值, f1=f(a1), f2=f(b1)有下列三种情况:
f(b1) f(a1)
f(a1) f(b1)
f(a1)
f(b1)
a a1
b1
b
a a1
b1 b
a a1
b1 b
综合为两种情况:
①若f(a1)<f(b1), 则取 [a,b1]为缩短后的搜索区间。
②若f(a1)f(b1), 则取 [a1,b]为缩短后的搜索区间。
四、 黄金分割法 (0.618法)
黄金分割律是公元前六世纪,希腊的大数学家毕达哥拉斯发现 的:如果把一条线段分成两部分,长段和短段的长度之比是 1:0.618,整条线段和长段的比也是1:0.618时,才是和黄金 一样最完美的分割,进行分割的这个点就叫黄金分割点
黄金分割法适用于[a,b]区间上的任何单谷函数求极小值问 题。对函数除要求“单谷”外不作其他要求,甚至可以不连续。 因此,这种方法的适应面相当广.
黄金分割法也是建立在区间消去法原理基础上的试探方法。 在搜索区间[a,b]内适当插入两点1,2,将区间分成三段; 利用区间消去法,使搜索区间缩小,通过迭代计算,使搜索 区间无限缩小,从而得到极小点的数值近似解
1 2 将区间分成三段
2 1 5 1 0.618
2 黄金分割法还要求在保留下来的区间内再插入一点所形成 的区间新三段,与原来区间的三段具有相同的比例分布
(2) 算法具有收敛性。 即:序列中的某一点,或序列的极限点是函数的极小点。
3. 迭代法的基本步骤:
(1) 选择初始点x (0) ;
(2) 如已得到的迭代点x (k)不是最优解,确定从x (k)点出发 的搜索方向d (k),使f(x)沿d (k)方向可以找到x (k+1),目标函 数有所下降。
(3)在射线x (k) +d (k) (0) 上选取步长k, 使
三、一维搜索的基本思想:
1.单谷(峰)区间 在给定区间内仅有一个谷值(极大或极小)的函数称为单
谷函数,其区间称为单谷区间
函数值:大—小—大
f(x)
图形:高—低—高 单谷区间中一定有极小点
源自文库
a
x*
b
x
2. 一维搜索的基本思想 (1)确定初始单谷区间 (2)根据区间消去法原理逐步缩小此区间 (3)根据迭代精度要求确定最优解的近似值
f (x(0) ) 0
利用局部极小点的一阶必要条件,求多元函数极值问题往
往化成求解
f (x) 0
即 的问题
f (x)
x1
0
f (x)
x2
0
M
f (x) xn
0
该方程组很难求解, 一般不采用此法。
二、迭代法
求解无约束非线性规划问题常用数值解法中的迭代法
1. 迭代法的基本思想:
给定f(x)的极小点位置的一个初始估计x (0),依次计算产生 一系列点x (k) (1,2,…,), 希望点列x (k)的极限x* 就是f(x)的一 个极小点。
(a)如f2<f3, 则初始区间得到; h>0时,[a,b]=[a1,a3]; h<0时,[a,b]=[a3,a1];
(b)如f2>f3, 加大步长 h=2 h ,a1=a2, a2=a3,转step3 继 续探测
(2) 消去法的基本原理
单谷区间确定后,假定在区间内任取两点a1,b1;且 a1 <b1。
现有多元函数 f(x1,x2,…,xn), 若点 x (0) = (x10, x20,…, xn0)T 存
在一邻域(x(0)), 使对任意x (x(0)),均有f (x(0)) f(x), 则称
x (0)是 f(x) 的局部极小点。
无约束极小化问题的最优解必是f(x)的局部极小点。
局部极小点的一阶必要条件:设函数f(x)在点x处可微,且x (0) 为局部极小点,则必有
bk ak ,
x*
1 2
(ak
bk
)
(1) 确定初始单谷区间的进退法
基本思想: 对f(x)任选一个初始点a1及初始步长h,通过比较这
两点函数值的大小,确定第三点位置,比较这三点的函 数值大小,确定是否为 “高—低—高” 形态
计算步骤 Step1.选定初始点a1,初始步长h,计算
f 1=f (a1), f 2=f (a1 + h) Step2. 比较f 1和f 2。
计算公式:
x(k 1) x(k ) k d (k )
其中:
d k : 搜索方向
k : 步长
不同算法的区别在于得出搜索方向和步长的方式不同。
2. 选择搜索方向和步长的原则: (1) 目标函数值逐次减小,这种算法称为下降算法。
f (x(0) ) f (x(1) ) L f (x(k) ) L