8无约束最优化的直接法

  • 格式:doc
  • 大小:443.00 KB
  • 文档页数:8

第八章 无约束最优化的直接法本章主要内容:坐标轮换法及其收敛性 模式搜索法及其收敛性 旋转方向法、Powell 法。

教学目的及要求:掌握坐标轮换法并理解其收敛性,掌握模式搜索法并理解其收敛性;了解旋转方向法、Powell 法。

教学重点:Powell 法. 教学难点:Powell 法. 教学方法:启发式.教学手段:多媒体演示、演讲与板书相结合. 教学时间:6学时. 教学内容:§8.1 坐标轮换法考虑无约束最优化问题min ()f x , (8.1.1) 其中,:n n x R f R R ∈→.算法8-1(坐标轮换法)Step1 选取初始数据.选取初始点0x ,给定允许误差0ε>,令1k =.Step2 进行一维搜索.从1k x -出发,沿坐标轴方向010k e ⎛⎫⎪ ⎪⎪= ⎪ ⎪ ⎪⎝⎭进行一维搜索,求1k λ-和k x ,使得111()min ()k k k k k f x e f x e λλλ---+=+,11k k k k x x e λ--=+.Step3 检查迭代次数.若k n =,转Step4;否则,令:1k k =+,返回Step2. Step4 检查是否满足终止准则.若0n x x ε-<,迭代终止,得n x 为问题(8.1.1)的近似最优解;否则,令0:,:1n x x k ==,返回Step2.定理8.1.2 设:n f R R →具有一阶连续偏导数,0n x R ∈,记0()f x α=,且水平集(,)S f α有界.若{}k x 是用坐标轮换法求解问题(8.1.1)产生的点列,且在每次一维搜索中所得到的最优解都是唯一的,则(1)当{}k x 为有穷点列时,其最后一个点是f 的平稳点;(2)当{}k x 为无穷点列时,它必有极限点,并且其任一极限点都是f 的平稳点.例1 用坐标轮换法求解问题2212112min ()3f x x x x x x =+--, (8.1.3) 其中12(,)T x x x =.取初始点(0)(0,0)T x =,允许误差0.1ε=.解 从点(0)x 出发沿1e 进行一维搜索:(0)101000x e λλλ⎛⎫⎛⎫⎛⎫+=+= ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭,将12,0x x λ==代入2212112()3f x x x x x x =+--中,易得(1)(0)00133,(,0)22T x x e λλ==+=;从点(1)x 出发沿2e 进行一维搜索,得(2)(1)112333,(,)424T x x e λλ==+=;(2)(0)x x ε->.再从点(2)x 出发沿1e 进行一维搜索,得(3)(2)2213153,(,)884Tx x e λλ==+=; 从点(3)x 出发沿2e 进行一维搜索,得(4)(3)33231515,(,)4816Tx x e λλ==+=; (4)(2)x x ε->.再从点(4)x 出发沿1e 进行一维搜索,得(5)(4)44136315,(,)323216T x x e λλ==+=;从点(5)x 出发沿2e 进行一维搜索,得(6)(5)55236363,(,)643264T x x e λλ==+=; (6)(4)x x ε->.再从点(6)x 出发沿1e 进行一维搜索,得(7)(6)661325563,(,)12812864Tx x e λλ==+=; 从点(7)x 出发沿2e 进行一维搜索,得(8)(7)7723255255,(,)256128256Tx x e λλ==+=; (8)(6)x x ε-<.迭代终止,得问题(8.1.3)的近似最优解为(8)255255(,)128256Tx =. 其实问题(8.1.3)的最优解为(2,1)T .§8.2 模式搜索法算法8-2(模式搜索法)Step1 选取初始数据.选取初始点0x ,初始步长00δ>,给定收缩因子(0,1)α∈,给定允许误差0ε>,令0k =.Step2 确定参考点.令,1k y x j ==.Step3 进行正轴向探测.从点y 出发,沿j e 作正轴向探测:若()()k j f y e f y δ+<,令:k j y y e δ=+,转Step5;否则,转Step4.Step4 进行负轴向探测.从点y 出发,沿j e 作负轴向探测:若()()k j f y e f y δ-<,令:k j y y e δ=-,转Step5;否则,转Step5.Step5 检验探测次数.若j n <,令:1j j =+,返回Step3;否则,令1k x y +=,转Step6.Step6 进行模式移动.若1()()k k f x f x +<,从点1k x +出发沿加速方向1k kx x +-作模式移动,令112,,:1,1k k k k y x x k k j δδ++=-==+=,返回Step3;否则,转Step7.Step7 检查是否满足终止准则.若k δε<,迭代终止,得问题(8.1.1)的近似最优解为k x ;否则,转Step8.Step8 缩短步长.若1k k x x +=,令1,:1k k k k δαδ+==+,返回Step2;否则,令11,,:1k k k k x x k k δδ++===+,返回Step2.定理8.2.1 设:n f R R →是具有一阶连续偏导数的凸函数,0n x R ∈,记0()f x α=,并且水平集(,)S f α有界.若{}k x 为由模式搜索法求解问题(8.1.1)产生的点列,则{}k x 必存在极限,且其任一极限点都是问题(8.1.1)的最优解.§8.3 旋转方向法算法8-3(旋转方向法)Step1 选取初始数据.选取初始点0x ,初始单位正交方向组12,,,n d d d (可取12,,,n d d d 为坐标轴方向12,,,n e e e ).给定初始步长(0)(0)(0)(0)12(,,,)Tn δδδδ= ,收缩因子(0,1)α∈,放大因子1β>,允许误差0ε>,令0k =.Step2 确定参考点.取参考点k y x =,并令,1k z x j ==.Step3 进行轴向探测.若()()()k j j f y d f y δ+<,令()()(:,:k k k jj jj y y d δδβδ=+=,转Step4;否则,令()():k k j j δαδ=-,转Step4.Step4 检验探测次数.若j n <,令:1j j =+,返回Step3;否则,转Step5.Step5 判断探测是否结束.若()()f y f z <,令,1z y j ==,返回Step3;若()(),()()k f y f z f y f x =<,令1k x y +=,转Step6;若()()()k f y f z f x ==,转Step7. Step6 检查是否满足终止准则.若1k k x x ε+-<,迭代终止,1k x +为问题(8.1.1)的近似最优解;否则,转Step8.Step7 检验步长大小.若对一切()1,2,,,k j j n δε=< ,迭代终止,k x 为问题(8.1.1)的近似最优解;否则,令,1z y j ==,返回Step3.Step8 进行轴向旋转.计算各轴向移动的步长的代数和:12,,,n λλλ ,利用,0,,0.j j n j i i j i jd p d λλλ==⎧⎪=⎨≠⎪⎩∑ (8.3.1)11,1,, 2.j T j j i j j j jT i i i p j q q p p d j q p λ-==⎧⎪=⎨-≥⎪⎩∑ (8.3.2) ,1,2,,j j jq d j n q == . (8.3.1)构造新的单位正交方向12,,,n d d d ,并令(1)(),,1,2,,,:1k k j j j j d d j n k k δδ+====+ ,返回Step2.§8.4 Powell 法算法8-4(Powell 法)Step1 选取初始数据.选取初始点0x ,n 个线性无关的初始搜索方向011,,,n d d d - ,给定允许误差0ε>,令0k =.Step2 进行基本搜索.令0k y x =,依次沿011,,,n d d d - 进行一维搜索.对一切1,2,,j n = ,记11111()min ()j j j j j f y d f y d λλλ-----+=+,111j j j j y y d λ---=+.Step3 检查是否满足终止准则.取加速方向0n n d y y =-,若n d ε<,迭代终止,得n y 为问题的近似最优解;否则,转Step4.Step4 确定搜索方向.按1101()()max {()()}m m j j j n f y f y f y f y ++≤≤--=- (8.4.17)确定m ,若001()2()(2)2[()()]n n m m f y f y f y y f y f y +-+-<- (8.4.18)成立,转Step5;否则,转Step6.Step5 调整搜索方向.从点n y 出发沿方向n d 作一维搜索.求出n λ,使得()min ()n n n n n f y d f y d λλλ+=+.令1k n n n x y d λ+=+,再令1:,,1,,1j j d d j m m n +==+- ,:1k k =+,返回Step2. Step6 不调整搜索方向.令1k n x y +=,:1k k =+,返回Step2.例2 用Powell 法求解问题(8.1.3):2212112min ()3f x x x x x x =+--,仍取初始点(0)(0,0)T x =,初始搜索方向组01(0,1),(1,0)T T d d ==,给定允许误差0.1ε=.解 第一次迭代:令(0)(0)(0,0)T y x ==,从点(0)y 出发沿0d 进行一维搜索,易得(1)(0)0000,(0,0)T y y d λλ==+=;接着从点(1)y 出发沿1d 进行一维搜索,得(2)(1)11133,(,0)22T y y d λλ==+=由此有加速方向(2)(0)23(,0)2T d y y =-=.因为23/2d ε=>,所以要确定调整方向.由于 (0)(1)(2)9()0,()0,()4f y f y f y ===-,按(8.4.17)式有(1)(2)()(1)()()max{()()|0,1}j j f y f y f y f y j +-=-=,因此1m =,并且()(1)(1)(2)9()()()()4m m f y f y f y f y +-=-=.又因(2)(0)(2)0f y y -=,故(8.4.18)式不成立.于是,不调整搜索方向组,并令(1)(2)3(,0)2T x y ==.第二次迭代:取(0)(1)3(,0)2T y x ==,从点(0)y 出发沿0d 作一维搜索,得(1)(0)000333,(,)424T y y d λλ==+=.接着从点(1)y 出发沿方向1d 作一维搜索,得(2)(1)1113153,(,)884Ty y d λλ==+=. 由此有加速方向(2)(0)233(,)84T d y y =-=.因为2d ε=>,所以要确定调整方向.因(0)(1)(2)945189(),(),()41664f y f y f y =-=-=-,故按(8.4.17)式易知0m =,并且()(1)(0)(1)9()()()()16m m f y f y f y f y +-=-=. 由于(2)(0)45(2)16f y y -=-, 因此(8.4.18)式成立。