Solving the multi-dimensional knapsack problem with an advanced algorithm