一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第4天,点击查看活动详情。
1 禁忌搜索算法(广义邻域搜索算法)
1.1 核心思想:
产生一个当前解,用一定的方式产生它的邻域解,邻域解组成一个集合,称为候选解集。然后,在候选解集中选择最好的解与当前解进行比较。
1.2 特赦准则
考虑是否满足特赦准则:也就是解不受限于它的禁忌长度,只要满足特赦准则就可以从禁忌列表里面释放出来。继续参与正常的更新迭代。
1.3 禁忌属性:
可以禁忌完整的解,也可以禁忌解的部分向量,还可以禁忌某一目标值对应的所有解。
2 模拟退火算法
2.1 核心思想:
由当前状态产生一个新状态,然后比较一下当前状态与新状态。如果新状态比当前状态好:一定替换。如果新状态比当前状态差:以一定概率替换。
2.2 循环的设计
内循环:在一个温度下抽样很多次。外循环:不同温度下的抽样。
3 遗传算法
以种群的形式并行进行搜索。
3.1 重要操作:
根据问题,把问题空间转换为算法空间(编码工作) 问题评估,并计算适应值(解码)
3.2 编码原则:
- 编出的每一条染色体代表解空间的一个可行解。
- 根据编码规则编出的染色体能够代表解空间的所有解。
4 蚁群算法
在算法的进行过程中为蚂蚁构造路径(即在算法进行过程中才完成解的构造),而不是像之前直接就产生初始解。构造完每一条路以后,更新每条路上信息素的量。
5 广义邻域搜索算法构造要素
- 搜索机制选择:搜索框架;不同算法每一次迭代的做法不同
- 搜索方式选择:单个个体去搜索;群体去搜索
- 邻域函数设计:产生新状态
- 状态更新方式设计:更新公式
- 控制参数的修改准则和方式的选择:自适应参数设置
- 算法终止准则的设计:什么时候停?迭代次数;解多少代不改变;进入精度范围内;
6 优化算法性能评价指标
- 优化性指标:好,能不能找到最优解,每次算出来的解距离问题最优解有多近
- 时间性能指标:快
- 鲁棒性指标:稳,每一次运算结果是不是都很不错(鲁棒性指标在动态问题中比较常用)