运筹学——图论与最短距离(Python实现)(2)

2 案例1——贪心算法实现

2.1 旅行商问题(TSP)

2.2 案例

2.3 Python实现

2.4 结果

3 案例2——图论及最短距离

3.1 知识点

3.2 networkx绘图

3.2.1 创建图

3.2.2 定点的添加、删除和查看

3.2.3 边的添加、删除和查看

3.3 案例

3.4 Python实现

3.5 结果 ​

4 参考


1 概述

====

1.1 贪心算法


贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近似。

**基本思路:**从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快的地求得更好的解。当达到算法中的某一步不能再继续前进时,算法停止。

该算法存在问题:(1)不能保证求得的最后解是最佳的;(2)不能用来求最大或最小解问题;

(3)只能求满足某些约束条件的可行解的范围。

实现该算法的伪代码:

从问题的某一初始解出发;

while 能朝给定总目标前进一步 do

求出可行解的一个解元素;

由所有解元素组合成问题的一个可行解;

1.2 图论及求解最短距离


1.2.1 方法选择:

(1)需要求解任意两个节点之间的最短距离,使用 Floyd 算法;

(2)只要求解单源最短路径问题,有负权边时使用 Bellman-Ford 算法,没有负权边时使用 Dijkstra 算法;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值