selecao06 wrote:
Hi there,
I'm wondering if anyone here is able to identify the following problem
better than I've done so far, specifically, I'm interested in finding
out if there are known cuts or valid inequalities out there that I
haven't come accross. We've been able to find some cuts here, but only
for a much weaker model of this problem (basically a capacitated
fixed-charge network). I want cuts for the strong version below,
though.
Here it is: I have a directed graph G={V,E} - very simple, a grid (the
set E connects each vertex to its 4 neighboring vertecies, the edges go
both ways for each 'connection').
Does this mean that between adjacent nodes i and j there are two
separate arcs, one in each direction, or do you mean that all edges are
undirected (in which case it's an undirected graph)?
I have a set of 'terminal sets' (for
simplicity let's consider pairs only) that belong to V (we call these
'nets'). Consider the 2-net problem: 4 vertices, 2 sets, 2 nets.
Sorry, I'm lost on the distinction between "set" and "net", although I
don't think it will affect my answer here.
The
goal is to find connecting 'traces' (sets of vertices) that do not
intersect. This is like wiring an electrical circuit.
So far we've decided to go with a flow formulation. We have flow
variables 'f^k_e' and connectivity variables 'c^k_e', where 'f^k_e = 1'
means there is a flow between vertices i and j (that is, on 'edge e')
for a particular net k, and 'c^k_e = 1' means there is a connection
that allows it for net k. So the first constraint is 'f^k_e >= c^k_e'
Do you mean f^k_e <= c^k_e?
(you see the capacitated network here). Flow constraints are imposed
on the vertices: \sum_N(i-) f_e = D_i (N(i-): sum performed over the 4
neighbors into i, D_i the 'demand' at a sink terminal = -1, or the
'supply' at a source terminal = +1, and 0 if not a terminal). The
reason for the c^k_e is: \sum_k \sum_N(i-) c^k_e <= 1 (for all e)
prevents different nets (k) from crossing (at most one k has a '1'
c^k_e going into vertex i). This constraint makes the problem quite
difficult to solve and (for me at least) to classify. Finally \sum_k
c^k_e go in the objective, c \in {0,1}, f \in [0,1].
Please excuse the liberties I've taken with the notation.
So any takers? Any references would be very appreciated.
Well, I'm not sure, but I think you've got something akin to a
multicommodity network flow with a side constraint that at most one
commodity flows across any arc/edge. So you might try Googling
multicommodity + network + "edge-disjoint" and see if anything useful
pops up. (I tried this myself, but I'm in a coffee shop with a
connection that could use a serious jolt of caffeine, if you know what I
mean. Before things timed out, I did see some promising hits.)
/Paul