旅行推销员问题(Travelling Salesman Problem, TSP)是指:已知一系列城市及城市间的距离,需要制定一条路线,使推销员从一座城市出发,路过每一座城市且每座城市只路过一次,最终回到一开始出发的那座城市。总路程越短的路线,则是越优的方案。

首先是要引入OR-Tools的cp_model模块。

然后根据各个城市间的距离,构建出一个距离关系的矩阵。矩阵的行和列均按相同的顺序表示着城市,矩阵的元素表示两个城市间的距离。

接着就是把约束创建出来,添加到模型中。然后用解决器将问题解决。

打印问题的详细情况。

打印解决方案。

这样就完成了。

以下是完整代码: