Skip to content

Commit c73b1bd

Browse files
Fix for safety and >= edges
1 parent adf7b87 commit c73b1bd

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

flowpaths/abstractwalkmodeldigraph.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
class AbstractWalkModelDiGraph(ABC):
1010
# storing some defaults
1111
optimize_with_safe_sequences = True
12-
optimize_with_safe_sequences_allow_geq_constraints = True
12+
optimize_with_safe_sequences_allow_geq_constraints = False
1313
# TODO: optimize_with_subset_constraints_as_safe_sequences = True
1414
optimize_with_safety_as_subset_constraints = False
1515
optimize_with_max_safe_antichain_as_subset_constraints = False
@@ -365,12 +365,13 @@ def _apply_safety_optimizations(self):
365365
# print("Fixing variables for safe list #", i)
366366
# iterate over the edges in the safe list to fix variables to 1
367367
for u, v in self.walks_to_fix[i]:
368-
if self.G._is_scc_edge(u, v) and self.optimize_with_safe_sequences_allow_geq_constraints:
369-
self.solver.add_constraint(
370-
self.edge_vars[(u, v, i)] >= 1,
371-
name=f"safe_list_u={u}_v={v}_i={i}",
372-
)
373-
self.solve_statistics["edge_variables>=1"] += 1
368+
if self.G._is_scc_edge(u, v):
369+
if self.optimize_with_safe_sequences_allow_geq_constraints:
370+
self.solver.add_constraint(
371+
self.edge_vars[(u, v, i)] >= 1,
372+
name=f"safe_list_u={u}_v={v}_i={i}",
373+
)
374+
self.solve_statistics["edge_variables>=1"] += 1
374375
else:
375376
self.solver.add_constraint(
376377
self.edge_vars[(u, v, i)] == 1,

0 commit comments

Comments
 (0)