optimize the structure of the Solution.
add a method to calculate the median list in ascending order for each customer.
add a greedy neighborhood for reassignment.