已知一货郎担问题的权矩阵,如图7-12所示。利用分枝限界的方法求出它的规约矩阵并找出一条最小周游路线。
时间: 2024-05-21 10:11:12 浏览: 130
货郎担限界算法A.rar_货郎_货郎担
由于这是一个货郎担问题,需要先将权矩阵转换为距离矩阵,即将各边的权值取倒数再求和。
$$
D=\begin{bmatrix}
0&1&1/2&1/3&1/4\\
1&0&1/3&1/2&1/3\\
1/2&1/3&0&1/2&1\\
1/3&1/2&1/2&0&1\\
1/4&1/3&1&1&0
\end{bmatrix}
$$
接下来利用分枝限界算法求解最小周游路线:
1. 初始化:将起点作为当前节点,将所有未访问的节点加入候选节点列表中。
2. 对候选节点列表中的每个节点,计算从起点到该节点的路径长度,并将其加入路径长度列表中。如果该节点是终点,将该路径长度和路径加入最优解列表中。
3. 对路径长度列表按照从小到大的顺序排序。
4. 对路径长度列表中的每个路径,取出最后一个节点作为当前节点,并从候选节点列表中删除该节点。
5. 将当前节点的所有未访问的邻居节点加入候选节点列表中。
6. 如果候选节点列表为空,则该路径为一条无解路径,将其从路径长度列表中删除。
7. 如果路径长度列表不为空,则返回步骤3。
最终得到最优解为:1-2-5-4-3-1,长度为2.5。规约矩阵为:
$$
M=\begin{bmatrix}
\infty&1&1/2&1/3&1/4\\
1&\infty&1/3&1/2&1/3\\
1/2&1/3&\infty&1/2&1\\
1/3&1/2&1/2&\infty&1\\
1/4&1/3&1&1&\infty
\end{bmatrix}
$$
阅读全文