1.置初始区间[a1,b]及精度要求L>0,计算试探点24,计 算函数值f()和f(4).计算公式是: 入=a1+0.382(b-a) 41=41+0.618(b-41) 令k=1· 2若bk-ak<L,则停止计算否则,当f(2)>f4)时,转步3; 当f(2)≤f(4)时,转步4. 3.置ak1=九k,bk+1=bk,人k+1=4k, 4k+1=ak+1+0.618(bk+1-ak+1)) 计算函数值f(4k+1),转步5
1.置初始区间 及精度要求 ,计算试探点 ,计 算函数值 .计算公式是: [ , ] a1 b1 L 0 1 和1 ( ) ( ) 1 1 f 和f 0.382( ) 1 = a1 + b1 − a1 0.618( ) 1 = a1 + b1 − a1 令 k =1 . 2.若 ,则停止计算.否则,当 时,转步3; 当 时,转步4. bk − ak L ( ) ( ) k k f f ( ) ( ) k k f f 3.置 , , , ak+1 = k bk+1 = bk k+1 = k 0.618( ) k+1 = ak+1 + bk+1 − ak+1 计算函数值 ,转步5. ( ) k+1 f
4.置ak+1=ak,bk+1=4k,4k+1=九k, 元k+1=ak+1+0.382(bk+1-ak+1) 计算函数值f(2+),转步5. 5.置k:=k+1,返回步2. 例9.2.1 用0.618法解下列问题: min f(x)=2x2-x-1 初始区间[a1,b]=[-1,1],精度L≤0.16 前面已经指出,0.618法使用于单峰函数.但是,在实际问题中, 目标函数在其定义域内不一定是单峰的,因此需要先确定单峰区 间,然后再使用0.618法的计算公式.在现有的0.618法的程序中,一 般具有这种功能
计算函数值 ,转步5. , , , 4.置 ak+1 = ak bk+1 = k k+1 = k 0.382( ) k+1 = ak+1 + bk+1 − ak+1 ( ) k+1 f 5.置 k := k +1 ,返回步2. 例9.2.1 用0.618法解下列问题: min ( ) 2 1 2 = − − f x x x 初始区间 [a1 ,b1 ] =[−1,1] ,精度 L 0.16 前面已经指出,0.618法使用于单峰函数.但是,在实际问题中, 目标函数在其定义域内不一定是单峰的,因此需要先确定单峰区 间,然后再使用0.618法的计算公式.在现有的0.618法的程序中,一 般具有这种功能