运筹学经典问题(七):旅行商问题(TSP)

问题描述

给定一系列城市和每对城市之间的距离,求解访问每座城市一次并回到起始城市的最短回路。

在这里插入图片描述

数学建模

集合:
V V V:城市集合
S S S:城市子集合

常量:
c i j c_{ij} cij:城市 i i i到城市 j j j之间距离, i ≠ j i \neq j i=j

变量:
x i j x_{ij} xij:是否从城市 i i i走到城市 j j j

∑ i ∈ V ∑ j ∈ V , j ≠ i c i j x i j s . t . ∑ i ∈ V , i ≠ j x i j = 1 , ∀ j ∈ V ∑ j ∈ V , j ≠ i x i j = 1 , ∀ i ∈ V ∑ i , j ∈ S x i j ≤ ∣ S ∣ − 1 , 2 ≤ ∣ S ∣ ≤ n − 1 , S ⊆ V \sum_{i \in V}\sum_{j \in V,j \neq i} c_{ij}x_{ij} \\ s.t. \sum_{i \in V, i \neq j} x_{ij} = 1, \forall j \in V \\ \sum_{j \in V, j \neq i} x_{ij} = 1, \forall i \in V \\ \sum_{i,j \in S}x_{ij} \leq \vert S\vert - 1, 2 \leq\vert S\vert\leq n-1,S\subseteq V iVjV,j=icijxijs.t.iV,i=jxij=1,jVjV,j=ixij=1,iVi,jSxijS1,2Sn1,SV

  1. 目标函数表示最小化旅行距离;
  2. 第一个约束表示每个城市只能进入一次;
  3. 第二个约束表示每个城市只能出发一次;
  4. 第三个约束是去除子环路的约束,仅允许所有点都被包含进来的子环存在。

参考资料

  1. 运筹优化常用算法、模型及案例实战:Python+Java 实现. 刘兴禄,熊望祺,臧永森,段宏达,曾文佳,陈伟坚.
  2. 旅行推销员问题
  3. Traveling with a Quantum Salesman
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值