#pragma once
#include "rng.hpp"
#include "solution.hpp"

// Cycle-based edge swap (first improvement, random pair order).
// Adds a non-solution edge, finds the cycle it creates in the tree,
// and removes the costliest edge from that cycle (respecting degree d).
// Returns true if any improvement was made.
bool vnd2(Solution& sol, int d, RNG& rng);
bool vnd2bi(Solution& sol, int d, RNG& rng);
