You will need both a working version of Graph, FromCSVFile, and Set for this assignment. However, if your implementation of Dijkstra's, MST, or 2-opt do not work there is no need to fix them for this assignment.
For this assignment, you will be implementing the Held-Karp algorithm inside the function HeldKarpTSP in the dyn.go file. Due to the limitation of the Go programming language's map data structure, Sets cannot be used as a key which is a requirement for the algorithm. Instead I have provided a workaround in the form the HistoryEncoder struct. You can be used it to encode the contents of the Set as a fixed-length array of booleans, which is a valid key in Go. Feel free to modify the HistoryEncoder or use a different workaround, it provided for your convenience and its use is not required.
Again, you can assume the graph is fully connected.