非线性最优化方法

基本概念

最优化思想本质上就是求解一个可行的,甚至是最优的方案的决策问题。

可以被描述为:Min\{f(x)| x\in D\},其中x=(x_{1},x_{2}\cdots x_{n})^{T}代表一组决策变量,在R内取值。

        f(x) —— 最优化模型的目标函数

        D —— n维欧氏空间R^{n}的某个子集,通常由一组关于决策变量的等式或不等式刻画

                eg. Min~~~f(x)\\ ~~~s.t.~~~c_{i}(x)\geqslant 0~~~(i=1\dots m_{1})\\ ~~~~~~~~~~c_{i}(x)=0~~~(i=m_{1}+1\dots m)

                这其中的等式、不等式为约束条件,所有可行解构成的集合为该模型的可行域

分类1(决策变量的取值类型)

  1. 函数优化问题(决策变量变化连续)
  2. 组合优化问题(决策变量离散取值)
  3. 混合型

 分类2(问题中目标、约束条件函数形式或性质)

  1. 线性规划问题(最优化问题的目标、约束条件函数均为决策变量的线性函数)
  2. 非线性最优化问题
  3. 多目标规划问题(优化的目标是关于决策变量的一个函数组)

 最优化问题最优解的一阶必要条件


无约束最优化方法基本算法

一维搜索

0.618法(黄金分割法)

注意:仅适用于单峰函数f(x),x\in [\alpha ,\beta ](令\sigma =\frac{\sqrt 5-1}{2}

eg. 令f(x)=x^{2}

f[x_] := x^2;
jd = 10^(-4);
aa = -1;
bb = 100;
AA = f[aa];
BB = f[bb];
cc = aa + 0.382*(bb - aa);
dd = aa + 0.618*(bb - aa);
CC = f[cc];
DD = f[dd];

it = 0;    (*iterator*)
While[bb - aa > jd,
  {it = it + 1;
   If[CC < DD,
    {bb = dd; BB = DD; dd = cc; DD = CC; cc = aa + 0.382*(bb - aa); 
     CC = f[cc]},
    {aa = cc; AA = CC; cc = dd; CC = DD; dd = aa + 0.618*(bb - aa); 
     DD = f[dd]}
    ]
   }];
Print["Slu=", aa, "   Val=", AA, "   it=", it]

基本思想

        每一次迭代都只需要多计算一个点的函数值,而剩下的长度就变成了约为原先的2/3倍。

二分法

注意:假如要使用二分法判断极点,那么要先对原函数求导,再使用二分法判断导函数的零点。

基本思想

        当迭代的两端点之间的距离大于所需的精度时,反复判断其中点值的正负性,每次取一个端点等于中点值进行迭代。

牛顿法、抛物线法(使用二次多项式逼近)

基本思想(插值法)

        利用对一些点处目标函数的函数值、一阶或二阶导数值构造目标函数在一点局部或者在一定范围内的二次多项式逼近模型,以逼近模型的最优解作为求解原最优化问题的一个迭代点

一元函数二次多项式逼近模型的建立

  1. 牛顿法:利用函数在一点处函数值、一阶及二阶导数值
  2. 抛物线法:利用三个不同点的函数值
  3. 利用两个不同点的函数值以及它们中一点的一阶导数值
  4. 利用两个不同点的一阶导数值以及它们中一点的函数值

 牛顿法迭代公式

        x_{k+1}=x_{k}-\frac{f'(x_{k})}{f''(x_{k})}

抛物线法迭代公式

        x_{k}=\frac{1}{2} \cdot \frac{(x^{2}_{k-1}-x^{2}_{k-2}) \cdot f(x_{k-3}) + (x^{2}_{k-3}-x^{2}_{k-1}) \cdot f(x_{k-2}) + (x^{2}_{k-2}-x^{2}_{k-3}) \cdot f(x_{k-1})}{(x_{k-1}-x_{k-2}) \cdot f(x_{k-3}) + (x_{k-3}-x_{k-1}) \cdot f(x_{k-2}) + (x_{k-2}-x_{k-3}) \cdot f(x_{k-1})}


多元函数的无约束最优化方法

最速下降法

基本思想

        体现“一维搜索”在多元函数的最优化问题数值求解中的应用。

迭代公式X_{k+1}=X_{k}+\alpha _{k}\cdot d_{k}

        其中:

                X_{k}(k=1,2,3...)Min(f(x))的某算法的迭代点列

        ​​​​​​​        d_{k}=-\nabla f(X_{k})(k=1,2,3...)为在点X_{k}处的负梯度方向

                \alpha _{k}为步长因子,是最优化问题\mathop{Min}\limits_{\alpha >0}\varphi(\alpha)=f(X_{k}+\alpha\cdot d_{k})的近似解。(求解可采用一维搜索)

                

牛顿法

基本思想

        为一元函数最优化问题的牛顿法求解的推广,其每一步基本迭代均使用在当前迭代点处的二阶Talor展开式作为原目标函数的一个局部逼近模型进行求解。

迭代公式X_{k+1}=X_{k}-H^{-1}_{k}\cdot g_{k}

        其中:

                X_{k}(k=1,2,3...)Min(f(x))的某算法的迭代点列

                g_{k}=\nabla f(X_{k})(k=1,2,3...)为在点X_{k}处的梯度方向

                H_{k}=\nabla ^{2}f(X_{k})(k=1,2,3...)为目标函数在点X_{k}处的Hessian矩阵

                (当H_{k}正定时,X_{k+1}Min(f(X_{k})+g^{T}_{k}\cdot (X-X_{k})+\frac{1}{2}(X-X_{k})^{T}\cdot H_{k}\cdot (X-X_{k}))的解)

  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值