c++分治法求最大最小值实现_最优化计算与matlab实现(11)——无约束多维极值问题——信赖域法...

2929421877acb677185338cf7c1c0b86.png

参考资料

《精通MATLAB最优化计算(第二版)》

编程工具

Matlab 2019a

目录

石中居士:最优化计算与Matlab实现——目录​zhuanlan.zhihu.com
19e80b21b78fa1f08b70cc243c1a35b1.png

信赖域法

  • 原理

信赖域法是一种比较复杂但是十分有效的优化算法,它通过在信赖域内求解一个二次规划来得到可行点。在每个可行点

处,在给定信赖域半径
下通过求解下面的子问题得到搜索方向:

在得到搜索方向后,再对信赖域半径进行修正。

  • 算法步骤

用信赖域法求无约束多维极值问题

的算法步骤如下:

【1】给定可行点

,信赖域半径
,参数
及精度
,并令

【2】计算梯度

,其中
为函数
在点
处的梯度;若
,停止,极小点为
,否则转【3】;

【3】求解下面的子问题:

设最优解为

,令

【4】如果

,令
,否则

【5】按下式修改信赖域半径:

【6】置

,转【2】。
  • Matlab代码与试算

用信赖域法求函数

的极小值,取初始信赖域半径
,初始点
,初始参数

test.m

syms 

Trust_Region_Method.m

function

命令行窗口

Minimum 

输出的警告信息是代码中的函数quadprog的求解输出信息。可以看出信赖域法成功求得目标函数的极小值。对于一般的无约束优化问题,信赖域方法是一种比较有效的方法。而其中信赖域半径的选取对算法的好坏有着很大的影响。


a11550d669a544565eaecaccfcb7cf00.png

目录

石中居士:最优化计算与Matlab实现——目录​zhuanlan.zhihu.com
79ceb2de3435a4e91514c0d92f702859.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值