I am trying to compare the performance of some algorithms for multiway number partitioning. I run them on randm instances that I generate with Python's numpy:
values = np.random.randint(1,1000, 100000)
Then I run the algorithm for partitioning the values into 10 bins. But in all instances that I try, the simple greedy number partitioning algorithm returns an optimal partition (all sums are the same up to 1).
- What is a dataset of large real-world number partitioning problems, that are hard (that is, cannot be solved easily by exhaustive search or by a greedy algorithm)?
- How can one generate such large instances randomly?