From ce6da17be4acc49272d6665588930ab8f16a8bba Mon Sep 17 00:00:00 2001
From: msurl <masur101@hhu.de>
Date: Sun, 7 Jun 2020 22:00:07 +0200
Subject: [PATCH] added optional argument to choose type of constraints to use

---
 .../k_hop_dominating_set_gurobi/cli.py         | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/python/conda package/k_hop_dominating_set_gurobi/k_hop_dominating_set_gurobi/cli.py b/python/conda package/k_hop_dominating_set_gurobi/k_hop_dominating_set_gurobi/cli.py
index cf7f62f..c18d842 100644
--- a/python/conda package/k_hop_dominating_set_gurobi/k_hop_dominating_set_gurobi/cli.py	
+++ b/python/conda package/k_hop_dominating_set_gurobi/k_hop_dominating_set_gurobi/cli.py	
@@ -19,24 +19,22 @@ def cli(args=None):
         help='parameter k of the k hop dominating set',
         type=int
     )
-#    p.add_argument(
-#        '-i', '--iterations',
-#        help='maximum number of iterations',
-#        const = float("inf"),
-#        type = float
-#    )
     p.add_argument(
         '-g', '--graph',
         help="input graph as .lp file")
+    p.add_argument(
+        '-mtz', 
+        action='store_true',
+        help='use Miller-Tucker-Zemlin constraints to ensure connectivity (default is a lazy approach using vertex separators)')
     
     args = p.parse_args(args)
     
-    # do something with the args
-    # print("CLI template - fix me up!")
     G = lp_to_nx_graph.read(args.graph)
-    ds = k_hop_dom_set.RootedConnectecKHopDominatingSet(G, args.k)
+    if args.mtz:
+        ds = k_hop_dom_set.RootedConnectecKHopDominatingSet(G, args.k, constraints = k_hop_dom_set.ConnectivityConstraint.MILLER_TUCKER_ZEMLIN)
+    else:
+        ds = k_hop_dom_set.RootedConnectecKHopDominatingSet(G, args.k)
     
-    # ds.solve_and_draw(iterations = args.iterations)
     ds.solve_and_draw()
 
     # No return value means no error.
-- 
GitLab