I am given a graph $G=(V,E)$ undirected and two vertices, the source vertex $s$ and the target vertex $t$. Additionally, each edge comes with a capacity $c(e)$ (non-negative) and a set of weight functions $w_1(e),...,w_k(e)$. To simplify things, assume these weight functions are non-negative as well. I am also given a set of upper bounds $l_1 ,...,l_k$.
The weight of a set of edges under any $w_i$ is additive. Denote $\tilde{E}$ as the set of edges (from the original graph) with positive flow (not back edges with the reverse flow, and not edges with a flow of zero). I would like to find the maximal flow between $s$ and $t$ such that $w_i (\tilde{E} ) \leq l_i$ for all indices $i$.
In other words, I am trying to find a flow under constraints for the edges that are being used.
I'm assuming this problem, as described, might be too hard to tackle. In this case, some assumptions can be made:
- $c(e) = 1$ for all edges.
- The goal is to find a flow $|f| > 1$, but it does not have to be maximal, only non-trivial.
If this is still too hard, we can assume that $k=1$ and, for an edge, there is only the capacity and the weight. (I'm interested in the case of several weight functions, but if that approach is too hard, also a single weight function, and perhaps that idea can be generalized).