电厂对城市的最优分配电厂、最优、分配、城市

2023-09-11 06:11:47 作者:守一座空城 等一个旧人#

我已经搜索谷歌和堆栈溢出的答案,我的问题,但我不能找到一个。

I've searched both Google and Stack Overflow for an answer to my problem but I can't find one.

我需要找到一个城市的电网优化配置。这座城市重新被连通图psented $ P $。我想分发电厂之间的一些这些节点,以弥补电网所有的人。的问题是,每个发电厂具有一定范围(它只能覆盖例如以半径两个节点)。我的节目需要找到发电厂和它们的位置的最小数目以覆盖整个城市。

I need to find the optimal distribution for the power network of a city. The city is represented by a connected graph. I want to distribute power plants among some of those nodes in order to cover all of them in the electrical grid. The problem being that every power plant has a certain "range" (it can only cover for example in a "radius" of two nodes). My program needs to find the minimum number of power plants and their locations to cover the entire city.

我知道,从我的搜索,它应该与MST的(最小生成树),但问题是在发电厂有限的范围内。

I know from my searches that it should be related to MST's (minimum spanning trees) but the problem is in the limited range of the power plants.

我想过该节点电厂的范围内,经过的每个节点城市和计算包含所有节点的子图,直到我找到一个涵盖了大部分未被覆盖的节点,然后继续这样做,直到整个城市被覆盖(基本上是暴力破解的问题),但似乎很不切实际,我想知道是否有解决这个问题的任何其他更有效的方法。

I've thought about going through every node in the city and calculate the sub-graph containing all nodes within the range of a power plant in that node until I find the one that covers the most uncovered nodes and then keep doing that until the entire city is covered (basically brute forcing the problem) but that seems very unpractical and I was wondering if there is any other more effective way to solve this problem.

感谢。

推荐答案

不幸的是,这个问题被称为是NP难题通过从控制集的问题。

Unfortunately, this problem is known to be NP-hard by a reduction from the dominating set problem.

给定一个图G,一个主导G中设置一组节点D,使得在图中每个节点是在D或被一个来自四跳程找到的最小支配集的曲线图是所述的问题已知是NP难,而这个问题很容易降低你正在试图解决一个:给定一个图G,产生城市(重新psented作为一个图$ P $)具有相同的结构,G,然后给每电厂1半径(这意味着它可以覆盖节点及其所有邻居)。找到最小的集合电厂以覆盖整个城市然后最终产生一个主导为图形集。因此,你的问题是NP难。

Given a graph G, a dominating set in G is a set of nodes D such that every node in the graph is either in D or is one hop away from D. The problem of finding the smallest dominating set in a graph is known to be NP-hard, and this problem easily reduces to the one you're trying to solve: given a graph G, produce a city (represented as a graph) that has the same structure as G, then give every power plant a radius of 1 (meaning that it can cover a node and all its neighbors). Finding the smallest set of power plants to cover the entire city then ends up producing a dominating set for the graph. Therefore, your problem is NP-hard.

正如本节中的维基百科页面的,事实证明,这个问题令人惊讶的是很难接近。维基百科页面列出了一些算法和方法近似,但它似乎是那些NP难的问题,抵抗多项式时间近似方案之一。

As mentioned in this section of the Wikipedia page, it turns out that this problem is surprisingly hard to approximate. The Wikipedia page lists a few algorithms and approaches for approximating it, but it appears to be one of those NP-hard problems that resists polynomial-time approximation schemes.

希望这有助于!