Circle Cutting

Circle cutting case-study graph builder.

asunder.nlbnp.case_studies.circle_cutting.build_circle_cutting_graph(num_circles, num_rectangles, dimensions)

Build a circle-cutting constraint graph used in benchmark experiments.

Parameters:
  • num_circles (int) – Number of circles in problem instance.

  • num_rectangles (int) – Number of rectangles in problem instance.

  • dimensions (list[str]) – Dimensions to be considered (2D or 3D) in problem instance (e.g., ["x", "y"]).

Returns:

  • G (nx.Graph) – Input NetworkX graph.

  • constraint_labels (dict[str, str]) – Maps constraint labels to their full name.

  • var_to_constraints (dict[str, str]) – Maps variables to a list of constraints they are present in.