当前位置: 首页 > 知识库问答 >
问题:

高效的最大流量算法将尽可能多的人路由到一个地点?

公羊浩气
2023-03-14

我试图确定一个有效的,使用有向图的最大流算法,给定n个航班的列表(其中每个条目都有起始城市,结束城市,出发时间,到达时间,和航班容量),将尽可能多的人从城市A出发,到城市B结束。我还希望能够返回可以乘坐的航班集,以便尽可能多的人从城市A到达城市B。我认为它可以只是Ford-Fulkerson算法的一个实现,或者类似的东西,但是我遇到了麻烦,无法以有效的方式将这个时间表转换成最大流实例,特别是在这样做之后所述算法的伪代码会是什么样子。

共有1个答案

太叔昊苍
2023-03-14

您正在考虑的算法是正确的,但是它所要处理的图形必须正确地构造。

你的问题是时机问题。假设您想在14:00前将a的乘客送到C,我们总共有4个航班:

1号航班:A->B,10:00->11:00,上限。100
航班2:A->B,11:00->12:00,上限。100
航班3:B->C,11:30->12:30,上限。100
航班4:B->C,12:30->13:30,上限。100

您可以在这里看到,您可以填满所有航班,并及时得到从aC的200个航班,但构建图需要考虑时间。
我建议您不要用一个节点来表示B,而是使用几个节点:

(B,11:00)-B11:00时。
(B,12:00)-B12:00时。
(B,12:30)-3号航班起飞时。
(B,13:30)-4号航班起飞时。

可以从B出发的任何航班都将被添加到图形中一次,从相关的B节点开始。

b节点以时间向前移动的顺序连接到具有无限容量的边中的其他b节点。这允许乘客在b中的不同时间之间“等待”。

此示例将以以下边缘列表结束:

//飞行边沿
[(A,10:00),(B,11:00)],上限。100
[(A,11:00)(B,12:00)],上限。100
[(B,11:30)(C,12:00)],上限。100
[(B,12:30),(C,13:00)],cap.100

//等待边沿
[(B,11:00),(B,11:30)],cap。无限
[(B,11:30),(B,12:00)],cap.无限
[(B,12:00),(B,12:30)],cap.无限的

 类似资料:
  • 我试着解决一个关于最大流量问题的问题。我有一个源和两个汇。我需要在这个网络中找到一个最大流量。这部分是一般最大流量。然而,在这种特殊的最大流问题中,两个目标必须得到相同的流量。 有没有人能帮助我,我该怎么做呢?

  • 主要内容:Min-Max算法的工作人工智能中的最小最大算法: Mini-max算法是一种递归或回溯算法,用于决策和博弈论。它为玩家提供了一个最佳的动作,假设对手也在玩最佳状态。 Mini-Max算法使用递归来搜索游戏树。 Min-Max算法主要用于AI中的游戏。如Chess,Checkers,tic-tac-toe,go和各种拖车玩家游戏。该算法计算当前状态的最小极大决策。 在该算法中,两个玩家玩游戏,一个叫做MAX,另一个叫做M

  • 我们有Zuul和Eureka在我们的kubernetes集群上运行。Zuul在Eureka注册。 我启动了一个名为“资源服务”的新服务,这将正确启动并注册到Eureka,所有服务都启动了。 当我试图访问Zuulendpoint以访问“resource-service”时,我得到以下错误。看起来Zuul不能映射到Resource-service,即使Resource-service注册了Eureka

  • 我在VPC上有一个极光数据库。今天我需要通过lambda连接到数据库。这并不是一个问题,只是我需要在Lambda中访问互联网,所以我必须设置以下内容: 我为公共NAT添加了新的子网。 我添加了NAT网关,并将其分配给新的EIP和新的子网。 我添加了一个新的路由表,该表将所有流量路由到并将该表与在步骤1中创建的新子网相关联。 我修改了路由表,并将所有流量路由到NAT。

  • 很少的要求。 在发布你的答案之前,请!! 确保函数不会对其他数据产生错误,模拟几个类似的矩阵。(关掉种子) 确保你的功能比我的快 确保你的函数和我的完全一样,在不同的矩阵上模拟它(关闭种子) 举个例子 目前我已收到多达5个答案,但没有一个适合上述任何一点: ======================================================函数在逻辑矩阵的第一列中查找,如果

  • 我正在测试gke入口以将流量路由到两个不同的服务。我的部署包括一个基本的Web容器,它部署了一个默认的蓝色网页和一个绿色网页。我能够得到响应本质上,“/”适用于蓝色或绿色部署。但是当我转到超文本传输协议:///绿色时,我得到了404响应。我已经用“/”作为绿色部署进行了测试,它显示了一个绿色网页。但是如果我转到超文本传输协议:///蓝色,它会导致404响应, 我已经通过将负载平衡器直接连接到容器上