需求:
對一個隨機產生的數組,需要隨機分成幾組。(機器調度分配任務,10 job,4 machine)
實現:
- 生成長度爲10的隨機序列
rand_schedule = np.random.permutation(range(10)).tolist()
-
生成切片位置數組,共計4段,五個位置,中間三個隨機
slice_list = sorted(random.sample(range(10), 4 - 1), reverse=False) slice_list.insert(0, 0) slice_list.append(10)
-
按照切片位置數組對隨機工序數組進行切割
sliced_schedule = [rand_schedule[slice_list[i]: slice_list[i + 1]] for i in range(len(slice_list) - 1)]
結果: