对于一个多元函数 用牛顿法求其极小值的迭代格式为 其中 为函数 的梯度向量, 为函数 的Hesse(Hessian)矩阵。 上述牛顿法不是全局收敛的。为此可以引入阻尼牛顿法(又称带步长的牛顿法)。 我们知道,求极值的一般迭代格式为 其中 为搜索步长, 为搜索方向(注意所有的迭代格式都是先计算搜索方向,再计算搜索步长,如同瞎子下山一样,先找到哪个方向可行下降,再决定下几步)。 取下降方向 即得阻尼牛顿法,只不过搜索步长 不确定,需要用线性搜索技术确定一个较优的值,比如精确线性搜索或者Goldstein搜索、Wolfe搜索等。特别地,当 一直取为常数1时,就是普通的牛顿法。
2023-01-06 04:32:48 115KB 牛顿 牛顿法
1
对于一个多元函数,用最速下降法(又称梯度下降法)求其极小值的迭代格式为 其中为负梯度方向,即最速下降方向,αkαk为搜索步长。 一般情况下,最优步长αkαk的确定要用到线性搜索技术,比如精确线性搜索,但是更常用的是不精确线性搜索,主要是Goldstein不精确线性搜索和Wolfe法线性搜索。 为了调用的方便,编写一个Python文件,里面存放线性搜索的子函数,命名为linesearch.py,这里先只编写了Goldstein线性搜索的函数,关于Goldstein原则,可以参看最优化课本。 线性搜索的代码如下(使用版本为Python3.3): ''' 线性搜索子函数 ''' import n
2022-12-12 16:36:33 161KB matlab函数 python python函数
1
本程序基于VB语言实现了函数逼近法求极值点,最终结果保存在access数据表中
2022-11-09 23:48:06 33KB VB 最优化原理 函数逼近法
1
此算法利用泰勒公式展开,提供的代码中,在自己设置的系数处做了相应注释。通过判断二阶导数值来确定一阶导数方向。但一旦初始点与极小值点之间有极大值点可能会不收敛,依赖导数,搜索方向为函数下降方向。
2022-10-07 16:34:42 2KB MATLAB Optimization
1
MATLAB遗传算法(GA) 文件pp.m:一元函数求极值 文件pp1.m:二元函数求极值
2022-05-17 09:09:13 2KB MATLAB 遗传算法 GA 函数求极值
1
蚁群算法, 解决了最优化问题,可用于路劲规划,求解最小值,该程序matlab语言 是太阳能光伏发电系统(Solar power system)的简称,是一种利用太阳电池半导体材料的光伏效应,将太阳光辐射能直接转换为电能的一种新型发电系统,有独立运行和并网运行两种方式。
2022-04-12 19:54:51 3.47MB matlab 蚁群算法
1
一个用C语言设计的求极值程序,利用费波那楔数列
2021-12-10 12:52:06 488B C 语言 源码 求极值
1
根据自然计算课程里面,说的遗传算法自己编的,可用。编码,交叉互换,基因突变,解码过程都有详细的注释。这个是matlab编的,出图也很方便。
2021-11-15 10:08:57 3KB 自然计算 遗传算法 多目标 极值
1
主要描述了用黄金分割法求极值的c语言程序代码,程序清晰明了,通俗易懂,适合初学者。
2021-10-12 12:51:11 24KB 黄金分割法
1
用matlab编程实现了目标函数求极值的几种方法,包括实验原理、步骤、结果分析以及完整代码。
1