我试图确定一个有效的,使用有向图的最大流算法,给定n个航班的列表(其中每个条目都有起始城市,结束城市,出发时间,到达时间,和航班容量),将尽可能多的人从城市A出发,到城市B结束。我还希望能够返回可以乘坐的航班集,以便尽可能多的人从城市A到达城市B。我认为它可以只是Ford-Fulkerson算法的一个实现,或者类似的东西,但是我遇到了麻烦,无法以有效的方式将这个时间表转换成最大流实例,特别是在这样做之后所述算法的伪代码会是什么样子。
您正在考虑的算法是正确的,但是它所要处理的图形必须正确地构造。
你的问题是时机问题。假设您想在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
您可以在这里看到,您可以填满所有航班,并及时得到从a
到C
的200个航班,但构建图需要考虑时间。
我建议您不要用一个节点来表示B
,而是使用几个节点:
(B,11:00)
-B
11:00时。(B,12:00)
-B
12: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响应, 我已经通过将负载平衡器直接连接到容器上