遗传算法:
遗传算法包含遗传、变异和选择三个流程。个体编码常用无符号的二进制整数来表示。具体步骤包括:构造一定规模的初始种群,计算适应度决定遗传的概率,遗传运算(常用轮盘赌法),交叉运算(按概率发生片段交换)、变异运算(较小概率随机发生突变,防止陷入局部最优)。
模拟退化算法:
?源于固体退火原理,基于蒙特卡洛(MonteCalro)法迭代求解测量的一种随机寻优的算法。在某一初温下,伴随温度不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解。
? ? 模拟退火包括加温、等温和冷却(退火)过程。设定初始值,进行蒙特卡洛模拟新状态,优化状态完全接受,也以一定概率接受劣化状态(防止局部最优),直到得到满足要求的解。这种方法本质还是随机求解法,计算量大,时间长。
蚁群算法:
是一种用来在图中寻找优化路径的几率型算法,源于蚂蚁在寻找食物过程发现最优路径的行为。典型的应用是用于解决旅行商问题(Travelingsalesman problem, TSP)。
算法的一般步骤:
(a) 初始化参数:开始时每条边的信息素量都相等;
(b)将各只蚂蚁随机放置各个顶点;
(c) 依次选取蚂蚁周游所有顶点,计算转移概率(由每条边的信息素和启发因子决定,启发因子为路阻的倒数),以轮盘赌法决定下一个顶点,计算蚂蚁留在各边的信息素,更新信息素表。
(d)计算各边的信息素增量,记录本次迭代的路径,更新当前最优路径,清空信息素表。
(e) 迭代运行,终止条件:最大迭代次数或停滞现象。
粒子群算法(pso):
源于对鸟群捕食行为的研究,求解过程是从随机解出发,通过迭代寻找最优解,通过适应度评价解的品质。
粒子群算法的一般过程:
(a)随机初始化一组微粒(问题可行解),包括随机位置和速度;
(b)评价每个微粒的适应度;
(c)根据个体极值和群体极值来更新当前位置。
(d)重复(b)和(c),记录下每个粒子每次迭代的位置和适应度,直至找到最优解。