The problem is that add_edge() never clears boolvar - it is
always true, even when I coerce redundant edges, as in the following
code:
the problem is that your graph allows parallel edges, therefor the
adding always succeeds. you would have to check for existing edges via
out_edges(va).
cheers,
moritz