动态优化笔记(一)

动态优化

-----the dynamic optimization problem(DOP)

相对于求解函数极值这类静态问题,许多存在于真实世界的优化问题都是在动态变化的,这一类问题被称为动态优化问题,或动态环境优化问题。在这类问题中,目标函数约束条件帕累托前沿等都有可能随着时间进行变化。这一类动态优化问题比静态问题更有难度,随着时间推移,我们必须对一个问题进行重复优化。
动态优化问题的定义如下:

在这里插入图片描述
S是搜索空间
f是目标函数在时间t的取值
X(t)是在时间t的一组可行解
动态优化问题也可根据解向量的取值情况分为离散的和连续的,如下:
在这里插入图片描述

优化目的

我们应该能够在任何时间,追踪到问题的最优值(近似值)。这需要我们在每次环境发生变化后,算法能快速收敛到全局最优,并且不被之前优化解所困而陷入局部最优。对于算法的性能测量,可以用离线性能(在K个时间段内的最优值相加的均值;offline performance)等,也可以从“算法在每次变化后得到的最优值与实际最优相距多少”,离线误差(offline error),准确度(Accuracy)等。
一般来说,算法的性能指标,可以分为基于最优值的和基于行为的,以上就是基于最优值的测量。而基于行为的测量,可以从解得多样性、稳定性、鲁棒性、交叉熵(不懂)、峰的覆盖、λ-branching(不懂)等几个方面取值。另外的性能指标,可以从评估算法跟踪和定位可行解的能力来进行评价。
当然,这些大部分是对于单目标来说的,对于多目标还有更多的性能测量方式。

Benchmark

1.The moving peaks 移动峰问题—MPB
2.The generalized dynamic benchmark generator —GDBG
3.The exclusive-or (XOR) DOP generator for binary-encoded problems
4.The dynamic benchmark generator for permutation-encoded problems

动态优化笔记(一)_第1张图片
前两个benchmark在连续域中,通过调整参数来使得山峰(函数峰值)进行移动。一般来说,MPB应用的更多一些,而GDBG是在MPB的基础上提出的一种新的动态问题,它包含许多的rotated optima(暂时不懂 应该是通过一些自旋),GDBG包含八种不同的变化方式和六种基础的测试函数,下面是八种变化
1.small step change,小步
2.large step change, 大步
3.random change, 随机
4.chaotic change,混乱
5.recurrent change,周期的
6.recurrent change with noise,带有干扰的周期变化
7.dimensional change 维度
8.number of peaks change. 峰的数量

启发式算法(基于种群)

------Swarm intelligence algorithms

随着社会发展,优化的问题越来越复杂(NP),经典的优化算法遇到许多瓶颈,如经典算法一般使用局部信息例如单个初始点及所在导数等,使得经典算法无法避免局部极小问题。启发式算法相对于最优算法可定义为:一个基于直观经验构造的算法,在可接受的花费(计算时间、占用空间等)下给出待解决组合优化问题每个实例的一个可行解,该可行解与最优解的偏离程度不一定事先可预计。这类算法一般来源于自然启发,例如PSO、ABC、GA;

动态环境下的智能算法

智能集群类算法一般是为静态问题设立的,所达到的要求或目的,一般是为了将种群快速收敛到全局的最优点,而在动态环境中则不行。目标函数的峰值在不断变化,我们不能只是为了在某一刻收敛到最优,而是要求时刻追踪到最优值的变化。所以当我们用这些算法时,一旦收敛,则种群多样性降到最低,无法继续进行朝着新的优化目标追踪,但多样性如果过多也会影响算法执行。另一方面,当我们重新朝着新的优化目标迭代时,我们是否要利用先前的解向量(knowledge transfer)。如果变化发生前后的目标函数有相似性,那么我们应该去适当保留一些历史信息,但是如果保存的过多,也会导致算法早熟收敛。
动态优化笔记(一)_第2张图片


以下为个人所看所想,不保证正确性

我看的大部分都是应用于连续域的算法,PSO、DE、GA、ABC、BFA这些。NSGA-2也有看,不过现在想想也忘了,记性不好。这些算法在动态环境下的改进也看了一些,暂时先记录下。

1. 近期看的PSO的改进 (PSO-HE)
经典PSO收敛速度快,很容易收敛,放在动态环境下会造成多样性损失,主要是增加多样性。
演变方式变化:使用一个随机解替代Pbest,产生的新的解向量X(t+1)用于替换种群中最差的解,目的是为了使随机选择的解选到差解的概率降低。下图是新的速度更新公式在这里插入图片描述
使用多种群的方法增加多样性,种群数量是固定的;全局最优解向量在两代的中取值不同来检测变化,存储N个历史最优值,在检测到变化时,根据一定概率选取一部分进行重新初始化。
其性能与CPSO;PSO-CP;MSPSO;JDE;CDDE_Ar等算法作比较,效果较好。它的基于历史指导的方式,是在环境变化平滑,前后有重叠区域的假设上,如果变化规模大,效果并不好。
2. jDE
将经典差分演化算法中的F和CR两个参数做自适应改进,对多代未改进的值进行初始化(设置age参数);多种群,以最优解为子种群代表,加入同峰判断(根据代表的欧式距离);保存历代最优解,50%的几率用于重新初始化;下面是自适应因子的公式。
动态优化笔记(一)_第3张图片
Fu和Fl是通过别的作者和一些实验数据得来的,加入了随机性。
3. 多种群细菌觅食算法MBFO
在细菌算法上加了多种群和同峰判断,通过子种群最优值的不同代取值不同 来判断变化发生,发生变化则重新评估种群全部个体。
4. DBFA
细菌觅食操作可以分为以下几个动作,(1)趋向(2)复制(3)迁移(4)聚集,趋向代表了算法的 探究能力(exploitation),复制操作加快了算法的收敛速度,迁移用来探测(exploration),聚集用来调节相对适应值。DBFA主要改进了复制操作,经典的细菌算法是通过对相对适应值排序,保留前2/N个个体并复制来加快收敛速度,这不适用于动态环境,DBFA引入了轮盘赌的选择机制,通过以下公式动态优化笔记(一)_第4张图片
Ji代表i个体第j次趋向第r次复制的适应值,进行排序后,计算出新的Wi概率,所有个体的Wi相加应等于1;通过这种方式来决定复制留下的个体,一定程度上增加了多样性。
5. 基于蜜蜂生命周期的ABC算法
从蜜蜂的整个生命过程出发,设置出生和死亡条件,自适应种群的大小
动态优化笔记(一)_第5张图片
动态优化笔记(一)_第6张图片
在这里插入图片描述
设置新的参数营养梯度Nutrition根据真实适应值计算,标准化过后计算出新的F(i,t),根据这个F是否大于或小于设置的阈值来判断是否新增或者删除某个个体。新产生的个体通过在这里插入图片描述
来得到新的位置。阈值也是根据种群的大小自适应的,随着时间t的增加,出生和死亡的数量会得到增加。导致的效果就是好的解变多,坏的解越来越容易被淘汰。这个算法再改进过后,感觉上应该是更快的收敛了,没有感觉到多样性增加,不太利于动态环境。

总的来说目前对于动态环境中的这些种群算法,都是要防止收敛,在变化发生后,增加种群的多样性,或在演化过程中,随时保持一定的多样性。一般的方法也就是调参使得参数自适应或者利用多种群增加多样性。对于特别的问题,例如变化比较平滑,幅度不大,可以保留一些历史信息来提高收敛速度。关于动态多目标和动态约束问题等到下次再说8。

引用

  • A collaboration-based particle swarm optimizer with history-guided estimation for optimization in dynamic environments,Leilei Cao , Lihong Xu , Erik D. Goodman
  • Dynamic Optimization using Self-Adaptive Differential EvolutionJanez Brest, Member, IEEE, Aleˇs Zamuda, Student Member, IEEE, Borko Boˇskovi´c, Student Member, IEEE,
    Mirjam Sepesy Mauˇcec, and Viljem ˇZumer, Member, IEEE
  • Multi-Bacterial Foraging Optimization for Dynamic Environments
  • Bacterial Foraging Algorithm For Dynamic Environments,W. J. Tang, Q. H. Wu, Senior Member, IEEE, and J. R. Saunders
  • Artificial Bee Colony Optimizer Based onBee Life-Cycle for Stationary and Dynamic Optimization Hanning Chen, Lianbo Ma, Maowei He, Xingwei Wang, Xiaodan Liang, Liling Sun, and Min Huang
  • A survey of swarm intelligence for dynamic optimization: Algorithms and
    applications,Michalis Mavrovouniotis, Changhe Li, Shengxiang Yang

你可能感兴趣的:(智能算法)