需求:
对一个随机产生的数组,需要随机分成几组。(机器调度分配任务,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)]
结果: