用途:该技能面向旅行商问题(TSP)与组合优化,目标是找到访问每个城市恰好一次并返回起点的最短路线,最小化总距离或时间。
主要能力:先做问题评估,包括城市数量、对称或非对称、度量方式(欧氏距离、行驶时间、成本)、特殊约束(如时间窗)、问题规模(小于20城市可用精确方法,20至100城市用高级精确或较好启发式,100至1000城市需元启发式,超过1000城市用专门算法)、是否要求最优解、可接受的最优性差距与时间限制、单条或多条路线、数据格式(坐标或距离矩阵)。
方法:给出经典MTZ数学建模(决策变量x_ij与u_i、目标函数、出入度约束、子回路消除约束)以及DFJ替代建模。精确算法包括Held-Karp动态规划(时间复杂度O(n^2*2^n),适合n≤20)与基于PuLP的MTZ混合整数规划(适合约50至100城市)。构造式启发式包括最近邻、多起点最近邻、最便宜插入与最远插入。改进启发式包括2-opt局部搜索及其带提前停止的优化版本。
使用方式:资料提供Python代码示例,依赖numpy、itertools、pulp等,可直接调用相应函数并传入距离矩阵,返回最优或近似成本与路线。
适用场景:物流配送、路线规划、巡游顺序优化等需要最短巡回路径的问题。
限制:资料未提供具体收费、价格、平台支持或效果保证;精确算法随规模增长计算量急剧上升,大规模问题需依赖启发式,解的质量与运行时间存在权衡。