This program allows users to either generate a random graph or extract the optimal solution of a graph from a `.dot` file. It provides the following functionalities:
1.**Generate a Random Graph**: Users can specify the number of nodes, edges, and labels to generate a random graph.
1.**Generate a Random Graph**: Users can specify the number of nodes, edges, and labels to generate a random, deterministic, and connected graph. This is achieved using the `generateRandomGraph` function in `Graph.cpp`.
2.**Extract Optimal Solution from a .dot File**: Users can provide a `.dot` file to extract and optimize the graph.
After generating the graph or loading it from a file, the program performs the following steps: