持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,点击查看活动详情
前言
遗传算法是模拟生物进化过程的一类优化搜索算法,在解决全局最优问题上有着很强的适用性。
旅行商问题(Traveling salesman problem)简称TSP,是组合优化问题的典型代表,在运筹学中有着重要地位,如物流配送、车辆路径规划。求解此类问题的策略就是寻找相对最优的解。遗传算法就是一种组合优化算法,通过模拟生物进化过程来找到最优的种族。利用遗传算法来解决TSP这类大规模寻最优解问题具有一定的优势。
1 TSP问题
TSP问题是指给定一系列城市的位置,一个旅行商从其中一个城市出发,遍历所有城市并回到出发的城市,要求每个城市只能访问一次,如何规划路径才能得到路程最短的遍历路径。假设城市数量为n,那么TSP问题的解空间含有n!个解,路径条数随着城市数量的增多呈现指数增长。
2 遗传算法
遗传算法是由密歇根大学的霍兰德(Holland)教授于1975年首次提出。遗传算法模仿了生物的进化过程,在不断地进化迭代后不断逼近最优解,是进行全局优化的计算新方法。
遗传算法求最优解可以分为以下几个个步骤:
- 编码
- 初始种群的产生
- 适应度函数的确定
- 遗传算子
- 选择算子
- 交叉算子
- 变异算子
- 停止准则
遗传算法是一种反复迭代的搜索方法,利用遗传算法来进行大规模问题组合优化是一种比较有效的方法,但遗传算法在收敛精度、可信度、计算复杂性等方面缺乏有效的定量分析。