(一)优化算法简介
- 组合优化问题(Combinatorial Optimization Problem, COP),是从有限或无限的可数集合中,寻找一个最优的目标,而这个目标可以是整数、子集、排序、分组、图形等。
典型的组合优化问题有:旅行商问题、背包问题、车辆路径问题、网络设计问题等。
组合优化算法的求解算法:
(1)精确算法:只能求解较小规模的组合优化问题的最优解。
(2)近似算法(启发式算法):在可行的计算时间内寻找优化问题的一个较优解,这个解可能是全局最优解,也可能只是局部最优解,而如何避免求得局部最优解是启发式算法关注的重点问题之一。 - 2-opt,即2-optimization,在同一条路径中,交换两个元素的位置(其余元素的位置保持不变),尝试求得最优解。2-opt最初是用于解决TSP问题的。
- swap,在两条路径中,交换两个元素的位置。
- TSP问题(Travel Salesman Problem):单一旅行者从起点城市出发,通过所有给定的城市位置之后,最后回到出发点,求其最短路径和最短路径长度。经典图片:
- VRP问题(Vehicle Routing Problem):存在一定数量的客户,各自有不同数量的货物需求,配送中心向客户提供货物,由一个车队负责分送货物,组织适当的行车路线,目标是使得客户的需求得到满足,并能在一定的约束下,达到诸如路程最短、成本最小、耗费时间最少等目的。经典图片:
可以将VRP的一个部分,看作是添加了装卸货物的TSP问题。也就是说,TSP问题是VRP问题的一个特例。 - 粒子群算法(PSO)