Given a weighted graph, find a Hamiltonian cycle (a cycle visiting every vertex exactly once) with the minimum total edge weight.