算法笔记七之TSP问题(动态规划)【应试版】

提示:本文章不含代码,纯应试解题~(中国地质大学(武汉)研究生算法考试题目)


前言

旅行商问题(Traveling Salesman Problem,简称TSP)是一个经典的组合优化问题。这个问题可以描述为:一个旅行商需要从某个城市出发,经过所有其他城市恰好一次后,最终返回到出发城市,目标是找到总行程最短的路径。

其实,旅行商问题就像是在玩一个复杂的迷宫游戏,目标是找到一条最短的路线,但是这个迷宫有很多层,每一层都有不同的路线选择,找到最短的那条路需要很多计算和一些聪明的策略。


提示:以下是本篇文章正文内容

一、问题描述

对于TSP问题,我们一般会有一个有向图,有向图的每一个结点可以看成是一个个的城市,比如下图就有0,1,2,3四个城市,权值代表代价。
在这里插入图片描述
为了便于计算,我们需要把上述有向图转化成矩阵描述形式,有:

[ 0 3 6 7 5 0 2 3 6 4 0 2 3 7 5 0 ] (3) \left[ \begin{matrix} 0& 3 & 6&7 \\ 5& 0 & 2 &3\\ 6& 4 & 0&2\\ 3&7&5&0 \end{matrix} \right] \tag{3} 0563304762057320 (3)
TSP问题的动态规划方程为:

在这里插入图片描述

二、求解TSP问题

首先从城市0出发经过城市1,2,3,然后回到城市0的最短路径长度为:
d ( 0 , { 1 , 2 , 3 } ) = m i n { c 01 + d ( 1 , { 2 , 3 } ) , c 02 + d ( 2 , { 1 , 3 } ) , c 03 + d ( 3 , { 1 , 2 } ) } d(0,\{1,2,3\})=min\{c_{01}+d(1,\{2,3\}),c_{02}+d(2,\{1,3\}),c_{03}+d(3,\{1,2\})\} d(0,{ 1,2,3})=min{ c01+d(1,{ 2,3}),c02+d(2,{ 1,3}),c03+d(3,{ 1,2})}

但是,上式中 d ( 1 , { 2 , 3 } ) 、 d ( 2 , { 1 , 3 } ) 、 d ( 3 , { 1 , 2 } ) d(1,\{2,3\})、d(2,\{1,3\})、d(3,\{1,2\}) d(1,{ 2,3})d(2,{ 1,3})d(3,{ 1,2})都是未知的,所以要一层一层剥开~

我们一个一个进行求解:
d ( 1 , { 2 , 3 } ) = m i n { c 12 + d ( 2 , { 3 } ) , c 13 + d ( 3 , { 2 } ) } d(1,\{2,3\})=min\{c_{12}+d(2,\{3\}),c_{13}+d(3,\{2\})\} d(1,{ 2,3})=min{ c12+d(2,{ 3}),c13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值