Given an undirected weighted graph, G, where all the weights are non-zero positive numbers, my algorithm must produce a sub-graph G' that satisfies the following constraints:

  1. G' must include all the vertices of G.
  2. All vertices must be connected to at least one vertex of G'. In other words the edges of G' must cover all the vertices of G'.
  3. The total weights of all edges in G' must be as low as possible.

In other words, this is the minimum weighted edge cover problem.

So, my question is, in terms of time complexity with respect to the number of vertices and edges, what is the fastest known algorithm for finding the correct answer?

What I've done so far:

I've found some resources online, but they often seem to say contradictory things.

I was able to find one post that pointed out that this problem can be reformulated as a maximum matching problem (see here).

In that case, I've found references to Edmond's Algorithm, which can run in O(V^2*E) or O(V^3) time. There are references to improved versions of this algorithm, but as far as I can tell, these only deal with unweighted graphs, not weighted ones. So, as far as the known solutions go, is O(V^2*E) or O(V^3) time complexity the best we can get?

  • $\begingroup$ Did you look in Schrijver's book on combinatorial optimization? $\endgroup$ – Chandra Chekuri Oct 19 '16 at 1:50
  • $\begingroup$ I don't have access to it without buying it, at the moment, but I've found a similar textbook I can get online for free through my University. I'll be reading through it later today. $\endgroup$ – Nimrand Oct 19 '16 at 2:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.