I have this following question. It is a question I got from past tests in a course called advanced algorithms. It is not a homework question I just want to understand the solution.
The question goes as follows: We are given a graph $G=(V,E)$ with a source node $s\in V$ and a value $d_v\geq 0$ for every $v\in V$, and with weight=capacity $c_e\geq 0$ for every edge $e\in E$. In this question when referring to a subset of V the meaning is a set $S \subseteq V$ s.t. $S \neq \emptyset,V$, and $P_v$ is a path in $G$ from the source node $s$ to $v$.
In the dual Problem there is a variable $y_S$ for each subset of nodes/vertices and a variable $z_{P_v}$ for each path $P_v$ in the Graph. The objective of the dual problem is to maximize the following expression:
$\sum\limits_{S \subseteq V} y_S + \sum\limits_{paths\\P_v} d_vz_{P_v}$
The constrains of the dual problem is that for every edge $e\in E$ must hold the following inequality:
$\sum\limits_{S \subseteq V\\s.t. e\in \partial_e(S)} y_S + c_e(\sum\limits_{paths\\e\in P_v} z_{P_v})\leq c_e$
The question has 3 sections:
Write the primal program. (solved this section).
what is the meaning of the whole/integral version of the primal problem?
explain how to solve the fraction version of the primal problem efficiently?
Things i tried but im not sure of:
- Because there is a definition of capacity in this question i thought it might be min cut max flow or someting similar but im not sure its relevant.
- Because of the way edge expansion is defined ($\partial_e(S)$) and how the primal program looks like I think the constraints might enforce connectivity on the solution but im not sure about this either.