source - knapsack with 2opt 3opt neighborhood functions