• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

最优化理论与算法------最速下降法(附Matlab实现):

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

写在最前:

在此只是简单在应用层面说明一下相关算法,严谨的数学知识,请大家参考最下面参考书目,后期有精力会进行细化,先占个坑。

基础知识:

通常所说的最速下降法均指欧氏度量意义下的最速下降法,最速下降法用于求解无约束的非线性规划问题,

求解的问题可以描述为:

\[\begin{array}{l} \begin{array}{*{20}{c}} {}&{} \end{array}\min \quad f(x)\\ \begin{array}{*{20}{c}} {}&{} \end{array}s.t.\quad \;x \in {R^n} \end{array} \]

其中函数\(f(x)\)具有一阶连续偏导数。

\(s.t.\)表示是subject to的缩写,即约束条件的意思。集合\(R^n\)表示的是\(n\)维欧式空间。

下降最快的方向为负梯度方向:

\[{d^{(k)}} = - \nabla f({x^{(k)}}){d^{(k)}} = - \nabla f({x^{(k)}}) \]

程序框图:

对于具体的求解过程,我一般喜欢用程序框图的方式来呈现:

例子:

这里给大家贴一个PPT上的手动求解的例子,通过手动求解的例子学习,有助于大家理解算法,进而去编程:

Matlab代码求解:

这里首先要说的是程序的结构:

其中,main函数为主函数去执行求解

Min_TD为最速下降算法实现,若要修改求解的函数,只需要在main函数中修改一下具体求解的表达式部分即可,

需要的可以下载下来进行学习。

(对于新手再提醒一下,main和Min_TD一定要放在同一个目录下才能正常执行哦!)

全套下载链接:包含文档、PPT、Matlab源代码等等:https://gitee.com/a_moment_of_dodge/optimization_theory_matlab

参考书目

最优化理论与算法(第二版) 陈宝林 编著

最优化理论Matlab

最速下降法:https://www.cnblogs.com/yuhuastone/p/12736609.html

牛顿法:https://www.cnblogs.com/yuhuastone/p/12814752.html


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi实现对注册表的监视和扫描[转]发布时间:2022-07-18
下一篇:
Delphi与DirectX之DelphiX(45):TDIB.DoAddMonoNoise();发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap