VBA产生柯西分布随机数CauchyRand
智能算法中除了经常用到正态分布的随机数外,还经常需要另外一种分布随机数产生器,那就是柯西分布,柯西分布可以有较大的概率跳出局部最优,加大搜索范围,不少改进的进化算法都引入了柯西分布随机数来对算法进行改进,CnHUP曾经在VBA产生正态分布随机数NormalRand中实现了相关的代码,这里再使用VBA实现柯西分布随机数的产生,函数名为CauchyRand。具体VBA代码如下:
阅读全文 >
智能算法中除了经常用到正态分布的随机数外,还经常需要另外一种分布随机数产生器,那就是柯西分布,柯西分布可以有较大的概率跳出局部最优,加大搜索范围,不少改进的进化算法都引入了柯西分布随机数来对算法进行改进,CnHUP曾经在VBA产生正态分布随机数NormalRand中实现了相关的代码,这里再使用VBA实现柯西分布随机数的产生,函数名为CauchyRand。具体VBA代码如下:
阅读全文 >
差分进化算法DE与粒子群优化算法PSO都是属于群体的启发式算法。DE的变异算子有利于增加全局搜索能力,保证种群的多样性;交叉算子并进行选择可以提高局部搜索能力,加快收敛速度;选择算子具有一定的记忆能力,能够保留优秀个体。PSO在种群多样性有保障的情况下,可以较好地探索求解区域,收敛速度也比较快。这里融合DE与PSO各自的特色鲜明的算子,以期可以提高优化算法的性能。具体操作步骤如下:
阅读全文 >
动态概率粒子群优化算法是没有速度更新公式的PSO算法,它采用概率的方法而非传统的轨迹方法生成新一代粒子的位置,获得了与其它出色的改进相当的效果。
在动态概率PSO算法中,高斯动态PSO算法的性能表现较好,其粒子位置更新公式如下:
阅读全文 >
VBA内部有许多有用的内建函数,但对于好些常规任务(或常见的问题)仍然需要编写自定义函数,这些问题是比较通用的。如检查一个文件是否存在等。
这里包括了6个非常有用自定义VBA函数,你可以简单的复制这些代码到你的模块中,以备方便调用。
这些函数包括:
阅读全文 >
水文工具集站点曾描述一种自适应算法参数的差分进化算法,通过增加个体维度来自适应算法控制参数,这里给出另外一种差分进化算法自适应控制参数的方式。
阅读全文 >