Matlab最优化实现方法之一维非线性优化:fminbnd

前言

在实际建模过程中由于诸多因素的影响,其目标函数或约束条件很难用线性关系式表达,针对此类非线性问题的优化称为非线性规划问题,其基本定义为一个n元函数在一组等式或不等式的约束条件下的极值问题,且目标函数和约束条件至少有一个是未知量的非线性函数。而其中寻求一元函数在某区间上的极点的优化方法,称为一维优化问题。

一维最优化方法

在将实际的物理问题抽象为数学模型时,一般按以下步骤来分析:

1)确定自变量;

2)确定优化目标;

3)确定约束条件;

4)确定自变量范围;

而非线性规划问题的一般形式可以表示为:

minf\left ( x \right ),x \in E^{n} \\ s.t.\left \{ \begin{matrix}h_{i} \left (x \right )=0 \left ( i=1,2,3,... \right ) \\ g_{j}\left ( x \right )\leqslant 0\left ( j=1,2,3,... \right ) \end{matrix} \right \}

其中,x=[x_{1},x_{2},x_{3},...,x_{n}]^{T}称为模型的决策变量,f称为目标函数,h_{i}(i=1,2,3,...,m)g_{j}(j=1,2,3,...,l)称为约束函数,前者为等式约束,后者为不等式约束。

常见的一维最优化方法主要有黄金分割法、切线法、插值法等,其基本遵循一个思想:

从某一个出水点x^{(0)}出发,沿某个适当选择的方向p^{(0)}(通常为目标函数的下降方法)进行搜索,得到目标值较小的点x^{(1)};再从x^{(1)}出发,沿选择的方向p^{(1)}进行搜索,得到比目标函数更小的点x^{(2)}

而如何确定目标函数下一次的寻优方向,我们以p^{(k+1)}=\lambda _{k}p^{(k)} ;x^{(k+1)}=x^{(k)}+p^{(k+1)}来表示。而针对一维最优化问题,实质上转化成求解步长因子\lambda _{k}的极值问题。

而针对一维搜索问题的基本步骤,常见如下&#x

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值