Archive for '博客'

VBA产生柯西分布随机数CauchyRand

智能算法中除了经常用到正态分布的随机数外,还经常需要另外一种分布随机数产生器,那就是柯西分布,柯西分布可以有较大的概率跳出局部最优,加大搜索范围,不少改进的进化算法都引入了柯西分布随机数来对算法进行改进,CnHUP曾经在VBA产生正态分布随机数NormalRand中实现了相关的代码,这里再使用VBA实现柯西分布随机数的产生,函数名为CauchyRand。具体VBA代码如下:
阅读全文 >

基于差分进化与粒子群优化的混合优化算法

差分进化算法DE与粒子群优化算法PSO都是属于群体的启发式算法。DE的变异算子有利于增加全局搜索能力,保证种群的多样性;交叉算子并进行选择可以提高局部搜索能力,加快收敛速度;选择算子具有一定的记忆能力,能够保留优秀个体。PSO在种群多样性有保障的情况下,可以较好地探索求解区域,收敛速度也比较快。这里融合DE与PSO各自的特色鲜明的算子,以期可以提高优化算法的性能。具体操作步骤如下
阅读全文 >

混沌优化算法

混沌优化算法(Chaos Optimization Algorithm),是又一种新的全局性优化算法,其理论基础是混沌的遍历性。

混沌是一种普遍的非线性现象,其行为复杂且类似随机,但其有精致的内在规律性。由于混沌的遍历性,利用混沌变量进行优化搜索会比盲目无序的随机搜索更具有优越性,它可以避免演化算法陷入局部最优的缺点。
阅读全文 >

高斯动态粒子群优化算法

动态概率粒子群优化算法是没有速度更新公式的PSO算法,它采用概率的方法而非传统的轨迹方法生成新一代粒子的位置,获得了与其它出色的改进相当的效果。

在动态概率PSO算法中,高斯动态PSO算法的性能表现较好,其粒子位置更新公式如下
阅读全文 >

6个简单而有用的VBA自定义函数

VBA内部有许多有用的内建函数,但对于好些常规任务(或常见的问题)仍然需要编写自定义函数,这些问题是比较通用的。如检查一个文件是否存在等。

这里包括了6个非常有用自定义VBA函数,你可以简单的复制这些代码到你的模块中,以备方便调用。

这些函数包括:
阅读全文 >

又一种自适应控制参数的差分进化算法

水文工具集站点曾描述一种自适应算法参数的差分进化算法,通过增加个体维度来自适应算法控制参数,这里给出另外一种差分进化算法自适应控制参数的方式。
阅读全文 >

两阶段遗传算法

现实生活中无论是复杂优化系统还是其他领域的优化问题,对精度的研究具有很高的应用价值。

理论上,当所考虑的优化问题存在最优解时便一定能够求出精确的值,但在实际问题中,由于模型的提炼过程存在理论误差、数据的欠缺存在信息误差、认知观念的不同存在认识偏差等等,因而常常考虑的是优化问题的满意解。从直观的角度来看,优化问题变量变化范围与解的精度具有密切的联系,当优化变量的变化范围较大时,便很难求出精度较高的满意解,而当变量的变化范围很小时,则易于求出精度较高的满意解。
阅读全文 >